このドキュメントでは、Google Distributed Cloud(GDC)エアギャップ ユニバースの複数のゾーンにわたってリソースを管理する方法について説明します。GDC コンソール、gdcloud CLI、API、Terraform の各サーフェスには、ゾーンリソースの指定されたゾーンで、またはグローバル プロビジョニングでサポートされているリソースのグローバルで、リソースを適切に管理するためのメカニズムが用意されています。マルチゾーン ユニバースでは、高可用性を実現するためにゾーンリソースとグローバル リソースを管理する必要があります。
このドキュメントは、次のオーディエンス グループを対象としています。
- 障害復旧ワークフローの開発を担当する IT 管理者などのプラットフォーム管理者。
- アプリケーション オペレーター(アプリケーション デベロッパーなど)。GDC ユニバースでのアプリケーションの開発とメンテナンスを担当します。
詳細については、GDC エアギャップ ドキュメントの対象読者をご覧ください。
始める前に
ゾーン間でリソースを管理する前に、使用するサーフェスに基づいて次の前提条件を満たす必要があります。
- Distributed Cloud CLI を使用するには、gdcloud CLI をインストールします。
- ゾーン API カスタム リソースとグローバル API カスタム リソースをデプロイするには、
kubectlコンポーネントをインストールします。 - Terraform を使用するには、Terraform Kubernetes プロバイダを構成します。
グローバル コンテキストに切り替える
すべてのゾーンにまたがるリソースや、グローバル プロビジョニングでサポートされているリソースを管理するには、グローバル コンテキストに切り替えます。
コンソール
グローバル コンテキストは、次の構文に従ってグローバル URL に移動することで設定されます。
https://console.ORG_NAME.SUFFIX
グローバル URL に移動して、ゾーン全体のリソースのグローバル ビューを表示します。
gdcloud
グローバル URL は、gdcloud CLI のデフォルト構成を初期化するときに organization_console_url パラメータで設定されます。明示的にゾーン コンテキストを設定していない限り、グローバル コンテキストが想定されます。
グローバル URL に戻すには、次の手順を行います。
デフォルトの組織コンソールの URL をグローバル URL に設定します。
gdcloud config set core/organization_console_url GLOBAL_URLグローバル コンテキストにログインします。
gdcloud auth login --login-config-cert=CA_CERTCA_CERTは、システムの信頼できる証明書ストアにインストールされている認証局(CA)証明書に置き換えます。詳細については、ウェブ TLS 証明書の構成をご覧ください。
API
グローバル KRM API カスタム リソースを管理またはプロビジョニングする場合は、kubectl コマンドでグローバル Management API サーバーの kubeconfig ファイルを明示的に定義する必要があります。次に例を示します。
kubectl apply -f resource.yaml --kubeconfig GLOBAL_API_SERVER
kubectl コンテキストをグローバル API サーバーに設定することで、API 呼び出しのグローバル コンテキストを自動的に設定できます。詳細については、グローバル API サーバー リソースをご覧ください。
Terraform
Terraform モジュールでグローバル Management API サーバーを明示的に定義して初期化する必要があります。
モジュール内の Terraform ファイル(
main.tfファイルなど)で、グローバル Management API サーバーの kubeconfig ファイルを定義します。provider "kubernetes" { config_path = "GLOBAL_API_SERVER" }グローバル API サーバーの kubeconfig ファイルの取得の詳細については、グローバル API サーバーのリソースをご覧ください。
Terraform モジュールの新しいグローバル コンテキストを適用します。
terraform apply
以降の Terraform アクションはすべてグローバル コンテキストで呼び出されます。
ゾーン コンテキストに切り替える
特定のゾーン内でホストされているリソースを管理するには、ゾーン コンテキストに切り替えます。
コンソール
ゾーンのコンテキストは、次の構文に従ってゾーンの URL に移動することで設定されます。
https://console.ORG_NAME.ZONE.SUFFIX
ゾーン URL に移動して、単一のゾーン内でホストされているリソースを表示します。
多くのリソースページには、ゾーンスコープ ピッカーも用意されています。これにより、GDC コンソール ページ内からゾーン コンテキストを切り替えることができます。

