ツールを使用してアクセスゾーンにアクセスする

このドキュメントでは、Google Distributed Cloud(GDC)のエアギャップ環境で複数のゾーンにわたってリソースを管理する方法について説明します。GDC コンソール、gdcloud CLI、API、Terraform などの各サーフェスには、ゾーン リソースの場合は指定されたゾーンで、グローバル プロビジョニングでサポートされているリソースの場合はグローバルで、リソースを適切に管理するメカニズムが用意されています。マルチゾーン ユニバースでは、高可用性を実現するためにゾーンリソースとグローバル リソースを管理する必要があります。

このドキュメントは、次の読者グループを対象としています。

  • 障害復旧ワークフローの開発を担当する IT 管理者などのプラットフォーム管理者。
  • GDC ユニバースでアプリケーションの開発と保守を担当するアプリケーション デベロッパーなどのアプリケーション オペレーター。

詳細については、GDC エアギャップの対象ユーザーに関するドキュメントをご覧ください。

始める前に

ゾーン間でリソースを管理する前に、優先するサーフェスに基づいて次の前提条件を満たす必要があります。

グローバル コンテキストに切り替える

すべてのゾーンにまたがるリソースや、グローバル プロビジョニングでサポートされているリソースを管理するには、グローバル コンテキストに切り替えます。

GDC コンソール

グローバル コンテキストは、次の構文に従ってグローバル URL に移動することで設定されます。

  https://console.ORG_NAME.SUFFIX

グローバル URL に移動して、ゾーン全体のリソースのグローバル ビューを表示します。

gdcloud

グローバル URL は、gdcloud CLI のデフォルト構成を初期化するときに organization_console_url パラメータで設定されます。ゾーン コンテキストを明示的に設定していない限り、グローバル コンテキストが想定されます。

グローバル URL に戻すには、次の手順を行います。

  1. デフォルトの組織コンソール URL をグローバル URL に設定します。

    gdcloud config set core/organization_console_url GLOBAL_URL
    
  2. グローバル コンテキストにログインします。

    gdcloud auth login --login-config-cert=CA_CERT
    

    CA_CERT は、システムの信頼できる証明書ストアにインストールされている認証局(CA)証明書に置き換えます。詳細については、ウェブ TLS 証明書の構成をご覧ください。

API

グローバル KRM API カスタム リソースを管理またはプロビジョニングする場合は、kubectl コマンドでグローバル管理 API サーバーの kubeconfig ファイルを明示的に定義する必要があります。次に例を示します。

  kubectl apply -f resource.yaml --kubeconfig GLOBAL_API_SERVER

kubectl コンテキストをグローバル API サーバーに設定することで、API 呼び出しのグローバル コンテキストを自動的に設定できます。詳細については、グローバル API サーバー リソースをご覧ください。

Terraform

Terraform モジュールでグローバル管理 API サーバーを明示的に定義して初期化する必要があります。

  1. モジュール内の Terraform ファイル(main.tf ファイルなど)で、グローバル管理 API サーバーの kubeconfig ファイルを定義します。

    provider "kubernetes" {
      config_path = "GLOBAL_API_SERVER"
    }
    

    グローバル API サーバーの kubeconfig ファイルの取得の詳細については、グローバル API サーバー リソースをご覧ください。

  2. Terraform モジュールの新しいグローバル コンテキストを適用します。

    terraform apply
    

以降のすべての Terraform アクションは、グローバル コンテキストで呼び出されます。

ゾーン コンテキストに切り替える

特定のゾーン内でホストされているリソースを管理するには、ゾーン コンテキストに切り替えます。

GDC コンソール

ゾーン コンテキストは、次の構文に従ったゾーン URL に移動することで設定されます。

  https://console.ORG_NAME.ZONE.SUFFIX

ゾーン URL に移動して、単一のゾーン内でホストされているリソースを表示します。

多くのリソースページには、ゾーン スコープ ピッカーも用意されています。これにより、GDC コンソール ページ内からゾーン コンテキストを切り替えることができます。

ゾーンを選択すると、その特定のゾーンにあるリソースが表示されます。

提供されたメカニズムからゾーン コンテキストを選択して、ゾーンリソースを表示および管理します。

gdcloud

gdcloud CLI を使用すると、グローバル コンテキストがデフォルトで構成されるため、ゾーンリソースを操作するには、ゾーン コンテキストを明示的に設定する必要があります。この操作は、ワークフローに応じて次の 3 つの方法のいずれかで行うことができます。

これらのアプローチのいずれかを適用する手順は次のとおりです。

デフォルトのゾーン構成を設定する

  • gdcloud CLI インスタンスのゾーン構成を設定します。

    gdcloud config set core/zone ZONE_NAME
    

    ZONE_NAME は、コンテキストに設定するゾーンの名前に置き換えます。詳細については、ユニバース内のゾーンを一覧表示するをご覧ください。

ゾーン URL 構成を設定する

  1. デフォルトの組織コンソール URL をゾーン URL に設定します。

      gdcloud config set core/organization_console_url ZONAL_URL
    
  2. ゾーンにログインします。

      gdcloud auth login --login-config-cert=CA_CERT
    

    CA_CERT は、システムの信頼できる証明書ストアにインストールされている認証局(CA)証明書に置き換えます。詳細については、ウェブ TLS 証明書の構成をご覧ください。

--zone フラグを適用する

  • --zone フラグを指定して gdcloud CLI コマンドを実行します。次に例を示します。

    gdcloud auth print-identity-token --zone=ZONE_NAME
    

    --zone フラグは、サポートされているコマンドに設定できます。特定のコマンドが --zone フラグを提供しているかどうかを確認するには、gdcloud CLI リファレンス ドキュメントをご覧ください。

    --zone フラグは、グローバル コンテキストまたはゾーン コンテキストから使用できます。

API

ゾーン KRM API カスタム リソースを管理またはプロビジョニングする場合は、kubectl コマンドでゾーン管理 API サーバーの kubeconfig ファイルを明示的に定義する必要があります。次に例を示します。

  kubectl apply -f resource.yaml --kubeconfig ZONAL_API_SERVER

kubectl コンテキストをゾーンの管理 API サーバーに設定すると、API 呼び出しのゾーン コンテキストを自動的に設定できます。詳細については、ゾーン管理 API サーバー リソースをご覧ください。

Terraform

Terraform モジュールでゾーン管理 API サーバーを明示的に定義して初期化する必要があります。

  1. モジュール内の Terraform ファイル(main.tf ファイルなど)で、ゾーン管理 API サーバーの kubeconfig ファイルを定義します。

    provider "kubernetes" {
      config_path = "ZONAL_API_SERVER"
    }
    

    ゾーン管理 API サーバーの kubeconfig ファイルの取得について詳しくは、ゾーン管理 API サーバーのリソースをご覧ください。

  2. Terraform モジュールの新しいグローバル コンテキストを適用します。

    terraform apply
    

以降の Terraform アクションはすべて、構成したゾーンのコンテキストで呼び出されます。

ユニバース内のゾーンを一覧表示する

複数のゾーンにわたってゾーンリソースを管理するには、ユニバースで使用可能なすべてのゾーンを把握しておく必要があります。

  • ユニバース内のすべてのゾーンを一覧表示します。

    gdcloud zones list
    

    出力は次のようになります。

    METADATA.NAME
    us-east1-a
    us-east1-b
    us-east1-c
    

次のステップ