Google Cloud Managed Service for Apache Kafka クラスタを表示する

クラスタを表示するには、 Google Cloud コンソール、Google Cloud CLI、 クライアント ライブラリ、Managed Kafka API を使用します。オープンソースの Apache Kafka API を使用してクラスタを表示することはできません。

クラスタを表示するために必要なロールと権限

クラスタを表示するために必要な権限を取得するには、プロジェクトに対するManaged Kafka 閲覧者 roles/managedkafka.viewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには クラスタの表示に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

クラスタを表示するには、次の権限が必要です。

  • クラスタの一覧を取得する: managedkafka.clusters.list
  • クラスタの詳細取得: managedkafka.clusters.get

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

Managed Kafka 閲覧者ロールの詳細については、 Managed Service for Apache Kafka の事前定義ロールをご覧ください。

クラスタを表示する

クラスタを表示する手順は次のとおりです。

コンソール

  1. コンソールで、[クラスタ] ページに移動します。 Google Cloud

    [クラスタ] に移動

    プロジェクトで作成したクラスタが一覧表示されます。

  2. 特定のクラスタを表示するには、クラスタ名をクリックします。

  3. [クラスタの詳細] ページが開きます。このページには次のタブがあります。

    • リソース: クラスタに関連付けられたトピックとコンシューマー グループのリストが表示されます。
    • 構成: クラスタに関連付けられたサブネットのリストなど、クラスタの構成が表示されます。
    • モニタリング: クラスタに関連付けられたモニタリング アラートが表示されます。
    • ログ: ログ エクスプローラからクラスタに関連するログが表示されます。

gcloud

  1. コンソールで Cloud Shell をアクティブにします。 Google Cloud

    Cloud Shell をアクティブにする

    コンソールの下部にある Google Cloud Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です 。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています 。セッションが初期化されるまで数秒かかることがあります。

  2. gcloud managed-kafka clusters describe コマンドを実行します。

    gcloud managed-kafka clusters describe CLUSTER_ID \
        --location=LOCATION \
        --full
    

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

    • CLUSTER_ID: クラスタの ID または名前。
    • LOCATION: クラスタのロケーション。

    --full フラグは省略可能です。このフラグを指定すると、コマンド は、クラスタの ブローカーに関する情報や、クラスタが 実行している Kafka のバージョン番号など、追加情報を返します。

REST

リクエストのデータを使用する前に、 次のように置き換えます。

  • PROJECT_ID: あなたの Google Cloud プロジェクト ID
  • LOCATION: クラスタのロケーション
  • CLUSTER_ID: クラスタの ID
  • CLUSTER_VIEW: 返すメタデータの量。次のいずれかの値を指定します。

    • CLUSTER_VIEW_BASIC: クラスタの基本的なメタデータを返します。
    • CLUSTER_VIEW_FULL: クラスタのすべてのメタデータを返します。これには、クラスタのブローカーに関する情報や、クラスタが実行されている Kafka のバージョン番号が含まれます。

    指定しない場合、メソッドのデフォルトは CLUSTER_VIEW_BASIC です。

HTTP メソッドと URL:

GET https://managedkafka.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID?view=CLUSTER_VIEW

リクエストを送信するには、次のいずれかのオプションを展開します。

次のような JSON レスポンスが返されます。

{
  "name": "projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID",
  "createTime": "CREATE_TIME",
  "updateTime": "UPDATE_TIME",
  "capacityConfig": {
    "vcpuCount": "CPU_COUNT",
    "memoryBytes": "MEMORY"
  },
  "rebalanceConfig": {},
  "gcpConfig": {
    "accessConfig": {
      "networkConfigs": [
        {
          "subnet": "projects/PROJECT_ID/locations/LOCATION/subnetworks/SUBNET_ID"
        }
      ]
    }
  },
  "state": "ACTIVE",
  "satisfiesPzi": false,
  "satisfiesPzs": false,
  "tlsConfig": {
    "trustConfig": {}
  },
  "updateOptions": {}
}

Go

このサンプルを試す前に、 クライアント ライブラリをインストールするにある Go の設定手順を行ってください。詳細については、 Managed Service for Apache Kafka Go API リファレンス ドキュメントをご覧ください

Managed Service for Apache Kafka に対する認証を行うには、アプリケーションのデフォルト認証情報(ADC)を設定します。 詳細については、 ローカル開発環境の ADC の設定をご覧ください。

import (
	"context"
	"fmt"
	"io"

	"cloud.google.com/go/managedkafka/apiv1/managedkafkapb"
	"google.golang.org/api/option"

	managedkafka "cloud.google.com/go/managedkafka/apiv1"
)

func getCluster(w io.Writer, projectID, region, clusterID string, opts ...option.ClientOption) error {
	// projectID := "my-project-id"
	// region := "us-central1"
	// clusterID := "my-cluster"
	ctx := context.Background()
	client, err := managedkafka.NewClient(ctx, opts...)
	if err != nil {
		return fmt.Errorf("managedkafka.NewClient got err: %w", err)
	}
	defer client.Close()

	clusterPath := fmt.Sprintf("projects/%s/locations/%s/clusters/%s", projectID, region, clusterID)
	req := &managedkafkapb.GetClusterRequest{
		Name: clusterPath,
	}
	cluster, err := client.GetCluster(ctx, req)
	if err != nil {
		return fmt.Errorf("client.GetCluster got err: %w", err)
	}
	fmt.Fprintf(w, "Got cluster: %#v\n", cluster)
	return nil
}