提供されているメカニズムからゾーン コンテキストを選択して、ゾーンリソースを表示、管理します。
gdcloud
gdcloud CLI を使用する場合、グローバル コンテキストはデフォルトで構成されるため、ゾーンリソースを操作するには、ゾーン コンテキストを明示的に設定する必要があります。この操作は、ワークフローに応じて次の 3 つの方法のいずれかで行うことができます。
- デフォルトのゾーン構成を設定する: 主にゾーン コンテキストで作業する場合に推奨されます。
- ゾーン URL 構成を設定する: グローバル コンテキストとゾーン コンテキストを頻繁に切り替える場合に推奨されます。
--zoneフラグを適用する: gdcloud CLI 構成を更新せずに、ゾーン コンテキストを直接適用する柔軟性が必要な場合におすすめです。
次の手順に沿って、これらのアプローチのいずれかを適用します。
gdcloud CLI インスタンスのゾーン構成を設定します。
gdcloud config set core/zone ZONE_NAMEZONE_NAMEは、コンテキストに設定するゾーンの名前に置き換えます。詳細については、ユニバース内のゾーンを一覧表示するをご覧ください。
デフォルトの組織コンソール URL をゾーン URL に設定します。
gdcloud config set core/organization_console_url ZONAL_URLゾーンにログインします。
gdcloud auth login --login-config-cert=CA_CERTCA_CERTは、システムの信頼できる証明書ストアにインストールされている認証局(CA)証明書に置き換えます。詳細については、ウェブ TLS 証明書の構成をご覧ください。
--zoneフラグを指定して gdcloud CLI コマンドを実行します。次に例を示します。gdcloud auth print-identity-token --zone=ZONE_NAME--zoneフラグは、サポートされている任意のコマンドに設定できます。特定のコマンドで--zoneフラグが提供されているかどうかを確認するには、gdcloud CLI リファレンス ドキュメントをご覧ください。--zoneフラグは、任意のグローバル コンテキストまたはゾーン コンテキストから使用できます。
API
ゾーン KRM API カスタム リソースを管理またはプロビジョニングする場合は、kubectl コマンドでゾーン Management API サーバーの kubeconfig ファイルを明示的に定義する必要があります。次に例を示します。
kubectl apply -f resource.yaml --kubeconfig ZONAL_API_SERVER
kubectl コンテキストをゾーンの Management API サーバーに設定することで、API 呼び出しのゾーン コンテキストを自動的に設定できます。詳細については、ゾーン管理 API サーバー リソースをご覧ください。
Terraform
Terraform モジュールでゾーン管理 Management API サーバーを明示的に定義して初期化する必要があります。
モジュール内の Terraform ファイル(
main.tfファイルなど)で、ゾーン管理 API サーバーの kubeconfig ファイルを定義します。provider "kubernetes" { config_path = "ZONAL_API_SERVER" }ゾーン管理 API サーバーの kubeconfig ファイルの取得の詳細については、ゾーン管理 API サーバーのリソースをご覧ください。
Terraform モジュールの新しいグローバル コンテキストを適用します。
terraform apply
以降の Terraform アクションはすべて、構成したゾーンのコンテキストで呼び出されます。
ユニバース内のゾーンを一覧表示する
複数のゾーンにわたってゾーンリソースを管理するには、ユニバースで使用可能なすべてのゾーンを把握する必要があります。
ユニバース内のすべてのゾーンを一覧表示します。
gdcloud zones list出力は次のようになります。
METADATA.NAME us-east1-a us-east1-b us-east1-c
次のステップ
- GDC ユニバースで使用可能なグローバル API サーバーとゾーン API サーバーについて学習する。
- 高可用性ガイドを参照して、アプリケーションがローカルゾーンの障害に対して復元性を備えていることを確認します。
- 使用可能な gdcloud CLI コマンドの包括的なリストについては、gdcloud CLI リファレンス ページをご覧ください。
- Terraform を構成するには、Terraform の概要をご覧ください。