Confidential VM インスタンスを作成します

Confidential VM インスタンスは、新しい Compute Engine 仮想マシンの作成の一部として作成できます。

始める前に

Confidential VM インスタンスを作成する前に、次のように環境を設定する必要があります。

  1. アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイに使える $300 分の無料クレジットも提供されます。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. 省略可: このガイドの gcloud CLI の例を使用するには、次のようにします。
  9. 省略可: このガイドの API の例を使用する場合は、 リクエストに対する認証の設定 を行います。OAuth 2.0 の詳細をご覧ください。

インスタンスの作成

コンソール

コンソールで Confidential VM インスタンスを作成するには、次の手順に沿って操作します。 Google Cloud

  1. コンソールで、[VM インスタンス] ページに移動します。 Google Cloud

    [VM インスタンス] に移動

  2. [インスタンスを作成] をクリックします。

  3. [マシンの構成] ペインで、次の操作を行います。

    1. サポートされているリージョンとゾーンを選択します。

    2. 次のいずれかのマシン ファミリーを選択します。

      • 汎用

      • コンピューティング最適化

      • GPU

    3. [GPU] ファミリーを選択した場合は、サポートされているマシンタイプに基づいて適切な [GPU のタイプ] と [GPU の数] を選択します。

    4. 使用する Confidential Computing テクノロジーでサポートされているマシンタイプを選択します。

  4. ナビゲーション メニューで [セキュリティ] をクリックします。

  5. [Confidential VM サービス] セクションで、[有効にする] をクリックします。

  6. [タイプを選択] ボックスで、次のいずれかの Confidential Computing テクノロジー タイプを選択します。

    • AMD SEV

    • AMD SEV-SNP

    • Intel TDX

  7. 次に、[Confidential Computing を有効にする] ダイアログで、サービスを有効にするときに更新される設定のリストを確認します。互換性のない値が設定されている場合は、次のフィールドを含めることができます。

  8. [確認] をクリックし、[作成] をクリックします。

[作成] をクリックすると、[VM インスタンス] ページが開きます。このページで、新しいインスタンスのステータスと詳細を確認できます。Confidential VM インスタンスの [**ステータス**] 列に 緑色のチェックマークの利用可能アイコン [**使用可能**] アイコンが表示されていれば、使用できる状態です。

gcloud

gcloud CLI を使用して Confidential VM インスタンスを作成するには、 instances create サブコマンドと --confidential-compute-type フラグを使用します。

gcloud compute instances create INSTANCE_NAME \
    --confidential-compute-type=CONFIDENTIAL_COMPUTING_TECHNOLOGY \
    --machine-type=MACHINE_TYPE_NAME \
    --min-cpu-platform="CPU_PLATFORM" \
    --maintenance-policy=MAINTENANCE_POLICY \
    --zone=ZONE_NAME \
    --image-project=IMAGE_PROJECT \
    --image-family=IMAGE_FAMILY_NAME \
    --project=PROJECT_ID

次の値を指定します。

次のコマンドを実行して、AMD SEV-SNP を使用して us-central1-a ゾーンに my-instance という n2d-standard-2 インスタンスを作成します。

gcloud compute instances create my-instance \
    --machine-type=n2d-standard-2 \
    --min-cpu-platform="AMD Milan" \
    --zone=us-central1-a \
    --confidential-compute-type=SEV_SNP \
    --maintenance-policy=TERMINATE \
    --image-project=ubuntu-os-cloud \
    --image-family=ubuntu-2404-lts-amd64

レスポンス

作成リクエストに対するレスポンスは次のようになります。

Created [https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance].
NAME: my-instance
ZONE: us-central1-a
MACHINE_TYPE: n2d-standard-2
PREEMPTIBLE:
INTERNAL_IP: 0.0.0.0
EXTERNAL_IP: 0.0.0.0
STATUS: RUNNING

REST

Confidential VM インスタンスを作成するには、適切な本文コンテンツを含む POST リクエストを送信する必要があります。

HTTP メソッドと URL:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/instances

リクエストの本文(JSON):

