Managed Service for Apache Kafka クラスタを作成して表示する

トピックを含む Managed Service for Apache Kafka クラスタを作成し、クラスタの詳細を表示する方法について説明します。このチュートリアルは、 Google Cloud コンソールまたは Google Cloud CLI を使用して完了できます。

始める前に

コンソール

  1. ログイン Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、 新しいアカウントを登録します

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Managed Kafka API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Managed Kafka API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

gcloud

  1. ログイン Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、 新しいアカウントを登録します

  2. Google Cloud CLI をインストールします。

  3. 外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

  4. gcloud CLI を初期化するには、次のコマンドを実行します:

    gcloud init
  5. プロジェクトを作成または選択します Google Cloud

    プロジェクトを選択または作成するために必要なロール

    • プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトを選択できます。
    • プロジェクトを作成する: プロジェクトを作成するには、プロジェクト作成者ロール (roles/resourcemanager.projectCreator)が必要です。これには resourcemanager.projects.create 権限が含まれています。ロールを付与する方法を確認する
    • プロジェクトを作成する: Google Cloud

      gcloud projects create PROJECT_ID

      PROJECT_ID は、作成する Google Cloud プロジェクトの名前に置き換えます。

    • 作成した Google Cloud プロジェクトを選択します。

      gcloud config set project PROJECT_ID

      PROJECT_ID は、実際の Google Cloud プロジェクト名で置き換えます。

  6. このガイドで既存のプロジェクトを使用する場合は、 このガイドを完了するために必要な権限があることを 確認します。新しいプロジェクトを作成した場合は、 必要な権限がすでに付与されています。

  7. プロジェクトに対して課金が有効になっていることを確認します Google Cloud 。

  8. Managed Kafka API を有効にします。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を通じてこの権限が付与されている可能性があります。それ以外の場合は、サービス使用管理者ロール(roles/serviceusage.serviceUsageAdmin)を通じてこの権限を取得できます。ロールを付与する方法を確認する

    gcloud services enable managedkafka.googleapis.com
  9. Google Cloud CLI をインストールします。

  10. 外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

  11. gcloud CLI を初期化するには、次のコマンドを実行します:

    gcloud init
  12. プロジェクトを作成または選択します Google Cloud

    プロジェクトを選択または作成するために必要なロール

    • プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトを選択できます。
    • プロジェクトを作成する: プロジェクトを作成するには、プロジェクト作成者ロール (roles/resourcemanager.projectCreator)が必要です。これには resourcemanager.projects.create 権限が含まれています。ロールを付与する方法を確認する
    • プロジェクトを作成する: Google Cloud

      gcloud projects create PROJECT_ID

      PROJECT_ID は、作成する Google Cloud プロジェクトの名前に置き換えます。

    • 作成した Google Cloud プロジェクトを選択します。

      gcloud config set project PROJECT_ID

      PROJECT_ID は、実際の Google Cloud プロジェクト名で置き換えます。

  13. このガイドで既存のプロジェクトを使用する場合は、 このガイドを完了するために必要な権限があることを 確認します。新しいプロジェクトを作成した場合は、 必要な権限がすでに付与されています。

  14. プロジェクトに対して課金が有効になっていることを確認します Google Cloud 。

  15. Managed Kafka API を有効にします。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限が必要です。プロジェクトを作成した場合は、オーナーロール(roles/owner)を通じてこの権限が付与されている可能性があります。それ以外の場合は、サービス使用管理者ロール(roles/serviceusage.serviceUsageAdmin)を通じてこの権限を取得できます。ロールを付与する方法を確認する

    gcloud services enable managedkafka.googleapis.com

必要なロール

クラスタの作成に必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

クラスタの作成

コンソール

  1. [Managed Service for Apache Kafka] > [Clusters] ページに移動します。

    [クラスタ] に移動

  2. [Create] をクリックします。
  3. [クラスタ名] フィールドに、クラスタの名前を入力します。
  4. [リージョン] リストで、クラスタのロケーションを選択します。
  5. [**ネットワーク構成**] で、クラスタにアクセスできるサブネットを構成します。
    1. [プロジェクト] で、該当するプロジェクトを選択します。
    2. [**ネットワーク**] で、VPC ネットワークを選択します。
    3. [**サブネット**] で、サブネットを選択します。
    4. [完了] をクリックします。
  6. [作成] をクリックします。

[作成] をクリックすると、クラスタの状態が Creating になります。クラスタの準備が完了すると、状態は Active になります。

gcloud

Kafka クラスタを作成するには、 managed-kafka clusters create コマンドを実行します。

gcloud managed-kafka clusters create KAFKA_CLUSTER \
--location=REGION \
--cpu=3 \
--memory=3GiB \
--subnets=projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \
--async

次のように置き換えます。

  • KAFKA_CLUSTER: Kafka クラスタの名前
  • REGION: クラスタのロケーション
  • PROJECT_ID: プロジェクト ID
  • SUBNET_NAME: クラスタを作成するサブネット(default など)

サポートされているロケーションについては、 Managed Service for Apache Kafka のロケーションをご覧ください

このコマンドは非同期で実行され、オペレーション ID を返します。

Check operation [projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID] for status.

作成オペレーションの進行状況を追跡するには、 gcloud managed-kafka operations describe コマンドを使用します:

gcloud managed-kafka operations describe OPERATION_ID \
  --location=REGION

クラスタの準備が完了すると、このコマンドの出力に state: ACTIVE エントリが含まれます。詳細については、 クラスタ作成オペレーションをモニタリングするをご覧ください。

