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 Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. 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 Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. 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 ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
    • プロジェクトを作成する: プロジェクトを作成するには、resourcemanager.projects.create 権限を含むプロジェクト作成者ロール(roles/resourcemanager.projectCreator)が必要です。ロールを付与する方法を確認する
    • 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 権限を含む Service Usage 管理者 IAM ロール(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 ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
    • プロジェクトを作成する: プロジェクトを作成するには、resourcemanager.projects.create 権限を含むプロジェクト作成者ロール(roles/resourcemanager.projectCreator)が必要です。ロールを付与する方法を確認する
    • 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 権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。ロールを付与する方法を確認する

    gcloud services enable managedkafka.googleapis.com

必要なロール

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

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

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

クラスタの作成

コンソール

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

    [クラスタ] に移動

  2. [ 作成] をクリックします。
  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] に表示されます。 [コピー] をクリックして値をコピーします。

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 のメッセージを生成します。