GKE Enterprise のスナップショットを Google サポートと共有する

Google Cloud 外の登録済みクラスタで問題が発生し、お客様自身で解決できない場合は、クラスタのスナップショットを作成してチームと共有するように求められる場合があります。このページでは、そうした情報を Google Cloud サポートと共有する方法について説明します。

Google Cloud サポートがアップロードしたクラスタのスナップショットを表示することを許可する

サポートケースによっては、影響を受けるクラスタのスナップショットを作成し、Google Cloud サポートチームに提供する必要が生じる場合があります。スナップショットをメールで送信する代わりに、ファイルを Cloud Storage バケットにアップロードして、そのバケットへのアクセスをチームに許可できます。ストレージ バケットへのアクセス権を付与するには、gcloud storage コマンドに必要な Identity and Access Management 権限で必要な権限を確認します。

クラスタのスナップショットを作成する

スナップショットを作成するプロセスは、クラスタのタイプによって異なります。

  • GKE on AWS(以前の世代): スナップショットを作成するの手順に沿って操作します。
  • VMware 上の Google Distributed Cloud デプロイ: Cloud Storage バケットにスナップショットをアップロードするの手順に沿って、クラスタ スナップショットを作成し、そのクラスタ スナップショットを Cloud Storage バケットにアップロードします。出力のスナップショットの場所をメモしてください。
  • ベアメタル上の Google Distributed Cloud デプロイ: デフォルトのスナップショットを作成する方法の手順に沿って、クラスタ スナップショットを作成し、そのクラスタ スナップショットを Cloud Storage バケットにアップロードします。この手順では、Google Cloud サポートにバケットへのアクセスを許可する方法も説明されています。
  • 接続クラスタ: こちらのスクリプトを、スナップショットを作成するためのリファレンスとして使用します。

Google Cloud サービス アカウントを作成する

サポートチームが使用する専用の Google Cloud サービス アカウントを作成します。これを行うには、次のコマンドを実行します。

gcloud services enable connectgateway.googleapis.com --project=PROJECT_ID
gcloud beta services identity create --service=connectgateway.googleapis.com --project=PROJECT_ID

ここで:

  • PROJECT_ID は、クラスタ スナップショットのストレージ バケットのプロジェクト ID です。

Google Cloud サポートとアクセス権を共有する

お客さまのケースでサポートチームが使用する専用の Google Cloud サービス アカウントに、バケットのストレージ オブジェクトに対する読み取り専用アクセスを許可します。これを行うには、次のコマンドを実行します。

Google Distributed Cloud on Bare Metal リリース 1.15.0 以降

Google サポートとアクセスを共有するには、次のコマンドを使用します。

gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-anthossupport.iam.gserviceaccount.com \
    --role=roles/storage.objectViewer

BUCKET_NAME は、スナップショットがアップロードされたバケットの名前に置き換えます。デフォルトでは、バケット名は anthos-snapshot- で始まります。

バケットへのアクセス権を取り消すには:

gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-anthossupport.iam.gserviceaccount.com \
    --role=roles/storage.objectViewer

Google Distributed Cloud on VMware リリース 1.15.0 以降

Cloud Storage バケットにスナップショットをアップロードするに記載のとおり、--share-with フラグを使用してスナップショットを作成すると、自動的に Google サポートと共有されます。追加のコマンドは必要ありません。

アップロードしたスナップショットへのアクセス権を手動で共有する

gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME/CLUSTER_NAME/SNAPSHOT_FILE_NAME \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-anthossupport.iam.gserviceaccount.com \
    --role=roles/storage.legacyObjectReader

ここで

  • BUCKET_NAME/CLUSTER_NAME/SNAPSHOT_FILE_NAME は、クラスタ スナップショットの作成時にメモしたスナップショットの場所です。
  • PROJECT_NUMBER はプロジェクトの ID 番号で、サポートケースのサービス アカウントの ID を作成するために使用します。この値は、Google Cloud コンソールの [IAM and Admin] 設定ページで取得できます。

サポートケースが終了すると、サービス アカウントは Google によって無効にされます。Cloud Storage バケットにアクセスする Google の権限を取り消す場合は、次のコマンドを実行します。

gcloud storage buckets remove-iam-policy-binding gs://BUCKET_NAME/CLUSTER_NAME/SNAPSHOT_FILE_NAME \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-anthossupport.iam.gserviceaccount.com \
    --role=roles/storage.legacyObjectReader