これらの手順を完了してから、クラスタの準備が完了するまでに最大 30 分かかることがあります。

必要に応じて、このオペレーションの完了を待つ間に、次のステップに記載されているチュートリアル をご覧ください。さまざまな方法でクラスタのメッセージを生成する方法について説明しています。クラスタの準備が完了したら、これらのチュートリアルを完了できます。

トピックを作成する

Managed Service for Apache Kafka クラスタの準備が完了したら、トピックを作成します。

コンソール

  1. [Managed Service for Apache Kafka] > [クラスタ] ページに移動します。

    [クラスタ] に移動

  2. クラスタの名前をクリックします。

  3. クラスタの詳細ページで、 [トピックを作成] をクリックします。

  4. [トピック名] ボックスに、トピックの名前を入力します。

  5. [作成] をクリックします。

gcloud

Kafka トピックを作成するには、 managed-kafka topics create コマンドを実行します。

gcloud managed-kafka topics create KAFKA_TOPIC_NAME \
--cluster=KAFKA_CLUSTER \
--location=REGION \
--partitions=10 \
--replication-factor=3

次のように置き換えます。

  • KAFKA_TOPIC_NAME: 作成する Kafka トピックの名前
  • KAFKA_CLUSTER: Kafka クラスタの名前
  • REGION: Kafka クラスタを作成したリージョン

クラスタを表示する

クラスタの準備が完了したら、トピック、コンシューマー グループ、ネットワークなどのクラスタに関する情報を表示できます。

コンソール

  1. [Managed Service for Apache Kafka] > [クラスタ] ページに移動します。

    [クラスタ] に移動

  2. クラスタの名前をクリックします。[クラスタの詳細] ページに、クラスタに関する情報が表示されます。[リソース] タブには、トピックなど、クラスタに関連付けられたリソースが表示されます。

  3. トピックの詳細を表示するには、[リソース] タブを選択してトピック名をクリックします。[トピックの詳細] ページに、パーティションとレプリカの数など、トピックに関する情報が表示されます。

  4. [クラスタの詳細] ページに戻るには、 [親ページに戻る] をクリックします。

gcloud

  1. クラスタに関する情報を表示するには、 gcloud managed-kafka clusters describe コマンドを実行します。

    gcloud managed-kafka clusters describe KAFKA_CLUSTER \
      --location=REGION
    

    次のように置き換えます。

    • KAFKA_CLUSTER: クラスタの名前。
    • REGION: クラスタを作成したリージョン。

    このコマンドの出力は、次のようなクラスタ プロパティのリストです。

    bootstrapAddress: BOOTSTRAP_ADDRESS
    capacityConfig:
      memoryBytes: '3221225472'
      vcpuCount: '3'
    createTime: 'TIMESTAMP'
    
  2. クラスタ内のトピックのリストを取得するには、 gcloud managed-kafka topics list コマンドを実行します。

    gcloud managed-kafka topics list KAFKA_CLUSTER \
      --location=REGION \
      --format="value(name)"
    

    出力には、作成したトピックと、Managed Service for Apache Kafka が内部使用のために作成したトピックが含まれます。

  3. トピックに関する情報を表示するには、 gcloud managed-kafka topics describe コマンドを実行します。

    gcloud managed-kafka topics describe TOPIC_NAME \
      --cluster=KAFKA_CLUSTER \
      --location=REGION
    

    TOPIC_NAME は、トピックの名前に置き換えます。

    このコマンドの出力は、次のようなトピック プロパティのリストです。

     name: projects/PROJECT_ID/locations//clusters/KAFKA_CLUSTER/topics/TOPIC_NAME
     partitionCount: 10
     replicationFactor: 3
    

ブートストラップ アドレスを取得する

Kafka クライアントは、クラスタのブートストラップ アドレス を使用してクラスタとの接続を確立します。ブートストラップ アドレスを取得する手順は次のとおりです。

コンソール

  1. [Managed Service for Apache Kafka] > [クラスタ] ページに移動します。

    [クラスタ] に移動

  2. クラスタの名前をクリックします。

  3. [構成] タブを選択します。

  4. ブートストラップ URL は [ブートストラップ URL] に表示されます。[content_copy Copy] をクリックして 値をコピーします。

gcloud

ブートストラップ URL を取得するには、 managed-kafka clusters describe コマンドを実行します。

gcloud managed-kafka clusters describe KAFKA_CLUSTER \
  --location=REGION \
  --format="value(bootstrapAddress)"

次のように置き換えます。

  • KAFKA_CLUSTER: クラスタの名前。
  • REGION: クラスタを作成したリージョン。

これで、クラスタにメッセージを送信する準備ができました。詳細については、このドキュメントの次のステップをご覧ください。

クリーンアップ

このページで使用したリソースについて、アカウントに課金されないようにするには、リソースを含むプロジェクトを削除します。 Google Cloud Google Cloud

コンソール

クラスタを削除します。

  1. [Managed Service for Apache Kafka] > [クラスタ] ページに移動します。

    [クラスタ] に移動

  2. Kafka クラスタを選択し、[削除] をクリックします。

gcloud

  1. クラスタを削除するには、 gcloud managed-kafka clusters delete コマンドを使用します。

    gcloud managed-kafka clusters delete KAFKA_CLUSTER \
      --location=REGION --async
    

次のステップ

Kafka コマンドライン ツールを使用するか、合成データを生成するか、クライアント アプリケーションを作成して、Kafka のメッセージを生成します。