Managed Service for Apache Kafka クラスタを作成して表示する
トピックを含む Managed Service for Apache Kafka クラスタを作成し、クラスタの詳細を表示する方法について説明します。このチュートリアルは、 Google Cloud コンソールまたは Google Cloud CLI を使用して完了できます。
始める前に
コンソール
-
Google アカウントにログインします。
Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
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.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.
gcloud
-
Google アカウントにログインします。
Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
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 プロジェクトの名前に置き換えます。
-
このガイドで既存のプロジェクトを使用する場合は、このガイドを完了するために必要な権限があることを確認します。新しいプロジェクトを作成した場合は、必要な権限がすでに付与されています。
Managed Kafka API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。ロールを付与する方法を確認する。gcloud services enable managedkafka.googleapis.com
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
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 プロジェクトの名前に置き換えます。
-
このガイドで既存のプロジェクトを使用する場合は、このガイドを完了するために必要な権限があることを確認します。新しいプロジェクトを作成した場合は、必要な権限がすでに付与されています。
Managed Kafka API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。ロールを付与する方法を確認する。gcloud services enable managedkafka.googleapis.com
必要なロール
クラスタの作成に必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
マネージド Kafka クラスタ編集者 (
roles/managedkafka.clusterEditor) -
マネージド Kafka トピック編集者 (
roles/managedkafka.topicEditor) -
Compute ネットワーク ユーザー (
roles/compute.networkUser)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
クラスタの作成
コンソール
- [Managed Service for Apache Kafka] > [クラスタ] ページに移動します。
- [ 作成] をクリックします。
- [クラスタ名] フィールドに、クラスタの名前を入力します。
- [リージョン] リストで、クラスタのロケーションを選択します。
-
[ネットワーク構成] で、クラスタにアクセス可能なサブネットを構成します。
- [プロジェクト] で、該当するプロジェクトを選択します。
- [ネットワーク] で、VPC ネットワークを選択します。
- [サブネット] でサブネットを選択します。
- [完了] をクリックします。
- [作成] をクリックします。
[作成] をクリックすると、クラスタの状態が 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: プロジェクト IDSUBNET_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 クラスタの準備ができたら、トピックを作成します。
コンソール
[Managed Service for Apache Kafka] > [クラスタ] ページに移動します。
クラスタの名前をクリックします。
クラスタの詳細ページで、 [トピックを作成] をクリックします。
[トピック名] ボックスに、トピックの名前を入力します。
[作成] をクリックします。
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 クラスタを作成したリージョン
クラスタを表示する
クラスタの準備が完了すると、トピック、コンシューマー グループ、ネットワークなどのクラスタに関する情報を表示できます。
コンソール
[Managed Service for Apache Kafka] > [クラスタ] ページに移動します。
クラスタの名前をクリックします。[クラスタの詳細] ページには、クラスタに関する情報が表示されます。[リソース] タブには、トピックなど、クラスタに関連付けられたリソースが表示されます。
トピックの詳細を表示するには、[リソース] タブを選択し、トピック名をクリックします。[トピックの詳細] ページには、パーティションとレプリカの数など、トピックに関する情報が表示されます。
[クラスタの詳細] ページに戻るには、 [親ページに戻る] をクリックします。
gcloud
クラスタに関する情報を表示するには、
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'クラスタ内のトピックのリストを取得するには、
gcloud managed-kafka topics listコマンドを実行します。gcloud managed-kafka topics list KAFKA_CLUSTER \ --location=REGION \ --format="value(name)"出力には、作成したトピックと、Managed Service for Apache Kafka が内部使用のために作成するトピックが含まれます。
トピックに関する情報を表示するには、
gcloud managed-kafka topics describeコマンドを実行します。gcloud managed-kafka topics describe TOPIC_NAME \ --cluster=KAFKA_CLUSTER \ --location=REGIONTOPIC_NAMEは、トピック名に置き換えます。このコマンドの出力は、次のようなトピック プロパティのリストです。
name: projects/PROJECT_ID/locations//clusters/KAFKA_CLUSTER/topics/TOPIC_NAME partitionCount: 10 replicationFactor: 3
ブートストラップ アドレスを取得する
Kafka クライアントは、クラスタのブートストラップ アドレスを使用してクラスタとの接続を確立します。ブートストラップ アドレスを取得する手順は次のとおりです。
コンソール
[Managed Service for Apache Kafka] > [クラスタ] ページに移動します。
クラスタの名前をクリックします。
[構成] タブを選択します。
ブートストラップ 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 プロジェクトを削除します。
コンソール
クラスタを削除します。
[Managed Service for Apache Kafka] > [クラスタ] ページに移動します。
Kafka クラスタを選択し、[削除] をクリックします。
gcloud
クラスタを削除するには、
gcloud managed-kafka clusters deleteコマンドを使用します。gcloud managed-kafka clusters delete KAFKA_CLUSTER \ --location=REGION --async
次のステップ
Kafka コマンドライン ツールを使用するか、クライアント アプリケーションを作成して、Kafka のメッセージを生成します。