Container Service for Kubernetes (ACK) は、Intelを採用したElastic Compute Service (ECS) インスタンスをサポートしています。®信頼できるドメイン拡張 (インテル)®TDX) テクノロジー。 これにより、ACKクラスターでTDX機密VMをサポートするノードプールを作成し、ACKクラスターがTDX機密コンピューティングをサポートできるようになります。 TDX機密VMをサポートするノードプールを作成した後、アプリケーションにコードを変更することなく、ノードプールにアプリケーションをデプロイできます。 侵入のない展開は、アプリケーションのセキュリティを強化します。 このトピックでは、ACKクラスターでTDX機密VMをサポートするノードプールを作成し、ノードプールにアプリケーションをデプロイする方法について説明します。
前提条件
中国 (北京) リージョンにACK Proクラスターが作成されています。 詳細については、「ACK管理クラスターの作成」をご参照ください。
TDX対応インスタンスの作成
ECSコンソールでのTDX対応インスタンスの作成
ECSコンソールでTDX対応インスタンスを作成する手順は、通常のインスタンスを作成する手順と同様です。 特定のパラメータに注意してください。 次のセクションでは、TDX対応インスタンスに固有のパラメーターについて説明します。 すべてのインスタンスに共通するその他のパラメーターについては、「カスタム起動タブでインスタンスを作成する」をご参照ください。
にログインします。ECSコンソール.
左側のナビゲーションウィンドウで、を選択します。
上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。
[インスタンスの作成] をクリックし、パラメーターを設定します。 下表に、各パラメーターを説明します。
パラメーター
説明
ネットワークとゾーン
北京ゾーンIを選択します。
インスタンスタイプ
ecs.g8i.xlargeまたはより大きなインスタンスタイプを選択します。
イメージ
イメージのバージョンとしてAlibaba Cloud Linux 3.2104 LTS 64ビット (UEFI) を選択し、[機密VM] を選択します。
プロンプトに従ってインスタンスを作成します。
API操作を呼び出すか、Alibaba Cloud CLIを使用してTDX対応インスタンスを作成する
RunInstances操作を呼び出すか、Alibaba Cloud CLIを使用してTDX対応インスタンスを作成できます。 次の表で、関連パラメーターについて説明します。
パラメーター | 説明 | 値の例 |
RegionId | [北京 (中国北部 2)] リージョンを選択します。 | cn-beijing |
ZoneId | 北京ゾーンIを選択します。 | cn-beijing-i |
InstanceType | ecs.g8i.xlargeまたはより大きなインスタンスタイプを選択します。 | ecs.g8i.2xlarge |
ImageId | TDXをサポートするイメージのIDを指定します。 Alibaba Cloud Linuxは、カーネルバージョンが5.10.134-16のLTS 64ビットUnified Extensible Firmware Interface (UEFI) イメージのみを3.2104しています。al8.x86_64以降はTDXをサポートしています。 | aliyun_3_9_x64_20G_uefi_alibase_20231219.vhd |
SecurityOptions.ConfidentialComputingMode | 機密コンピューティングモードを指定します。 | TDX |
Alibaba Cloud CLIを使用してTDX対応インスタンスを作成する例
aliyun ecs RunInstances \
-- SecurityOptions.ConfidentialComputingMode TDX \
-リージョンcn-北京 \
-- ZoneId cn-beijing-i \
-- SystemDisk.Category cloud_essd \
-- ImageId 'aliyun_3_9_x64_20G_uefi_alibase_20231219.vhd '\
-- InstanceType 'ecs.g8i.2xlarge' \
-- SecurityGroupId 'sg-[SecurityGroupId]'\
-- VSwitchId 'vsw-[VSwitchID]'\
-- KeyPairName [KEY_PAIR_NAME] \
TDX機密コンピューティングには一定の制限があります。 TDX機密コンピューティングを使用する前に、必ず制限を理解してください。 詳細については、「TDX機密コンピューティング環境の構築」をご参照ください。
Introduction to TDX
インテル ®TDXは、CPUレジスタ、メモリデータ、割り込みインジェクションなどのランタイムデータを保護するために、ECSインスタンスにハードウェア支援による分離と暗号化を提供するCPUハードウェアベースのテクノロジーです。 インテル®TDXは、より高いレベルのデータプライバシーを実現し、実行中のプロセスや処理中の機密データへの不正アクセスに関連するリスクを軽減します。 インテルの詳細については®TDX、Intelを参照®ドメイン拡張機能を信頼する (Intel)®TDX) 。
インテル ®TDXは、ECSインスタンスとアプリケーションのデフォルトの保護を提供します。 アプリケーションコードを変更することなく、TDX対応インスタンスにアプリケーションを移行できます。
TDX機密VMをサポートするノードプールをシームレスに拡張し、オペレーティングシステムとハードウェアの機密性を向上させることができます。 TDX機密VMをサポートするノードプールをACKクラスターにすばやく作成して、高いセキュリティを必要とするアプリケーションを拡張および保守できます。 TDX機密VMをサポートするノードプールは、金融リスク管理、医療データのプライバシー、AI生成コンテンツ (AIGC) および大規模言語モデル (LLM) の推論と微調整、機密データベース、ビッグデータアプリケーションなど、さまざまな機密コンピューティングシナリオに適しています。
次の図は、TDXやAdvanced Matrix Extensions (AMX) などのハードウェアベースのセキュリティ機能をエンドツーエンドのモデルデータ保護とともに使用して、推論のセキュリティを確保する方法を示しています。
手順1: ノードプールの作成
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、 を選択します。
ページの右上隅にある [ノードプールの作成] をクリックしてパラメーターを設定し、[注文の確認] をクリックします。
次の表に、主要なパラメーターを示します。 詳細については、「ノードプールの作成」をご参照ください。
パラメーター
説明
vSwitch
[ゾーンI] で [vSwitch] を選択します。
Auto Scaling
デフォルト設定を維持します。 この例では、自動スケーリングは無効です。
[インスタンスタイプ]
g8i.xlarge以上を選択します。
期待されるノード
ノードプール内のノードの初期数を指定します。 デフォルト値は0のままにします。
オペレーティングシステム
Alibaba Cloud Linux 3.2104 UEFIを選択します。
[詳細オプションの表示] をクリックして、次のパラメーターを設定します。
ノードラベル
ポッドスケジューリング用のノードラベルを追加することを推奨します。
キー:
nodepool-label
値:
tdx-vm-pool
手順2: TDXが有効なECSインスタンスの作成
ECS [カスタム起動] タブに移動し、TDXが有効になっているECSインスタンスを作成します。
次の表に、主要なパラメーターを示します。 詳細については、「カスタム起動タブでインスタンスを作成する」をご参照ください。
パラメーター
説明
リージョン
中国 (北京) 地域を迎えます。
ネットワークとゾーン
インスタンス
g8i.xlarge以上を選択します。
[イメージ]
Alibaba Cloud Linux 3.2104 LTS 64ビット (UEFI) を選択します。
[機密VM] を選択します。
[セキュリティグループ]
手順1で作成したノードプールのセキュリティグループを選択します。
(オプション) ステップ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インスタンスをACKクラスターに追加する」をご参照ください。
手順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: # Make sure that the pod is scheduled to the ECS instance that has TDX enabled. nodepool-label: tdx-vm-pool
設定が完了したら、[ポッド] ページでポッドのステータスやその他の情報を表示できます。 ポッドが [実行中] 状態の場合、アプリケーションはデプロイされます。
kubectlを使う
pod-tdx-vm.yamlという名前のファイルを作成し、次のコンテンツをファイルに追加します。
apiVersion: v1 種類: ポッド メタデータ: ラベル: 名前: pod-tdx-vm 名前: pod-tdx-vm spec: コンテナ: -画像: alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:latest name: こんにちは command: - sh - -c -'echo hello && sleep infinity' nodeSelector: # TDXが有効になっているECSインスタンスにポッドがスケジュールされていることを確認します。 nodepool-label: tdx-vm-pool
次のコマンドを実行して、pod-tdx-vm.yamlファイルをデプロイします。 pod-tdx-vmという名前のポッドが作成されます。
kubectl apply -f pod-tdx-vm.yaml
次のコマンドを実行して、アプリケーションがデプロイされているかどうかを確認します。
kubectl get pod pod-tdx-vm
期待される出力:
の名前準備ができているステータスの履歴書 pod-tdx-vm 1/1実行中0 52s