プロジェクトのストレージ CLI をインストールして構成する

このページでは、Google Distributed Cloud(GDC)エアギャップ プロジェクトを使用する際にオブジェクト ストレージを管理するための gdcloud CLI のインストールと構成について説明します。この分離された環境でストレージ バケットとオブジェクトを効果的に使用するために必要なコンポーネントと設定のダウンロード、インストール、構成について説明します。

このページは、GDC エアギャップ環境内のプロジェクトのオブジェクト ストレージ バケットのプロビジョニングと管理を検討している、インフラストラクチャ オペレーター グループ内の IT 管理者やアプリケーション オペレーター グループ内のデベロッパーなどのユーザーを対象としています。詳細については、GDC エアギャップ ドキュメントの対象読者をご覧ください。

gdcloud CLI をダウンロードする

手順に沿って gdcloud CLI をダウンロードします

gdcloud CLI をインストールする

storage コマンドツリーを使用するには、storage 依存関係コンポーネントをインストールする必要があります。

  1. gdcloud CLI をインストールするの手順に沿って操作します。

  2. storage 依存関係コンポーネントをインストールするには、次のコマンドを実行します。

    gdcloud components install storage-cli-dependencies
    

    components install コマンドの詳細については、gdcloud CLI をインストールするをご覧ください。

オブジェクト ストレージ用に gdcloud CLI を構成する

オブジェクト ストレージに gdcloud CLI を使用するには、次の構成を設定する必要があります。

  1. ACCESS_KEY_ID は、アクセス認証情報の取得のシークレットから取得したアクセスキー ID に置き換えます。

    gdcloud config set storage/s3_access_key_id ACCESS_KEY_ID
    
  2. SECRET_ACCESS_KEY は、アクセス認証情報の取得のシークレットから取得したシークレットキーに置き換えます。

    gdcloud config set storage/s3_secret_access_key SECRET_ACCESS_KEY
    
  3. CA_BUNDLE_FILE は、CA 証明書のパスに置き換えます。これは、ID を保証する信頼できる組織である認証局(CA)に属するデジタル証明書です。GDC CA トラスト バンドルは、インフラストラクチャ オペレーター(IO)グループのメンバーにリクエストできます。GDC CA 証明書の取得方法の詳細については、GDC トラスト バンドルを取得するをご覧ください。

    gdcloud config set storage/s3_custom_ca_certs_file CA_BUNDLE_FILE
    
  4. ENDPOINT は、インフラストラクチャ オペレーター(IO)が提供するエンドポイントに置き換えます。

    gdcloud config set storage/s3_endpoint ENDPOINT
    

    この手順は、デュアルゾーン バケットでは若干異なります。各デュアルゾーン バケットには、バケットへのアクセスに使用できる 3 つのエンドポイントがあります。ほとんどの場合、自動フェイルオーバーを利用するには、グローバル エンドポイントが適切です。

    • Zone1 エンドポイント: このエンドポイントは常に zone1 で受信されます。このエンドポイントを使用する場合、zone1 に書き込まれたオブジェクトに対して read-after-write の整合性が確保されます。ただし、zone1 がダウンした場合、クライアントはこのバケットへの読み取り/書き込みを続行するために、zone2 またはグローバル エンドポイントを使用するように変更する必要があります。クライアントがユーザー クラスタから送信されている場合、このエンドポイントは zone1 内からのみアクセスできます。
    • Zone2 エンドポイント: このエンドポイントは常に zone2 で受信されます。このエンドポイントを使用する場合、zone2 に書き込まれたオブジェクトに対して read-after-write の整合性が確保されます。ただし、zone2 がダウンした場合、クライアントはこのバケットへの読み取り/書き込みを続行するために、zone1 またはグローバル エンドポイントを使用するように変更する必要があります。クライアントがユーザー クラスタから送信されている場合、このエンドポイントは zone2 内からのみアクセスできます。
    • グローバル エンドポイント: このエンドポイントを使用すると、リクエストは zone1 または zone2 にルーティングされます。このオプションではセッション アフィニティが提供されないため、同じセッションを使用して行われたリクエストは zone1 または zone2 に到達する可能性があります。つまり、グローバル エンドポイントに対して行われたリクエストに対して read-after-write の保証はありません。グローバル エンドポイントは、ゾーンがダウンした場合に自動フェイルオーバーを提供するため、ユーザーはゾーン エンドポイントを使用する場合のように、ワークロードのエンドポイントを変更する必要はありません。また、このエンドポイントはすべてのゾーンのユーザー クラスタからアクセスできます。

    管理 API サーバーに対して次のコマンドを実行して、バケットのグローバル エンドポイントとゾーン エンドポイントを表示し、使用するエンドポイントを選択します。

    kubectl get buckets BUCKET_NAME -n PROJECT_NAME -o jsonpath="{.status.globalEndpoint}" --kubeconfig MANAGEMENT_API_SERVER
    
    kubectl get buckets BUCKET_NAME -n PROJECT_NAME -o jsonpath="{.status.zonalEndpoints}" --kubeconfig MANAGEMENT_API_SERVER