すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:ACKクラスターでTDX機密VMをサポートするノードプールを作成する

最終更新日:Dec 13, 2024

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対応インスタンスに固有のパラメーターについて説明します。 すべてのインスタンスに共通するその他のパラメーターについては、「カスタム起動タブでインスタンスを作成する」をご参照ください。

  1. にログインします。ECSコンソール.

  2. 左側のナビゲーションウィンドウで、インスタンス&画像 > インスタンスを選択します。

  3. 上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。 地域

  4. [インスタンスの作成] をクリックし、パラメーターを設定します。 下表に、各パラメーターを説明します。

    パラメーター

    説明

    ネットワークとゾーン

    北京ゾーンIを選択します。

    インスタンスタイプ

    ecs.g8i.xlargeまたはより大きなインスタンスタイプを選択します。

    イメージ

    イメージのバージョンとしてAlibaba Cloud Linux 3.2104 LTS 64ビット (UEFI) を選択し、[機密VM] を選択します。

    image

  5. プロンプトに従ってインスタンスを作成します。

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) の推論と微調整、機密データベース、ビッグデータアプリケーションなど、さまざまな機密コンピューティングシナリオに適しています。

image

次の図は、TDXやAdvanced Matrix Extensions (AMX) などのハードウェアベースのセキュリティ機能をエンドツーエンドのモデルデータ保護とともに使用して、推論のセキュリティを確保する方法を示しています。

image

手順1: ノードプールの作成

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[ノード] > [ノードプール] を選択します。

  3. ページの右上隅にある [ノードプールの作成] をクリックしてパラメーターを設定し、[注文の確認] をクリックします。

    次の表に、主要なパラメーターを示します。 詳細については、「ノードプールの作成」をご参照ください。

    パラメーター

    説明

    vSwitch

    [ゾーンI] で [vSwitch] を選択します。

    Auto Scaling

    デフォルト設定を維持します。 この例では、自動スケーリングは無効です。

    [インスタンスタイプ]

    g8i.xlarge以上を選択します。

    期待されるノード

    ノードプール内のノードの初期数を指定します。 デフォルト値は0のままにします。

    オペレーティングシステム

    Alibaba Cloud Linux 3.2104 UEFIを選択します。

    [詳細オプションの表示] をクリックして、次のパラメーターを設定します。

    ノードラベル

    ポッドスケジューリング用のノードラベルを追加することを推奨します。

    • キー: nodepool-label

    • 値: tdx-vm-pool

手順2: TDXが有効なECSインスタンスの作成

  1. ECS [カスタム起動] タブに移動し、TDXが有効になっているECSインスタンスを作成します。

    次の表に、主要なパラメーターを示します。 詳細については、「カスタム起動タブでインスタンスを作成する」をご参照ください。

    パラメーター

    説明

    リージョン

    中国 (北京) 地域を迎えます。

    ネットワークとゾーン

    • VPC: ステップ1で作成したノードプールの仮想プライベートクラウド (VPC) を選択します。

    • ゾーン: ステップ1ゾーンIで指定したvSwitchを選択します。

    インスタンス

    g8i.xlarge以上を選択します。

    [イメージ]

    • Alibaba Cloud Linux 3.2104 LTS 64ビット (UEFI) を選択します。

    • [機密VM] を選択します。

    [セキュリティグループ]

    手順1で作成したノードプールのセキュリティグループを選択します。

(オプション) ステップ3: ECSインスタンスのTDXのステータスを確認する

ECSインスタンスにログインし、次の手順を実行してTDXのステータスを確認します。 ECSインスタンスがTDXの保護下にあることを確認します。

  1. TDXが有効かどうかを確認します。

    lscpu |grep -i tdx_guest

    次のコマンド出力は、TDXが有効であることを示します。tdx-install

  2. TDXドライバがインストールされているかどうかを確認します。

    ls -l /dev/tdx_guest

    次のコマンド出力は、TDXドライバがインストールされていることを示します。image

ステップ4: ECSインスタンスをノードプールに追加します。

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[ノード] > [ノードプール] を選択します。

  3. ノードプールの [操作] 列で、[詳細] > [既存のノードの追加] を選択します。 [既存のECSインスタンスの選択] ウィザードページで、[モード][自動] に設定し、ステップ2で作成したECSインスタンスを選択し、画面の指示に従って設定を完了します。

    既存のノードを追加する方法の詳細については、「既存のECSインスタンスをACKクラスターに追加する」をご参照ください。

手順5: アプリケーションのデプロイ

TDX機密VMをサポートするノードプールが作成された後、ノードプールでTDXが有効になっているECSインスタンスにアプリケーションを移行できます。 移行は、アプリケーションへの侵入がない。

ACKコンソールの使用

  1. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ワークロード] > [ポッド] を選択します。

  2. ページの右上隅にある [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を使う

  1. kubectlクライアントがクラスターに接続されています

  2. 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 
  3. 次のコマンドを実行して、pod-tdx-vm.yamlファイルをデプロイします。 pod-tdx-vmという名前のポッドが作成されます。

    kubectl apply -f pod-tdx-vm.yaml
  4. 次のコマンドを実行して、アプリケーションがデプロイされているかどうかを確認します。

    kubectl get pod pod-tdx-vm

    期待される出力:

    の名前準備ができているステータスの履歴書
    pod-tdx-vm 1/1実行中0 52s