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

Elastic Compute Service:エンクレーブを使用したコンフィデンシャルコンピューティング環境の構築

最終更新日:May 16, 2026

エンクレーブを使用して Elastic Compute Service (ECS) インスタンス内に信頼できる分離空間を作成し、使用中のアプリケーションとデータを保護します。

背景情報

データは、保管中のデータ転送中のデータ使用中のデータに分類されます。

  • 暗号化によって、保管中のデータ転送中のデータが保護されます。

  • 使用中のデータを保護するには、コンフィデンシャルコンピューティングが必要です。

エンクレーブは、ECS インスタンス内に信頼できる分離空間を作成し、そのエンクレーブ内で正規のソフトウェアを実行することで、マルウェアからコードとデータの機密性および完全性を保護します。金融、インターネット、ヘルスケアなど、強力なデータ保護を必要とする業界に適しています。

エンクレーブの仕組み

ECS インスタンス (プライマリ VM) 内のコンピューティングリソース (vCPU とメモリ) を分割し、信頼できる実行環境としてエンクレーブ VM (EVM) を作成します。EVM は、以下によって保護されます:

  • 仮想化ベースの分離:EVM は、プライマリ VM や他の ECS インスタンスから分離されます。

  • 最小限の攻撃対象領域:EVM は、永続ストレージ、対話型接続、外部ネットワーキングを持たない、独立した信頼できる OS を実行します。vsock ベースのローカルセキュアチャネルを介してのみ、プライマリ VM と通信します。

次の図は、エンクレーブの仕組みを示しています。

image

エンクレーブは多層的なセキュリティを提供します。第 3 世代の SHENLONG アーキテクチャは、TPM または TCM チップを搭載しており、EVM に vTPM または vTCM デバイスを装備して信頼性を強化します。SDK を使用して、エンクレーブ環境を構築および管理できます。アテステーションのために、機密アプリケーションは実行時にプラットフォームデータ、アプリケーション情報、署名などのアテステーション資料を生成し、リモートアテステーションサーバーを介して検証が行われます。このサーバーは Key Management Service (KMS) と連携する場合があります。プライマリ VM が EVM にリソースを割り当てると、基盤となるレイヤーがそれらを分離するため、プライマリ VM は EVM の vCPU やメモリリソースにアクセスできなくなります。

次の図は、エンクレーブのアーキテクチャを示しています。

image

制限事項

  • hfg9i、hfc9i、hfr9i、g8i、c8i、r8i インスタンスファミリーで 4 つ以上の vCPU を持つインスタンスタイプのみがエンクレーブに対応しています。

  • 各 ECS インスタンスは、1 つのエンクレーブのみをサポートします。

  • エンクレーブを使用する前に、プライマリ VM 用に少なくとも 1 つの物理プロセッサコアといくらかのメモリを予約してください。残りのリソースはエンクレーブに割り当てることができます。ハイパースレッディングが有効な場合、同じコアから 2 つのハイパースレッドが予約されるため、インスタンスには少なくとも 4 つの vCPU が必要です。

その他の制限については、「制限事項」をご参照ください。

エンクレーブが有効なインスタンスの作成

エンクレーブが有効なインスタンスの作成は、通常のインスタンスの作成と似ています。このセクションでは、エンクレーブ固有のパラメーターのみを説明します。その他のパラメーターについては、「カスタム起動によるインスタンスの作成」をご参照ください。

  1. ECS コンソール - インスタンスに移動します。

  2. 上部メニューで、対象リソースのリージョンとリソースグループを選択します。 地域

  3. インスタンスの作成 をクリックし、次のパラメーターを設定します。

    パラメーター

    説明

    インスタンスタイプ

    hfg9i、hfc9i、hfr9i、g8i、c8i、または r8i インスタンスファミリーから、4 vCPU 以上のインスタンスタイプを選択します。

    イメージ

    [エンクレーブ] を選択し、次に [Alibaba Cloud Linux 2.1903 LTS 64-bit (UEFI)] イメージを選択します。

    説明

    [エンクレーブ] を選択すると、信頼できる OS が自動的にインストールされます。

    image

    インスタンス RAM ロール

    [AliyunECSInstanceForYundunSysTrustRole] を選択します。これは Alibaba Cloud が提供するサービスリンクロールです。

エンクレーブ CLI のインストール

  1. エンクレーブが有効なインスタンスに Docker をインストールします。

  2. Workbench を使用して、SSH 経由でエンクレーブが有効なインスタンスに接続します。

  3. エンクレーブ CLI の RPM パッケージをインストールします。

    1. エンクレーブ CLI の RPM パッケージをダウンロードします。

      wget https://enclave-cn-beijing.oss-cn-beijing.aliyuncs.com/download/linux/enclave-cli/x86_64/2.1903/enclave-cli-1.0.8-1.x86_64.rpm
    2. エンクレーブ CLI をインストールします。

      sudo rpm -ivh enclave-cli-1.0.8-1.x86_64.rpm
    3. インストールを検証します。

      enclave-cli --version

      バージョン番号が返された場合、インストールは成功です。

      image.png

  4. 現在のユーザーを de グループと docker グループに追加します。

    1. 現在のユーザーをde グループに追加します:

      sudo usermod -aG de <username>
      説明

      <username> を実際のユーザー名 (例: test) に置き換えます。

    2. 現在のユーザーを docker グループに追加します。

      sudo usermod -aG docker <username>
      説明

      <username> を実際のユーザー名 (例: test) に置き換えます。

    3. 変更を適用するために、インスタンスに再接続します。

  5. エンクレーブ用の vCPU とメモリを事前に割り当てます。

    1. allocator.yaml を開きます。

      sudo vim /etc/ali-enclaves/allocator.yaml
    2. i キーを押して挿入モードに入ります。

    3. 次のパラメーターを設定します:

      • memory_mib:エンクレーブに割り当てるメモリ。単位: MiB。

      • cpu_count:エンクレーブに割り当てる vCPU 数。

      次の例では、1,024 MiB のメモリと 2 つの vCPU をエンクレーブに割り当てます。

      # エンクレーブ設定ファイル。
      #
      # エンクレーブに割り当てるメモリ容量 (MiB 単位)。
      memory_mib: 1024
      #
      # エンクレーブ用に予約する CPU 数。
      cpu_count: 2
    4. Esc キーを押し、:wq と入力し、Enter キーを押してファイルを保存して閉じます。

  6. リソース割り当てサービスを開始し、起動時に有効にします。

    sudo systemctl start ali-enclaves-allocator.service && \
    sudo systemctl enable ali-enclaves-allocator.service

    このサービスは、エンクレーブ専用の vCPU プールを作成します。このプールはエンクレーブ専用であり、ホストインスタンスでは使用できません。

    説明

    割り当てられたリソースを変更するには、allocator.yaml を変更してサービスを再起動します:

    sudo systemctl restart ali-enclaves-allocator.service
  7. サービスの状態を確認します。

    systemctl status ali-enclaves-allocator.service

    次の出力は、サービスが実行中であることを示します。

    image.png

  8. Docker を起動し、起動時に有効にします。

    sudo systemctl start docker && sudo systemctl enable docker
    説明

    Enclave CLI をアンインストールするには、sudo yum remove enclave-cli を実行します。

  9. 変更を適用するために、インスタンスを再起動します。

関連ドキュメント

エンクレーブ CLI の使用方法については、「クイックスタート」をご参照ください。