{
  "name": "INSTANCE_NAME",
  "confidentialInstanceConfig": {
    "confidentialInstanceType": "CONFIDENTIAL_COMPUTING_TECHNOLOGY"
  },
  "machineType": "zones/ZONE_NAME/machineTypes/MACHINE_TYPE_NAME",
  "minCpuPlatform": "CPU_PLATFORM",
  "scheduling": {
    "automaticRestart": true,
    "nodeAffinities": [],
    "onHostMaintenance": "MAINTENANCE_POLICY",
    "preemptible": false
  },
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY_NAME"
      }
    }
  ],
  "networkInterfaces": [
    {
      "nicType": "gVNIC"
    }
  ]
}

次の値を指定します。

次のいずれかのコマンドを実行して、AMD SEV-SNP を使用して my-project プロジェクトの us-central1-a ゾーンに my-instance という n2d-standard-2 インスタンスを作成します。

curl(Linux、macOS、Cloud Shell)

curl -X POST \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      -d '{
            "name": "my-instance",
            "confidentialInstanceConfig": {
              "confidentialInstanceType": "SEV_SNP"
            },
            "machineType": "zones/us-central1-a/machineTypes/n2d-standard-2",
            "minCpuPlatform": "AMD Milan",
            "scheduling": {
              "automaticRestart": true,
              "nodeAffinities": [],
              "onHostMaintenance": "TERMINATE",
              "preemptible": false
            },
            "disks": [
              {
                "boot": true,
                "initializeParams": {
                  "sourceImage": "projects/ubuntu-os-cloud/global/images/family/ubuntu-2404-lts-amd64"
                }
              }
            ],
            "networkInterfaces": [
              {
                "nicType": "gVNIC"
              }
            ]
          }' \
      https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances

PowerShell(Windows)

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
$body = @"
{
  "name": "my-instance",
  "confidentialInstanceConfig": {
    "confidentialInstanceType": "SEV_SNP"
  },
  "machineType": "zones/us-central1-a/machineTypes/n2d-standard-2",
  "minCpuPlatform": "AMD Milan",
  "scheduling": {
    "automaticRestart": true,
    "nodeAffinities": [],
    "onHostMaintenance": "TERMINATE",
    "preemptible": false
  }
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/ubuntu-os-cloud/global/images/family/ubuntu-2404-lts-amd64"
      }
    }
  ],
  "networkInterfaces": [
    {
      "nicType": "gVNIC"
    }
  ]
}
"@
Invoke-WebRequest `
  -Method POST `
  -Headers $headers `
  -ContentType: "application/json; charset=utf-8" `
  -Body $body `
  -Uri "https://compute.googleapis.com/compute/projects/my-project/zones/us-central1-a/instances" | Select-Object -Expand Content

レスポンス

作成リクエストに対するレスポンスは次のようになります。

{
  "kind": "compute#operation",
  "id": "0000000000000000000",
  "name": "operation-0000000000000-0000000000000-00000000-00000000",
  "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a",
  "operationType": "insert",
  "targetLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instances/my-instance",
  "targetId": "0000000000000000000",
  "status": "RUNNING",
  "user": "alex@example.com",
  "progress": 0,
  "insertTime": "2024-09-29T18:06:52.174-07:00",
  "startTime": "2024-09-29T18:06:52.175-07:00",
  "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/operations/operation-0000000000000-0000000000000-00000000-00000000"
}

VM の作成状況を確認するには、selfLinkGET リクエストを送信します。

GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/operations/OPERATION_ID

特定のマシンタイプでより高いネットワーク帯域幅を有効にする

大規模なマシンタイプは、高帯域幅ネットワーキングをサポートしています。Tier_1 ネットワーク帯域幅の構成を選択すると、マシンタイプに応じて、データ転送の下り(外向き)帯域幅がデフォルトの 32 Gbps から 50 ~ 200 Gbps に増加します。Tier_1 の帯域幅速度を速い方にするには、インスタンスで gVNIC 仮想ネットワーク ドライバが実行されている必要があります。 詳細については、 帯域幅の大きな VM の構成をご覧ください。

次のステップ

Cloud Monitoring を使用して Confidential VMs インスタンスを検証する方法を確認する