Java

このサンプルを試す前に、 クライアント ライブラリをインストールするにある Java の設定手順を行ってください。詳細については、 Managed Service for Apache Kafka Java API リファレンス ドキュメントをご覧ください。

Managed Service for Apache Kafka に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の ADC の設定をご覧ください。

import com.google.api.gax.rpc.ApiException;
import com.google.cloud.managedkafka.v1.Cluster;
import com.google.cloud.managedkafka.v1.ClusterName;
import com.google.cloud.managedkafka.v1.ManagedKafkaClient;
import java.io.IOException;

public class GetCluster {

  public static void main(String[] args) throws Exception {
    // TODO(developer): Replace these variables before running the example.
    String projectId = "my-project-id";
    String region = "my-region"; // e.g. us-east1
    String clusterId = "my-cluster";
    getCluster(projectId, region, clusterId);
  }

  public static void getCluster(String projectId, String region, String clusterId)
      throws Exception {
    try (ManagedKafkaClient managedKafkaClient = ManagedKafkaClient.create()) {
      // This operation is being handled synchronously.
      Cluster cluster = managedKafkaClient.getCluster(ClusterName.of(projectId, region, clusterId));
      System.out.println(cluster.getAllFields());
    } catch (IOException | ApiException e) {
      System.err.printf("managedKafkaClient.getCluster got err: %s", e.getMessage());
    }
  }
}

Python

このサンプルを試す前に、 クライアント ライブラリをインストールするにある Python の設定手順を行ってください。詳細については、 Managed Service for Apache Kafka Python API リファレンス ドキュメントをご覧ください。

Managed Service for Apache Kafka に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、 ローカル開発環境の ADC の設定をご覧ください。

from google.api_core.exceptions import NotFound
from google.cloud import managedkafka_v1

# TODO(developer)
# project_id = "my-project-id"
# region = "us-central1"
# cluster_id = "my-cluster"

client = managedkafka_v1.ManagedKafkaClient()

cluster_path = client.cluster_path(project_id, region, cluster_id)
request = managedkafka_v1.GetClusterRequest(
    name=cluster_path,
)

try:
    cluster = client.get_cluster(request=request)
    print("Got cluster:", cluster)
except NotFound as e:
    print(f"Failed to get cluster {cluster_id} with error: {e.message}")

クラスタのプロパティとリソースを表示する

以降のセクションでは、Managed Service for Apache Kafka クラスタに関連付けられたさまざまなプロパティとリソースの詳細を取得する方法について説明します。

ブートストラップ アドレス

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

コンソール

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

    [クラスタ] に移動

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

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

  4. 認証に SASL を使用している場合、ブートストラップ URL は [mTLS ブートストラップ URL] に表示されます。

    認証に 相互 TLS (mTLS)を使用している場合、ブートストラップ URL は [mTLS ブートストラップ URL]に表示されます。

    [**コピー**] をクリックして 値をコピーします。

gcloud

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

認証に SASL を使用している場合は、次のコマンドを実行します。

gcloud managed-kafka clusters describe CLUSTER_ID \
  --location=LOCATION \
  --format="value(bootstrapAddress)"

認証に相互 TLS (mTLS)を使用している場合は、次のコマンドを実行します。

gcloud managed-kafka clusters describe CLUSTER_ID \
  --location=LOCATION \
  --format="value(bootstrapAddressMTLS)"

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

  • CLUSTER_ID: クラスタの ID または名前。
  • LOCATION: クラスタのロケーション。

SASL 認証と mTSL 認証の詳細については、 Kafka ブローカーの認証タイプをご覧ください。

ブローカー

クラスタ内のブローカーを表示するには、 Managed Service for Apache Kafka クラスタ内のブローカーを表示するをご覧ください。

コンシューマー グループ

コンシューマー グループは、さまざまなトピックからデータを消費するために連携するコンシューマーの セットです。クラスタのコンシューマー グループを表示するには、次のページをご覧ください。

サブネット

クラスタに接続されているサブネットを表示する手順は次のとおりです。

コンソール

  1. コンソールで、[クラスタ] ページに移動します。 Google Cloud

    [クラスタ] に移動

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

  3. [クラスタの詳細] ページで、[構成] タブをクリックします。 接続されているサブネットは [サブネット] に表示されます。

gcloud

  1. gcloud managed-kafka clusters describe コマンドを実行します。

    gcloud managed-kafka clusters describe CLUSTER_ID \
        --location=LOCATION \
        --format="yaml(gcpConfig.accessConfig.networkConfigs)"
    

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

    • CLUSTER_ID: クラスタの ID または名前。
    • LOCATION: クラスタのロケーション。

詳細については、 Managed Service for Apache Kafka のネットワーキングを構成するをご覧ください。

トピック

クラスタ内のトピックを表示するには、次のページをご覧ください。

次のステップ

Apache Kafka® は、Apache Software Foundation または米国その他の諸国における関連会社の商標です。