새 Compute Engine 가상 머신을 만드는 과정에서 컨피덴셜 VM 인스턴스를 만들 수 있습니다.
시작하기 전에
컨피덴셜 VM 인스턴스를 만들기 전에 다음과 같이 환경을 설정해야 합니다.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- 
    
    
      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
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
  
    
      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 theserviceusage.services.enablepermission. Learn how to grant roles.
- 
    
    
      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
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
  
    
      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 theserviceusage.services.enablepermission. Learn how to grant roles.
- (선택사항) 이 가이드의 gcloud CLI 예시를 사용하려면 다음 안내를 따르세요.
    - 최신 버전의 gcloud CLI를 설치하거나 업데이트합니다.
- 컨피덴셜 VM을 지원하는 클라이언트 기본 리전 및 영역을 설정합니다.
 
- (선택사항) 이 가이드의 API 예시를 사용하려면 요청에 대한 인증을 설정합니다. OAuth 2.0 자세히 알아보기
- Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다. 
- 인스턴스 만들기를 클릭합니다. 
- 머신 구성 창에서 다음을 수행합니다. - 지원되는 리전 및 영역을 선택합니다. 
- 다음 머신 계열 중 하나를 선택합니다. - 범용 
- 컴퓨팅 최적화 
- GPU 
 
- GPU 계열을 선택한 경우 지원되는 머신 유형에 따라 적절한 GPU 유형과 GPU 수를 선택합니다. 
- 사용할 컨피덴셜 컴퓨팅 기술에 지원되는 머신 유형을 선택합니다. 
 
- 탐색 메뉴에서 보안을 클릭합니다. 
- 컨피덴셜 VM 서비스 섹션에서 사용 설정을 클릭합니다. 
- 유형 선택 상자에서 다음 컨피덴셜 컴퓨팅 기술 유형 중 하나를 선택합니다. - AMD SEV 
- AMD SEV-SNP 
- Intel TDX 
 
- 컨피덴셜 컴퓨팅 사용 설정 대화상자에서 서비스를 사용 설정할 때 업데이트되는 설정 목록을 검토합니다. 호환되지 않는 값으로 설정된 경우 다음 필드가 포함될 수 있습니다. - 계열 및 머신 유형. 자세한 내용은 머신 유형, CPU, 영역을 참고하세요. 
- 리전 및 영역. 자세한 내용은 머신 유형, CPU, 영역을 참고하세요. 
- 부팅 디스크 이미지. 자세한 내용은 운영체제를 참고하세요. 
- 호스트 유지보수 시 자세한 내용은 VM의 호스트 유지보수 정책 설정을 참고하세요. 
- 네트워크 인터페이스 카드. 자세한 내용은 Google Virtual NIC 사용을 참조하세요. 
 
- 확인을 클릭한 후 만들기를 클릭합니다. 
- INSTANCE_NAME: 새 VM 인스턴스의 이름입니다.
- CONFIDENTIAL_COMPUTING_TECHNOLOGY: 사용할 컨피덴셜 컴퓨팅 기술의 유형입니다. 다음 값 중 하나를 선택합니다.- SEV
- SEV_SNP
- TDX
 
- MACHINE_TYPE_NAME: VM 머신 유형입니다(예:- n2d-standard-2). 컨피덴셜 VM 인스턴스의 유효한 머신 유형은 선택한 컨피덴셜 컴퓨팅 기술에 따라 결정됩니다. 머신 유형, CPU, 영역을 참고하세요.
- CPU_PLATFORM: 다음 값 중 하나를 선택합니다.- AMD SEV의 경우: - AMD Milan(C2D 또는 N2D 머신 유형),- AMD Genoa(C3D 머신 유형) 또는- AMD Turin(C4D 머신 유형)
- AMD SEV-SNP: - AMD Milan(N2D 머신 유형)
- Intel TDX의 경우 이 플래그를 삭제합니다. 
 
