Container Service for Kubernetes (ACK) は、Intel® Trusted Domain Extension (Intel® TDX) テクノロジーを採用した Elastic Compute Service (ECS) インスタンスをサポートしています。 これにより、ACK クラスタで TDX 機密 VM をサポートするノードプールを作成し、ACK クラスタで TDX 機密コンピューティングをサポートできるようにすることができます。 TDX 機密 VM をサポートするノードプールを作成した後、アプリケーションのコードを変更することなく、ノードプールにアプリケーションをデプロイできます。 この侵入のないデプロイメントは、アプリケーションのセキュリティを強化します。 このトピックでは、ACK クラスタで TDX 機密 VM をサポートするノードプールを作成し、ノードプールにアプリケーションをデプロイする方法について説明します。
制限事項
TDX 機密コンピューティング環境には、特定の機能制限が適用されます。 TDX 機密コンピューティング環境を使用する前に、既知の問題と機能制限 を参照して制限事項を確認することをお勧めします。
前提条件
ACK Pro マネージドクラスター が 中国 (北京) リージョンに作成されていること。 詳細については、「ACK マネージドクラスターを作成する」をご参照ください。
TDX の概要
Intel® TDX は、CPU ハードウェアベースのテクノロジーであり、ECS インスタンスにハードウェア支援による隔離と暗号化を提供して、CPU レジスタ、メモリデータ、割り込みインジェクションなどのランタイムデータを保護します。 Intel® TDX は、より高いレベルのデータプライバシーを実現し、実行中のプロセスまたは処理中の機密データへの不正アクセスに関連するリスクを軽減するのに役立ちます。 Intel® TDX の詳細については、「Intel® Trust Domain Extensions (Intel® TDX)」をご参照ください。
Intel® TDX は、ECS インスタンスとアプリケーションにデフォルトですぐに利用できる保護を提供します。 アプリケーション コードを変更することなく、アプリケーションを TDX 対応インスタンスに移行できます。
TDX 機密 VM をサポートするノードプールはシームレスにスケーリングでき、オペレーティングシステムとハードウェアの機密性を向上させます。 セキュリティの高いアプリケーションをスケーリングおよび維持するために、ACK クラスタで TDX 機密 VM をサポートするノードプールを迅速に作成できます。 TDX 機密 VM をサポートするノードプールは、金融リスク管理、医療データプライバシー、AI 生成コンテンツ (AIGC) と大規模言語モデル (LLM) の推論と微調整、機密データベース、ビッグデータアプリケーションなど、さまざまな機密コンピューティングシナリオに適しています。
次の図は、エンドツーエンドのモデルデータ保護で TDX や Advanced Matrix Extensions (AMX) などのハードウェアベースのセキュリティ機能を使用して、推論セキュリティを確保する方法を示しています。
ステップ 1: ノードプールを作成する
ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスタ] をクリックします。
[クラスタ] ページで、管理するクラスタを見つけ、その名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
ページの右上隅にある [ノードプールの作成] をクリックし、パラメータを構成して、[注文の確認] をクリックします。
次の表に、主要なパラメータを示します。 詳細については、「ノードプールを作成および管理する」をご参照ください。
パラメータ
説明
vSwitch
ゾーン I の vSwitch を選択します。
Auto Scaling
デフォルト設定を維持します。 この例では、Auto Scaling は無効になっています。
インスタンスタイプ
g8i.xlarge 以上を選択します。
予想ノード数
ノードプール内の初期ノード数を指定します。 デフォルト値 0 を維持します。
オペレーティングシステム
Alibaba Cloud Linux 3.2104 LTS 64 ビット を選択します。
[詳細オプション (オプション)] をクリックして、次のパラメータを構成します。
ノードラベル
Pod のスケジューリングのためにノードラベルを追加することをお勧めします。
キー:
nodepool-label値:
tdx-vm-pool
ステップ 2: TDX が有効になっている ECS インスタンスを作成する
ECS コンソールで TDX 対応インスタンスを作成する手順は、通常のインスタンスを作成する手順と似ています。 特定のパラメータに注意してください。 次のセクションでは、TDX 対応インスタンスに固有のパラメータについて説明します。 すべてのインスタンスに共通のその他のパラメータについては、「カスタム起動タブでインスタンスを作成する」をご参照ください。
ECS コンソール にログインします。
左側のナビゲーションウィンドウで、 を選択します。
上部のナビゲーションバーで、管理するリソースのリージョンとリソースグループを選択します。
[インスタンスの作成] をクリックし、パラメータを構成します。 次の表にパラメータを示します。
パラメータ
説明
ネットワークとゾーン
使用可能なインスタンスタイプは、選択したネットワークとゾーンによって異なります。
北京ゾーン I: ecs.g8i.xlarge 以上のインスタンスタイプのみがサポートされています。
インスタンスタイプ
イメージ
[機密 VM] を選択し、イメージバージョンとして Alibaba Cloud Linux 3.2104 LTS 64 ビット を選択します。

