多くの GKE のお客様は、大規模な AI/ML ワークロードを実行しているか、独自のモデルの重みなどの機密性の高い知的財産(IP)を所有しています。このドキュメントでは、複数のリージョンで実行でき、クラスタ内のノードによって管理されるリモート インスタンスでコンテナを実行するインフラストラクチャ アーキテクチャについて説明します。さまざまなオペレーティング システム(OS)イメージと機能を含む、このリンクされたインフラストラクチャは、 GKE Hyperclusterと呼ばれます。
GKE Hypercluster は、GKE または AI Hypercomputer の制限を超えるセキュリティとスケーラビリティを必要とし、その目標を達成するために運用上の摩擦の増加を受け入れることをいとわないお客様を対象としています。
GKE Hypercluster の使用が適している環境
デフォルトでは、GKE クラスタは、特別なセキュリティ要件とスケーラビリティ要件を持つワークロードなど、ほとんどの本番環境の AI ワークロードの要件を満たすように設計されています。たとえば、GKE は次のようなユースケースをサポートしています。
- Confidential Google Kubernetes Engine Node で GPU を実行し、ワークロードから vTPM またはハードウェア ベースの Confidential Computing モジュールにアクセスします。
- Workload Identity Federation for GKE を使用して、暗号化されたデータへのアクセスを特定の承認済み ID に制限します。
- ComputeClass とノードプールの自動作成を使用して、使用可能な容量に基づいて TPU ノードと GPU ノードをデプロイします。
- アクセス承認、アクセスの透明性、および GKE control plane authorityを使用して、Google の担当者によるアクセスを制御して監視します。
GKE Hypercluster のリンクされたインフラストラクチャは、一般的な GKE アーキテクチャの既存の制限を超える機能を必要とする、特定のセキュリティとスケーラビリティのユースケース向けに設計されています。設計上、特定の GKE のオブザーバビリティ、トラブルシューティング機能、機能は、リンクされたインフラストラクチャでは使用できません。このインフラストラクチャは、一般的な GKE クラスタ アーキテクチャを変更して、次の特殊なユースケースに対応します。
内部関係者による脅威からモデルとクエリを保護する: 独自のモデルの重みや機密性の高い推論クエリとレスポンスへの独自のプラットフォーム管理者と Google の担当者によるアクセスを防ぎます。AI アセットは、証明された検証可能な環境でのみ復号されます。
リージョン間で AI ワークロードを実行する: サポートされているノードのスケーリング上限を超える規模でワークロードをデプロイします。クラスタのリージョンまたはゾーンの外部のロケーションなど、使用可能な容量がある任意のリージョンにアクセラレータ インフラストラクチャを作成して使用します。
仕組み
GKE クラスタ アーキテクチャで説明されているように、Standard モードのクラスタには、Kubernetes API を提供し、クラスタ内のすべてのノードとノードプールを管理するリージョンまたはゾーンのコントロール プレーンがあります。クラスタ内のすべてのノードは特定の VPC ネットワークを使用します。このネットワークは、他の
リソースでも使用される可能性があります。 Google Cloud すべての GKE ノードは、kubelet ノードエージェント、ロギング エージェントと指標エージェント、その他の Kubernetes コンポーネントと GKE コンポーネントなど、さまざまなシステム コンポーネントを実行します。
一方、GKE Hypercluster は、Kubernetes API サーバーで Node オブジェクトとして登録されていない、リンクされたランナーと呼ばれるインスタンスを使用します。 これらのインスタンスには次のプロパティがあります。
- Kubernetes エージェントがなく、GKE コンポーネントの最小限のセットです。
- ユースケースに基づく特殊な OS イメージ。GKE ノードイメージはありません。
- インスタンスは、専用の個別の VPC ネットワークを使用します。
リンクされたランナーは、ランナーをクラスタにリンクするクラスタ内のコントロール ノードによって管理されます。 コントロール ノードは、kubelet プロセスなどのシステム コンポーネントを実行します。1 つのコントロール ノードを複数のランナーにリンクできます。これらのリンクされたランナーは、クラスタ リージョンのデータセンターが提供できる以上のパワーを必要とするトレーニング ジョブなど、非常に大規模なワークロードを実行するように設計されています。
インフラストラクチャの設定時に、ユースケースに基づいて特定の構成でランナーを作成し、インスタンスをクラスタ内の専用コントロール ノードにリンクします。リンクされたランナー インスタンスには kubelet がなく、API サーバー トラフィックを生成しないため、Kubernetes API はコントロール ノードのみを管理する必要があります。リンクされたランナー インスタンスを作成するときに、次のいずれかの方法でインスタンスを構成できます。
- デフォルト構成: デフォルトでは、リンクされたインスタンスは Container-Optimized OS イメージを実行する Compute Engine VM です。プラットフォーム管理者や SRE などの緊急対応担当者は、SSH を使用してインスタンスにアクセスできます。これらのインスタンスは、インフラストラクチャへの管理者アクセスを維持する場合に適しています。
- シール構成: 一部の AI ワークロードは、センシティブ データを処理します。独自のモデルの重みや暗号化されたクエリなど。Google の担当者や独自の管理者を含むすべてのアクセスから AI アセットを保護する必要がある場合は、リンクされたランナー インスタンスをシールモードで構成できます。 これらのシールされたインスタンスには次のプロパティがあります。
- 最小限の OS イメージを使用します。
- TPU には Titanium Intelligence エンクレーブを使用し、GPU には NVIDIA Confidential Computing を使用します。
- ワークロード レベルとファームウェアのアテステーションを実行します。
- コンテナ イメージの署名を検証します。
- インスタンスとコンテナへのすべての管理アクセスを防ぎます。
使用する構成に関係なく、インスタンスには、GKE 固有の TPU ランタイム パラメータや GKE ロギング エージェントとモニタリング エージェントなど、GKE ノードに含まれるコンポーネントや機能の多くが含まれていません。
デフォルト構成について
デフォルトでは、GKE Hypercluster 用に作成するインスタンスは、本番環境ワークロードを実行するように設計されています。トラブルシューティングと緊急対応の目的で、一般的な GKE ノードと同様のメカニズムを提供します。インスタンスは Compute Engine マシンタイプで実行され、Container-Optimized OS イメージを使用します。停止やクラッシュなどのインシデントが発生した場合、管理者はインスタンスに直接アクセスして問題をトラブルシューティングできます。Kubernetes ノードとは異なり、インスタンスは Kubernetes 機能と GKE 機能を有効にするシステム コンポーネントの多くを実行しないため、各インスタンスで使用可能なリソースが増えます。
任意の Google Cloud リージョンにインスタンスを作成し、それらの インスタンスをクラスタ内のコントロール ノードにリンクできます。コントロール ノードは、Kubernetes コントロール プレーンの多くの機能を実行し、デプロイされたワークロードのライフサイクルを管理します。
シール構成について
主なユースケースがすべてのアクセスからアセットを保護することである場合は、シール構成を使用するようにリンクされたランナーを構成できます。これにより、次のセキュリティ プロパティを持つインスタンスが作成されます。
- 各インスタンスは、特定のテクノロジーに基づく高信頼実行環境(TEE)です。
- TPU は、Private AI Compute プラットフォームの一部である Titanium Intelligence エンクレーブを使用します。
- GPU は NVIDIA Confidential Computing を使用して、使用中のデータ を保護します。
- インスタンスは、Container-Optimized OS に基づく最小限の OS イメージを実行します。これにより、SSH アクセスが無効になり、コンテナ シェルアクセスが防止され、アテステーション エージェントが実行されます。
- インスタンスで実行できるワークロードを正確に指定するポリシーを定義します。たとえば、ワークロードで署名付きコンテナ イメージ ダイジェストを使用するか、特定の Pod 仕様を使用するように要求できます。
- アテステーション エージェントは、ファームウェアとワークロードの測定値を Google Cloud Attestation に送信し、検証可能なアテステーション クレーム結果トークンを返します。
結果として得られるインスタンスは、承認されたコードのみを実行でき、センシティブ データがハードウェア ベースの安全なエンクレーブで処理される、制限付きの検証済み環境を提供します。インスタンスから返されるアテステーション情報は、ワークロードが承認されたコードを実行し、正しいインスタンスにデプロイされていることを確認します。
これらのシールされたインスタンスを使用して、暗号化されたモデル、クエリ、レスポンスを次の方法で保護できます。
モデルの重み:
- Cloud KMS の Cloud HSM 鍵を使用してモデルの重みを暗号化します。
- 暗号化されたモデルの重みを Cloud Storage に保存します。
- 証明されたワークロードにのみバケットへの読み取りアクセス権を付与します。
- 証明されたワークロードにのみ復号鍵アクセス権を付与します。
クエリとレスポンス:
- Cloud KMS の Cloud HSM 鍵を使用してクエリとレスポンスを暗号化します。
- 証明されたワークロードにのみ復号アクセス権を付与します。
- ワークロード間で暗号化されたデータを送信するときに、アテステーションの証明を要求します。
シール構成は、リンクされたランナー インスタンスのオプションのセキュリティ レイヤです。デフォルト構成と同様に、シールされたインスタンスは任意のリージョンとゾーンに作成できます。ただし、シールされたインスタンスのセキュリティ プロパティにより、管理者と Google の担当者はトラブルシューティングのためにホスト インスタンスにアクセスできません。
利用資格
GKE Hypercluster は、一般的な GKE クラスタ アーキテクチャと機能では満たせない特定の AI/ML ユースケース向けに設計されています。 GKE Hypercluster を使用するお客様には、特殊なセキュリティ要件とスケーラビリティ要件があります。GKE Hypercluster は、対象となる GKE のお客様のみが利用できます。利用資格を確認し、アクセス権をリクエストするには、専任の Google アカウント担当者にお問い合わせください。