- MAINTENANCE_POLICY: SEV를 사용하는 N2D 머신 유형의 경우 실시간 마이그레이션 지원을 위해- MIGRATE로 설정합니다. 다른 모든 머신 유형의 경우 라이브 마이그레이션을 지원하지 않으므로 이 값을- TERMINATE로 설정합니다.
- ZONE_NAME: 인스턴스를 만들 컨피덴셜 VM 지원 영역입니다.
- IMAGE_PROJECT: 지원되는 운영체제 이미지가 포함된 프로젝트입니다.
- IMAGE_FAMILY_NAME: 컨피덴셜 VM 지원 운영체제 이미지의 계열입니다.- --image를 추가로 지정하지 않으면 최신 이미지 버전이 선택됩니다.
- PROJECT_ID: 선택사항. VM을 만들 프로젝트의 ID입니다.
- PROJECT_ID: VM을 만들 프로젝트의 ID입니다.
- ZONE_NAME: 인스턴스를 만들 컨피덴셜 VM 지원 영역입니다.
- INSTANCE_NAME: 새 VM 인스턴스의 이름입니다.
- CONFIDENTIAL_COMPUTING_TECHNOLOGY: 사용할 컨피덴셜 컴퓨팅 기술의 유형입니다. 다음 값 중 하나를 선택합니다.- SEV
- SEV_SNP
- TDX
 
- MACHINE_TYPE_NAME: VM 머신 유형입니다(예:- n2d-standard-2). 컨피덴셜 VM 인스턴스의 유효한 머신 유형은 선택한 컨피덴셜 컴퓨팅 기술에 따라 결정됩니다. 머신 유형, CPU, 영역을 참고하세요.
- CPU_PLATFORM: 다음 값 중 하나를 선택합니다.- AMD SEV의 경우: - AMD Milan(C2D 또는 N2D 머신 유형),- AMD Genoa(C3D 머신 유형) 또는- AMD Turin(C4D 머신 유형)
- AMD SEV-SNP: - AMD Milan(N2D 머신 유형)
- Intel TDX: 이 키-값 쌍을 삭제합니다. 
 
- MAINTENANCE_POLICY: SEV를 사용하는 N2D 머신 유형의 경우 실시간 마이그레이션 지원을 위해- MIGRATE로 설정합니다. 다른 모든 머신 유형의 경우 라이브 마이그레이션을 지원하지 않으므로 이 값을- TERMINATE로 설정합니다.
- IMAGE_PROJECT: 지원되는 운영체제 이미지가 포함된 프로젝트입니다.
- IMAGE_FAMILY_NAME: 컨피덴셜 VM 지원 운영체제 이미지의 계열입니다.- --image를 추가로 지정하지 않으면 최신 이미지 버전이 선택됩니다.
인스턴스 만들기
콘솔
Google Cloud 콘솔로 컨피덴셜 VM 인스턴스를 만들려면 다음 단계를 완료하세요.
만들기를 클릭하면 VM 인스턴스 페이지가 열립니다. 이 페이지에서 새 인스턴스의 상태와 세부정보를 볼 수 있습니다. 컨피덴셜 VM 인스턴스의 상태 열에 
사용 가능 아이콘이 표시되면 사용할 수 있습니다.
gcloud
gcloud CLI를 사용하여 컨피덴셜 VM 인스턴스를 만들려면 --confidential-compute-type 플래그와 함께 instances create 하위 명령어를 사용합니다.
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
컨피덴셜 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"
    }
  ]
}
다음 값을 제공합니다.
예
다음 명령어 중 하나를 실행하여 my-project 프로젝트의 us-central1-a 영역에 AMD SEV-SNP를 사용하여 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/instancesPowerShell(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"
}
selfLink에 GET 요청을 전송하여 VM 생성 진행 상황을 확인할 수 있습니다.
GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE_NAME/operations/OPERATION_ID
특정 머신 유형에 더 높은 네트워크 대역폭 사용 설정
더 큰 머신 유형은 고대역폭 네트워킹을 지원합니다. Tier_1 네트워크 대역폭 구성을 선택하면 머신 유형에 따라 데이터 전송 아웃 대역폭이 기본 32Gbps에서 50~200Gbps로 증가합니다. 높은 Tier_1 대역폭 속도를 얻으려면 인스턴스에서 gVNIC 가상 네트워크 드라이버를 실행해야 합니다. 더 높은 대역폭으로 VM 구성에 대해 자세히 알아보세요.
다음 단계
Cloud Monitoring을 사용하여 컨피덴셜 VM 인스턴스의 유효성을 검사하는 방법 알아보기