プロンプトに従ってインスタンスを作成します。
(オプション) ステップ 3: ECS インスタンスで TDX のステータスを確認する
ECS インスタンスにログインし、次の手順を実行して TDX のステータスを確認します。 ECS インスタンスが TDX の保護下にあることを確認します。
TDX が有効になっているかどうかを確認します。
lscpu |grep -i tdx_guest次のコマンド出力は、TDX が有効になっていることを示しています。

TDX ドライバがインストールされているかどうかを確認します。
ls -l /dev/tdx_guest次のコマンド出力は、TDX ドライバがインストールされていることを示しています。

ステップ 4: ECS インスタンスをノードプールに追加する
ACK コンソール にログインします。 左側のナビゲーションウィンドウで、[クラスタ] をクリックします。
[クラスタ] ページで、管理するクラスタを見つけ、その名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
ノードプールの [アクション] 列で、[詳細] > [既存ノードの追加] を選択します。 [既存の ECS インスタンスの選択] ウィザードページで、[モード] を [自動] に設定し、ステップ 2 で作成した ECS インスタンスを選択し、画面の指示に従って構成を完了します。
既存のノードを追加する方法の詳細については、「既存の ECS インスタンスを追加する」をご参照ください。
ステップ 5: アプリケーションをデプロイする
TDX 機密 VM をサポートするノードプールが作成された後、アプリケーションをノードプール内の TDX が有効になっている ECS インスタンスに移行できます。 移行はアプリケーションに対して侵入のない方法で行われます。
ACK コンソールを使用する
[クラスタ] ページで、管理するクラスタを見つけ、その名前をクリックします。 左側のウィンドウで、 を選択します。
ページの右上隅にある [YAML から作成] をクリックします。 [サンプルテンプレート] を [カスタム] に設定し、次の YAML コンテンツをコピーして、[作成] をクリックします。
apiVersion: v1 kind: Pod metadata: labels: name: pod-tdx-vm name: pod-tdx-vm spec: containers: - image: alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:latest name: hello command: - sh - -c - 'echo hello && sleep infinity' nodeSelector: # Pod が TDX が有効になっている ECS インスタンスにスケジュールされていることを確認します。 nodepool-label: tdx-vm-pool構成が完了すると、[Pod] ページで Pod のステータスやその他の情報を表示できます。 Pod が Running 状態の場合、アプリケーションはデプロイされています。
kubectl を使用する
pod-tdx-vm.yaml という名前のファイルを作成し、次のコンテンツをファイルに追加します。
apiVersion: v1 kind: Pod metadata: labels: name: pod-tdx-vm name: pod-tdx-vm spec: containers: - image: alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:latest name: hello command: - sh - -c - 'echo hello && sleep infinity' nodeSelector: # Pod が TDX が有効になっている ECS インスタンスにスケジュールされていることを確認します。 nodepool-label: tdx-vm-pool次のコマンドを実行して、pod-tdx-vm.yaml ファイルをデプロイします。 pod-tdx-vm という名前の Pod が作成されます。
kubectl apply -f pod-tdx-vm.yaml次のコマンドを実行して、アプリケーションがデプロイされているかどうかを確認します。
kubectl get pod pod-tdx-vm予想される出力:
NAME READY STATUS RESTARTS AGE pod-tdx-vm 1/1 Running 0 52s