このページでは、Google Distributed Cloud(GDC)エアギャップ プロジェクトで作業する際にオブジェクト ストレージを管理するための gdcloud CLI をインストールして構成する方法について説明します。この分離環境でストレージ バケットとオブジェクトを効果的に使用するために必要なコンポーネントと設定をダウンロード、インストール、構成する方法について説明します。
このページは、GDC のエアギャップ環境内のプロジェクト用にオブジェクト ストレージ バケットのプロビジョニングと管理を検討している、インフラストラクチャ オペレーター グループの IT 管理者やアプリケーション オペレーター グループのデベロッパーなどのユーザーを対象としています。詳細については、GDC エアギャップの対象読者に関するドキュメントをご覧ください。
gdcloud CLI を準備する
gdcloud CLI を使用するには、次の手順でパッケージをダウンロード、インストール、構成します。
gdcloud CLI をダウンロードする
gdcloud CLI をダウンロードするには、gdcloud CLI の概要をご覧ください。
gdcloud CLI をインストールする
ストレージ コマンドツリーを使用するには、ストレージ依存関係コンポーネントをインストールする必要があります。
- gcloud CLI をインストールするの手順に沿って操作します。 
- ストレージ依存関係コンポーネントをインストールするには、次のコマンドを実行します。 - gdcloud components install storage-cli-dependencies- components installコマンドの詳細については、gdcloud CLI をインストールするをご覧ください。
オブジェクト ストレージ用に gdcloud CLI を構成する
オブジェクト ストレージに gdcloud CLI を使用するには、次の構成を設定する必要があります。
- ACCESS_KEY_IDは、アクセス認証情報の取得でシークレットから取得したアクセスキー ID に置き換えます。- gdcloud config set storage/s3_access_key_id ACCESS_KEY_ID
- SECRET_ACCESS_KEYは、アクセス認証情報の取得のシークレットから取得したシークレット キーに置き換えます。- gdcloud config set storage/s3_secret_access_key SECRET_ACCESS_KEY
- CA_BUNDLE_FILEは、CA 証明書のパスに置き換えます。- gdcloud config set storage/s3_custom_ca_certs_file CA_BUNDLE_FILE
- ENDPOINTを、インフラストラクチャ オペレーター(IO)が提供するエンドポイントに置き換えます。- gdcloud config set storage/s3_endpoint ENDPOINT- この手順は、デュアルゾーン バケットでは若干異なります。各デュアルゾーン バケットには、バケットへのアクセスに使用できる 3 つのエンドポイントが用意されています。ほとんどの場合、自動フェイルオーバーを利用するには、グローバル エンドポイントが適しています。 - Zone1 エンドポイント: このエンドポイントは常に zone1 で受信されます。このエンドポイントを使用すると、zone1 に書き込まれたオブジェクトの書き込み後の読み取りの整合性が確保されます。ただし、zone1 がダウンした場合、クライアントはこのバケットへの読み取り/書き込みを続行するために、zone2 またはグローバル エンドポイントを使用するように変更する必要があります。クライアントがユーザー クラスタからアクセスしている場合、このエンドポイントには zone1 内からのみアクセスできます。
- Zone2 エンドポイント: このエンドポイントは常に zone2 で受信されます。このエンドポイントを使用すると、zone2 に書き込まれたオブジェクトの書き込み後の読み取りの整合性が確保されます。ただし、zone2 がダウンした場合、クライアントはこのバケットへの読み取り/書き込みを続行するために、zone1 またはグローバル エンドポイントを使用するように変更する必要があります。クライアントがユーザー クラスタからアクセスしている場合、このエンドポイントには zone2 内からのみアクセスできます。
- グローバル エンドポイント: このエンドポイントを使用すると、リクエストは zone1 または zone2 にルーティングされます。このオプションではセッション アフィニティは提供されません。つまり、同じセッションを使用して行われたリクエストは、zone1 または zone2 のいずれかに到達する可能性があります。つまり、グローバル エンドポイントに対して行われたリクエストには、書き込み後の読み取り保証はありません。グローバル エンドポイントは、ゾーンがダウンした場合に自動フェイルオーバーを提供するため、ユーザーはゾーン エンドポイントを使用する場合のように、ワークロードでエンドポイントを変更する必要はありません。また、このエンドポイントにはすべてのゾーンのユーザー クラスタからアクセスできます。
 - 次のコマンドを実行して、バケットのグローバル エンドポイントとゾーン エンドポイントを表示し、使用するエンドポイントを選択します。 - kgo get buckets $BUCKET_NAME -n $PROJECT_NAME -o jsonpath="{.status.globalEndpoint}" kgo get buckets $BUCKET_NAME -n $PROJECT_NAME -o jsonpath="{.status.zonalEndpoints}"