새 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
- (선택사항) 이 가이드의 gcloud CLI 예시를 사용하려면 다음 안내를 따르세요.
- 최신 버전의 gcloud CLI를 설치하거나 업데이트합니다.
- 컨피덴셜 VM을 지원하는 클라이언트의 기본 리전 및 영역을 설정합니다.
- (선택사항) 이 가이드의 API 예시를 사용하려면 요청에 대한 인증을 설정합니다. OAuth 2.0 자세히 알아보기
인스턴스 만들기
콘솔
Google Cloud 콘솔을 사용하여 AMD SEV 컨피덴셜 VM을 만들려면 다음 단계를 완료하세요.
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
인스턴스 만들기를 클릭합니다.
컨피덴셜 VM 서비스 섹션에서 사용 설정을 클릭합니다.
컨피덴셜 컴퓨팅 사용 설정 대화상자에서 서비스를 사용 설정할 때 업데이트되는 설정 목록을 검토합니다. 호환되지 않는 값으로 설정된 경우 다음 필드가 포함될 수 있습니다.
계열 및 머신 유형. 자세한 내용은 머신 유형, CPU, 영역을 참고하세요.
리전 및 영역. 자세한 내용은 머신 유형, CPU, 영역을 참고하세요.
부팅 디스크 이미지. 자세한 내용은 운영체제를 참고하세요.
호스트 유지보수 시. 자세한 내용은 VM의 호스트 유지보수 정책 설정을 참고하세요.
네트워크 인터페이스 카드. 자세한 내용은 Google Virtual NIC 사용을 참조하세요.
사용 설정을 클릭합니다.
머신 구성 섹션에서 고급 구성을 펼칩니다.
CPU 플랫폼에서 AMD Milan 이상을 선택합니다.
설정이 만족스러운지 확인한 후 만들기를 클릭합니다.
만들기를 클릭하면 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-family=IMAGE_FAMILY_NAME \
--image-project=IMAGE_PROJECT \
--project=PROJECT_ID
다음 값을 제공합니다.
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 SEV-SNP의 경우
AMD Milan
(N2D 머신 유형)Intel TDX의 경우: 이 플래그를 삭제합니다.
MAINTENANCE_POLICY
: SEV를 사용하는 N2D 머신 유형의 경우 실시간 이전을 지원하도록MIGRATE
로 설정합니다. 다른 모든 머신 유형의 경우 라이브 마이그레이션을 지원하지 않으므로 이 값을TERMINATE
로 설정합니다.ZONE_NAME
: 인스턴스를 만들려는 컨피덴셜 VM에서 지원되는 영역입니다.IMAGE_FAMILY_NAME
: 컨피덴셜 VM 지원 운영체제 이미지의 계열입니다.--image
를 추가로 지정하지 않으면 최신 이미지 버전이 선택됩니다.IMAGE_PROJECT
: 지원되는 운영체제 이미지가 포함된 프로젝트입니다.PROJECT_ID
: 선택사항. VM을 만들 프로젝트의 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-family=ubuntu-2404-lts-amd64 \
--image-project=ubuntu-os-cloud
응답
생성 요청에 대한 응답은 다음 예와 유사합니다.
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",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY_NAME"
}
}
],
"networkInterfaces": [
{
"nicType": "gVNIC"
}
],
"scheduling": {
"automaticRestart": true,
"nodeAffinities": [],
"preemptible": false,
"onHostMaintenance": MAINTENANCE_POLICY
}
}
다음 값을 제공합니다.
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 SEV-SNP의 경우
AMD Milan
(N2D 머신 유형)Intel TDX의 경우: 이 키-값 쌍을 삭제합니다.
IMAGE_PROJECT
: 지원되는 운영체제 이미지가 포함된 프로젝트입니다.IMAGE_FAMILY_NAME
: 컨피덴셜 VM 지원 운영체제 이미지의 계열입니다.--image
를 추가로 지정하지 않으면 최신 이미지 버전이 선택됩니다.MAINTENANCE_POLICY
: SEV를 사용하는 N2D 머신 유형의 경우 실시간 이전 지원을 위해 이 값을MIGRATE
로 설정합니다. 다른 모든 머신 유형의 경우 라이브 마이그레이션을 지원하지 않으므로 이 값을TERMINATE
로 설정합니다.
예시
다음 명령어 중 하나를 실행하여 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 '{ "machineType": "zones/us-central1-a/machineTypes/n2d-standard-2", "name": "my-instance", "minCpuPlatform": "AMD Milan", "confidentialInstanceConfig": { "confidentialInstanceType": "SEV_SNP" }, "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/ubuntu-os-cloud/global/images/family/ubuntu-2404-lts-amd64" } } ], "networkInterfaces": [ { "nicType": "gVNIC" } ], "scheduling": { "automaticRestart": true, "nodeAffinities": [], "preemptible": false, "onHostMaintenance": "TERMINATE" } }' \ 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 = @" { "machineType": "zones/us-central1-a/machineTypes/n2d-standard-2", "name": "my-instance", "minCpuPlatform": "AMD Milan", "confidentialInstanceConfig": { "confidentialInstanceType": "SEV_SNP" }, "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/ubuntu-os-cloud/global/images/family/ubuntu-2404-lts-amd64" } } ], "networkInterfaces": [ { "nicType": "gVNIC" } ], "scheduling": { "automaticRestart": true, "nodeAffinities": [], "preemptible": false, "onHostMaintenance": "TERMINATE" } } "@ 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
C2D 머신 유형에 더 높은 네트워크 대역폭 사용 설정
가장 큰 세 가지 C2D Compute Engine VM 모양(32, 56, 112)은 높은 대역폭 네트워킹을 지원합니다. 등급 1 네트워크 대역폭 구성을 선택하면 데이터 아웃바운드 전송 대역폭이 기본 32Gbps에서 50Gbps 또는 100Gbps로 증가합니다. 높은 등급 1 대역폭 속도를 얻으려면 인스턴스에서 gVNIC 가상 네트워크 드라이버를 실행해야 합니다. 더 높은 대역폭으로 VM 구성에 대해 자세히 알아보세요.
다음 단계
Cloud Monitoring을 사용하여 컨피덴셜 VM 인스턴스의 유효성을 검사하는 방법을 알아보세요.