이 문서에서는 부팅 디스크 이미지, 부팅 디스크 스냅샷 또는 컨테이너 이미지를 사용하여 가상 머신(VM) 인스턴스를 만드는 방법을 설명합니다. 일부 이미지는 보안 VM 기능을 지원하며, 보안 VM 기능은 UEFI 규격 펌웨어, 보안 부팅, vTPM 보호가 적용된 신중한 부팅과 같은 보안 기능을 제공합니다. 보안 VM에서 vTPM 및 무결성 모니터링은 기본적으로 사용 설정되어 있습니다.
VM을 생성하는 동안 VM에 대해 하나 이상의 디스크를 만들 수 있습니다. 이미 만들어진 VM에 디스크를 추가할 수도 있습니다. VM 인스턴스를 만들면 Compute Engine에서 이 인스턴스를 자동으로 시작합니다.
VM을 만드는 동안 네트워크 인터페이스를 여러 개 추가할 수도 있습니다. VM이 인터넷에 대한 위협에 노출되지 않도록 하려면 인스턴스에 네트워크 인터페이스를 추가할 때 외부 IP 주소를 생략하면 됩니다. 이러한 경우 Cloud NAT를 구성하지 않는 한 동일한 VPC 네트워크 또는 연결된 네트워크의 다른 VM에서만 VM에 액세스할 수 있습니다.
VM을 처음 만드는 경우 빠른 시작: Linux VM 사용 또는 빠른 시작: Windows Server VM 사용을 참조하세요.
더 구체적이거나 복잡한 VM 구성에 대해서는 다음 리소스를 참조하세요.
- 사용자 관리형 서비스 계정을 사용하는 VM 만들기
- Windows Server 인스턴스 만들기
- SQL Server 인스턴스 만들기
- 단독 테넌트 노드에서 인스턴스 만들기
- 커스텀 호스트 이름으로 VM 인스턴스 만들기
- gVNIC 네트워크 인터페이스를 사용하는 VM 인스턴스 만들기
- Arm VM 인스턴스 만들기 및 시작
- 연결된 GPU가 있는 VM 인스턴스 만들기
- 고성능 컴퓨팅(HP) 이미지로 VM 인스턴스 만들기
- VM 일괄 생성
- 연결된 인스턴스 일정으로 VM 인스턴스 만들기
- 관리형 인스턴스 그룹(MIG) 만들기
- 컨피덴셜 VM 인스턴스 만들기
- 인스턴스를 예약하고 예약된 인스턴스 사용하기
- 더 큰 대역폭으로 VM 인스턴스 구성하기
기존 라이선스를 가져오는 경우 Bring Your Own License(사용자 라이선스 사용)를 참조하세요.
시작하기 전에
- Google Cloud CLI 또는 REST를 사용하여 이미지나 디스크에서 VM을 만드는 경우 초당 VM 인스턴스가 20개로 제한됩니다. 초당 더 많은 VM을 만들어야 하는 경우 이미지 리소스의 할당량 한도 상향 조정을 요청합니다.
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다.
로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- 프로젝트에 대한
compute.instances.create
-
커스텀 이미지를 사용하여 VM 만들기: 이미지에 대한
compute.images.useReadOnly
권한 -
스냅샷을 사용하여 VM 만들기: 스냅샷에 대한
compute.snapshots.useReadOnly
권한 -
인스턴스 템플릿을 사용하여 VM 만들기: 인스턴스 템플릿에 대한
compute.instanceTemplates.useReadOnly
권한 -
VM에 레거시 네트워크 할당: 프로젝트에 대한
compute.networks.use
권한 -
VM의 고정 IP 주소 지정: 프로젝트에 대한
compute.addresses.use
권한 -
레거시 네트워크 사용 시 VM에 외부 IP 주소 할당: 프로젝트에 대한
compute.networks.useExternalIp
권한 -
VM의 서브넷 지정: 프로젝트 또는 선택한 서브넷에 대한
compute.subnetworks.use
권한 -
VPC 네트워크를 사용할 때 VM에 외부 IP 주소 할당: 프로젝트 또는 선택한 서브넷에 대한
compute.subnetworks.useExternalIp
권한 -
VM에 VM 인스턴스 메타데이터 설정: 프로젝트에 대한
compute.instances.setMetadata
권한 -
VM에 태그 설정: VM에 대한
compute.instances.setTags
권한 -
VM에 라벨 설정: VM에 대한
compute.instances.setLabels
권한 -
VM에 사용할 서비스 계정 설정: VM에 대한
compute.instances.setServiceAccount
권한 -
VM의 새 디스크 만들기: 프로젝트에 대한
compute.disks.create
권한 -
기존 디스크를 읽기 전용 또는 읽기-쓰기 모드로 연결: 디스크에 대한
compute.disks.use
권한 -
기존 디스크를 읽기 전용 모드로 연결: 디스크에 대한
compute.disks.useReadOnly
권한 Google Cloud 콘솔에서 이미지 페이지로 이동합니다.
다음 명령어를 실행합니다.
gcloud compute images list
이미지 이름 또는 이미지 계열과 이미지가 포함된 프로젝트의 이름을 기록해 둡니다.
선택사항: 이미지에서 보안 VM 기능을 지원하는지 확인하려면 다음 명령어를 실행합니다.
gcloud compute images describe IMAGE_NAME \ --project=IMAGE_PROJECT
다음을 바꿉니다.
IMAGE_NAME
: 보안 VM 기능 지원을 확인할 이미지의 이름IMAGE_PROJECT
: 이미지가 포함된 프로젝트
이미지가 보안 VM 기능을 지원하는 경우 출력에
type: UEFI_COMPATIBLE
줄이 표시됩니다.다음 명령어를 실행합니다.
GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/
이미지 이름 또는 이미지 계열과 이미지가 포함된 프로젝트의 이름을 기록해 둡니다.
선택사항: 이미지에서 보안 VM 기능을 지원하는지 확인하려면 다음 명령어를 실행합니다.
GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/IMAGE_NAME
다음을 바꿉니다.
IMAGE_PROJECT
: 이미지가 포함된 프로젝트IMAGE_NAME
: 보안 VM 기능 지원을 확인할 이미지의 이름
이미지가 보안 VM 기능을 지원하는 경우 출력에
type: UEFI_COMPATIBLE
줄이 표시됩니다.Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
프로젝트를 선택하고 계속을 클릭합니다.
인스턴스 만들기를 클릭합니다.
VM의 이름을 지정합니다. 자세한 내용은 리소스 이름 지정 규칙을 참조하세요.
선택사항: 이 VM의 영역을 변경합니다. Compute Engine은 각 리전 내의 영역 목록의 순서를 무작위로 지정하여 여러 영역에서 사용하도록 권장합니다.
VM의 머신 구성을 선택합니다.
부팅 디스크 섹션에서 변경을 클릭한 후 다음을 수행합니다.
- 공개 이미지 탭에서 다음을 선택합니다.
- 운영체제
- OS 버전
- 부팅 디스크 유형
- 부팅 디스크 크기
- 선택사항: 고급 구성 옵션의 경우 고급 구성 표시를 클릭합니다.
- 부팅 디스크 옵션을 확인하려면 선택을 클릭합니다.
- 공개 이미지 탭에서 다음을 선택합니다.
방화벽 섹션에서 VM에 대한 HTTP 또는 HTTPS 트래픽을 허용하려면 HTTP 트래픽 허용 또는 HTTPS 트래픽 허용을 선택합니다. 이 중 하나를 선택하면 Compute Engine에서 VM에 네트워크 태그를 추가합니다. 방화벽 규칙과 VM이 연결됩니다. 그런 다음 Compute Engine은
tcp:80
(HTTP) 또는tcp:443
(HTTPS)에서 들어오는 모든 트래픽을 허용하는 인그레스 방화벽 규칙을 만듭니다.선택사항: 보안 VM 기능을 지원하는 OS 이미지를 선택한 경우 다음과 같이 보안 VM 설정을 수정할 수 있습니다. 보안 VM 설정을 수정하려면 네트워킹, 디스크, 보안, 관리, 단독 테넌시 섹션에서 보안 섹션을 펼치고 필요에 따라 다음을 수행합니다.
보안 부팅을 사용 설정하려면 보안 부팅 설정을 선택합니다. 보안 부팅은 기본적으로 사용 중지되어 있습니다.
vTPM을 사용 중지하려면 vTPM 사용 설정 체크박스를 선택 해제합니다. vTPM은 기본적으로 사용 설정되어 있습니다. 무결성 모니터링은 신중한 부팅에서 수집한 데이터에 의존하므로 vTPM을 중지하면 무결성 모니터링도 중지됩니다.
무결성 모니터링을 사용 중지하려면 무결성 모니터링 사용 설정 체크박스를 선택 해제합니다. 무결성 모니터링은 기본적으로 사용 설정되어 있습니다.
만들기를 클릭하여 VM을 만들고 시작합니다.
- 공개 이미지를 선택합니다. 이미지 이름 또는 이미지 계열과 이미지가 포함된 프로젝트의 이름을 기록해 둡니다.
gcloud compute instances create
명령어를 사용하여 이미지 계열 또는 특정 버전의 OS 이미지로 VM을 만듭니다.선택적
--shielded-secure-boot
플래그를 지정하면 Compute Engine에서 세 가지 보안 VM 기능을 모두 사용 설정하여 VM을 만듭니다.Compute Engine에서 VM을 시작한 후 보안 VM 옵션을 수정하려면 VM을 중지해야 합니다.
gcloud compute instances create VM_NAME \ [--image=IMAGE | --image-family=IMAGE_FAMILY] \ --image-project=IMAGE_PROJECT --machine-type=MACHINE_TYPE
다음을 바꿉니다.
VM_NAME
: 새 VM의 이름.IMAGE
또는IMAGE_FAMILY
: 다음 중 하나를 지정합니다.IMAGE
: 공개 이미지의 특정 버전.예를 들면
--image=debian-10-buster-v20200309
입니다.IMAGE_FAMILY
: 이미지 계열.이렇게 하면 지원 중단되지 않은 최신 OS 이미지를 사용하여 VM이 생성됩니다. 예를 들어
--image-family=debian-10
을 지정하면 Compute Engine이 Debian 10 이미지 계열에서 최신 버전의 OS 이미지를 사용하여 VM을 만듭니다.
IMAGE_PROJECT
: 이미지가 포함된 프로젝트MACHINE_TYPE
: 새 VM의 머신 유형(사전 정의 또는 커스텀)영역에서 사용 가능한 머신 유형 목록을 보려면
--zones
플래그와 함께gcloud compute machine-types list
명령어를 사용합니다.
Compute Engine에서 VM을 만들었는지 확인합니다.
gcloud compute instances describe VM_NAME
VM_NAME
을 VM의 이름으로 바꿉니다.- Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
- 인스턴스 만들기를 클릭합니다.
- 원하는 매개변수를 지정합니다.
- 페이지 상단 또는 하단에서 상응하는 코드를 클릭한 후 Terraform 탭을 클릭하여 Terraform 코드를 확인합니다.
- 공개 이미지를 선택합니다. 이미지 이름 또는 이미지 계열과 이미지가 포함된 프로젝트의 이름을 기록해 둡니다.
instances.insert
메서드를 사용하여 이미지 계열 또는 특정 버전의 OS 이미지로 VM을 만듭니다.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }다음을 바꿉니다.
PROJECT_ID
: VM을 만들 프로젝트의 IDZONE
: VM을 만들 영역MACHINE_TYPE_ZONE
: 새 VM에 사용할 머신 유형이 포함된 영역MACHINE_TYPE
: 새 VM의 머신 유형(사전 정의 또는 커스텀)VM_NAME
: 새 VM의 이름IMAGE_PROJECT
: 이미지가 포함된 프로젝트
예를 들어debian-10
을 이미지 계열로 지정하는 경우debian-cloud
를 이미지 프로젝트로 지정합니다.IMAGE or IMAGE_FAMILY
: 다음 중 하나를 지정합니다.IMAGE
: 공개 이미지의 특정 버전
예를 들어"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
IMAGE_FAMILY
: 이미지 계열
이렇게 하면 지원 중단되지 않은 최신 OS 이미지에서 VM을 만듭니다. 예를 들어"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
을 지정하면 Compute Engine이Debian 10
이미지 계열에서 최신 버전의 OS 이미지를 사용하여 VM을 만듭니다.
NETWORK_NAME
: VM에 사용하려는 VPC 네트워크입니다. 기본 네트워크를 사용하도록default
를 지정할 수 있습니다.ENABLE_SECURE_BOOT
: 선택사항: 보안 VM 기능을 지원하는 이미지를 선택한 경우 기본적으로 Compute Engine은 vTPM(Virtual Trusted Platform Module) 및 무결성 모니터링을 사용 설정합니다. Compute Engine은 기본적으로 보안 부팅을 사용 설정하지 않습니다.enableSecureBoot
에true
를 지정하면 Compute Engine은 보안 VM 기능 3가지를 모두 사용 설정하여 VM을 만듭니다. Compute Engine에서 VM을 시작한 후 보안 VM 옵션을 수정하려면 VM을 중지해야 합니다.
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
프로젝트를 선택하고 계속을 클릭합니다.
인스턴스 만들기를 클릭합니다.
VM의 이름을 지정합니다. 자세한 내용은 리소스 이름 지정 규칙을 참조하세요.
선택사항: 이 VM의 영역을 변경합니다. Compute Engine은 각 리전 내의 영역 목록의 순서를 무작위로 지정하여 여러 영역에서 사용하도록 권장합니다.
VM의 머신 구성을 선택합니다.
부팅 디스크 섹션에서 변경을 클릭한 후 다음을 수행합니다.
- 커스텀 이미지 탭을 선택합니다.
- 이미지 프로젝트를 선택하려면 프로젝트 선택을 클릭한 후 다음을 수행합니다.
- 이미지가 포함된 프로젝트를 선택합니다.
- 열기를 클릭합니다.
- 이미지 목록에서 가져올 이미지를 클릭합니다.
- 부팅 디스크의 유형과 크기를 선택합니다.
- 선택사항: 고급 구성 옵션의 경우 고급 구성 표시를 클릭합니다.
- 부팅 디스크 옵션을 확인하려면 선택을 클릭합니다.
방화벽 섹션에서 VM에 대한 HTTP 또는 HTTPS 트래픽을 허용하려면 HTTP 트래픽 허용 또는 HTTPS 트래픽 허용을 선택합니다.
Google Cloud 콘솔은 VM에 네트워크 태그를 추가하고
tcp:80
(HTTP) 또는tcp:443
(HTTPS)에서 들어오는 모든 트래픽을 허용하는 인그레스 방화벽 규칙을 만듭니다. 네트워크 태그는 방화벽 규칙을 VM과 연결합니다. 자세한 내용은 Cloud Next 세대 방화벽 문서의 방화벽 규칙 개요를 참조하세요.만들기를 클릭하여 VM을 만들고 시작합니다.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
gcloud compute instances create
명령어를 실행하여 커스텀 이미지로 VM을 만듭니다.gcloud compute instances create VM_NAME \ --image-project IMAGE_PROJECT \ [--image IMAGE | --image-family IMAGE_FAMILY] --subnet SUBNET
다음을 바꿉니다.
VM_NAME
: VM 이름IMAGE_PROJECT
: 이미지가 포함된 프로젝트의 이름IMAGE
또는IMAGE_FAMILY
: 다음 중 하나를 지정합니다.IMAGE
: 커스텀 이미지의 이름.예를 들면
--image=my-debian-image-v2
입니다.IMAGE_FAMILY
: 커스텀 이미지 계열의 일부로 커스텀 이미지를 만든 경우 해당 커스텀 이미지 계열을 지정합니다.이렇게 하면 커스텀 이미지 계열에서 지원 중단되지 않은 최신 OS 이미지와 OS 버전에서 VM이 생성됩니다. 예를 들어
--image-family=my-debian-family
를 지정하면 Compute Engine이 커스텀my-debian-family
이미지 계열에서 최신 OS 이미지를 사용하여 VM을 만듭니다.
SUBNET
: 서브넷과 인스턴스가 같은 프로젝트에 있으면 SUBNET을 인스턴스와 동일한 리전에 있는 서브넷의 이름으로 바꿉니다.
- Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
- 인스턴스 만들기를 클릭합니다.
- 원하는 매개변수를 지정합니다.
- 페이지 상단 또는 하단에서 상응하는 코드를 클릭한 후 Terraform 탭을 클릭하여 Terraform 코드를 확인합니다.
PROJECT_ID
: VM을 만들 프로젝트의 IDZONE
: VM을 만들 영역MACHINE_TYPE_ZONE
: 새 VM에 사용할 머신 유형이 포함된 영역MACHINE_TYPE
: 새 VM의 머신 유형(사전 정의 또는 커스텀)VM_NAME
: 새 VM의 이름IMAGE_PROJECT
: 커스텀 이미지가 포함된 프로젝트의 이름IMAGE
또는IMAGE_FAMILY
: 다음 중 하나를 지정합니다.IMAGE
: 커스텀 이미지의 이름입니다. 예를 들면"sourceImage": "projects/my-project-1234/global/images/my-debian-image-v2"
입니다.IMAGE_FAMILY
: 커스텀 이미지 계열의 일부로 커스텀 이미지를 만든 경우 해당 커스텀 이미지 계열을 지정합니다.이렇게 하면 커스텀 이미지 계열에서 지원 중단되지 않은 최신 OS 이미지로 VM이 생성됩니다. 예를 들어
"sourceImage": "projects/my-project-1234/global/images/family/my-debian-family"
를 지정하면 Compute Engine이 커스텀my-debian-family
이미지 계열에서 최신 버전의 OS 이미지를 사용하여 VM을 만듭니다.
NETWORK_NAME
: VM에 사용하려는 VPC 네트워크입니다. 기본 네트워크를 사용하도록default
를 지정할 수 있습니다.ENABLE_SECURE_BOOT
: 선택사항: 보안 VM 기능을 지원하는 이미지를 선택한 경우 기본적으로 Compute Engine은 vTPM(Virtual Trusted Platform Module) 및 무결성 모니터링을 사용 설정합니다. Compute Engine은 기본적으로 보안 부팅을 사용 설정하지 않습니다.enableSecureBoot
에true
를 지정하면 Compute Engine은 보안 VM 기능 3가지를 모두 사용 설정하여 VM을 만듭니다. Compute Engine에서 VM을 시작한 후 보안 VM 옵션을 수정하려면 VM을 중지해야 합니다.Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
프로젝트를 선택하고 계속을 클릭합니다.
인스턴스 만들기를 클릭합니다.
VM의 이름을 지정합니다. 자세한 내용은 리소스 이름 지정 규칙을 참조하세요.
선택사항: 이 VM의 영역을 변경합니다. Compute Engine은 각 리전 내의 영역 목록의 순서를 무작위로 지정하여 여러 영역에서 사용하도록 권장합니다.
VM의 머신 구성을 선택합니다.
부팅 디스크 섹션에서 변경을 클릭한 후 다음을 수행합니다.
- 공개 이미지 탭에서 다음을 선택합니다.
- 운영체제
- OS 버전
- 부팅 디스크 유형
- 부팅 디스크 크기
- 선택사항: 고급 구성 옵션의 경우 고급 구성 표시를 클릭합니다.
- 부팅 디스크 옵션을 확인하려면 선택을 클릭합니다.
- 공개 이미지 탭에서 다음을 선택합니다.
방화벽 섹션에서 VM에 대한 HTTP 또는 HTTPS 트래픽을 허용하려면 HTTP 트래픽 허용 또는 HTTPS 트래픽 허용을 선택합니다. 이 중 하나를 선택하면 Compute Engine에서 VM에 네트워크 태그를 추가합니다. 방화벽 규칙과 VM이 연결됩니다. 그런 다음 Compute Engine은
tcp:80
(HTTP) 또는tcp:443
(HTTPS)에서 들어오는 모든 트래픽을 허용하는 인그레스 방화벽 규칙을 만듭니다.VM에 비부팅 디스크를 추가하려면 고급 옵션 섹션을 펼친 후 다음을 수행합니다.
- 디스크 섹션을 펼칩니다.
- 새 디스크 추가를 클릭한 후 다음을 수행합니다.
- 디스크의 이름, 유형, 소스 유형, 크기를 지정합니다.
- 연결 설정 섹션에서 디스크의 연결 모드와 삭제 규칙을 선택합니다. 새 디스크 추가에 대한 자세한 내용은 VM에 영구 디스크 추가를 참조하세요.
- 저장을 클릭합니다.
만들기를 클릭하여 VM을 만들고 시작합니다.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
gcloud compute instances create
명령어를 실행하여 추가 비부팅 디스크가 포함된 VM을 만듭니다.VM을 만들 때 비부팅 디스크를 최대 127개까지 추가할 수 있습니다. 만든 각 비부팅 디스크마다
--create-disk
플래그를 지정합니다.공개 또는 스톡 이미지에서 비부팅 디스크를 만들려면
--create-disk
플래그에image
또는image-family
및image-project
속성을 지정합니다. 빈 디스크를 만들려면 이러한 속성을 포함하지 마세요. 필요할 경우 디스크size
및type
에 속성을 포함할 수 있습니다.replica-zones
속성을 포함하여 리전 영구 디스크를 만듭니다.gcloud compute instances create VM_NAME \ --zone=ZONE \ [--image=IMAGE | --image-family=IMAGE_FAMILY] \ --image-project=IMAGE_PROJECT \ --create-disk [image=DISK_IMAGE | image-family=DISK_IMAGE_FAMILY ], \ image-project=DISK_IMAGE_PROJECT,size=SIZE_GB,type=DISK_TYPE \ --create-disk=device_name=DISK_NAME, \ replica-zones=^:^ZONE:REMOTE-ZONE,boot=false
다음을 바꿉니다.
VM_NAME
: 새 VM의 이름.ZONE
: VM을 만들 영역IMAGE
또는IMAGE_FAMILY
입니다. 다음 중 하나를 지정하세요.IMAGE
: 공개 이미지의 특정 버전.예를 들면
--image=debian-10-buster-v20200309
입니다.IMAGE_FAMILY
: 이미지 계열.이렇게 하면 지원 중단되지 않은 최신 OS 이미지를 사용하여 VM이 생성됩니다. 예를 들어
--image-family=debian-10
을 지정하면 Compute Engine이 Debian 10 이미지 계열에서 최신 버전의 OS 이미지를 사용하여 VM을 만듭니다.
IMAGE_PROJECT
: 이미지가 포함된 프로젝트추가 디스크의 경우 다음을 바꿉니다.
DISK_IMAGE
또는DISK_IMAGE_FAMILY
: 다음 중 하나를 지정합니다.DISK_IMAGE
: 비부팅 디스크로 사용할 이미지의 이름DISK_IMAGE_FAMILY
: 비부팅 디스크로 사용할 이미지 계열
DISK_IMAGE_PROJECT
: 디스크 이미지가 속한 이미지 프로젝트SIZE_GB
: 선택사항: 비부팅 디스크의 크기DISK_TYPE
: 선택사항: 영구 디스크 유형의 전체 또는 부분 URL.예를 들면
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
입니다. 사용 가능한 디스크 유형을 보려면gcloud compute disk-types list
명령어를 실행합니다.DISK_NAME
: 선택사항: VM이 생성된 후 게스트 OS에 표시되는 디스크 이름입니다.REMOTE_ZONE
: 디스크를 복제할 영역입니다.
빈 디스크의 경우
DISK_IMAGE
,DISK_IMAGE_FAMILY
또는DISK_IMAGE_PROJECT
매개변수를 지정하지 마세요.영역 디스크의 경우 디스크 속성
replica-zones
를 지정하지 마세요.
- Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
- 인스턴스 만들기를 클릭합니다.
- 원하는 매개변수를 지정합니다.
- 페이지 상단 또는 하단에서 상응하는 코드를 클릭한 후 Terraform 탭을 클릭하여 Terraform 코드를 확인합니다.
PROJECT_ID
: VM을 만들 프로젝트의 IDZONE
: VM을 만들 영역MACHINE_TYPE_ZONE
: 새 VM에 사용할 머신 유형이 포함된 영역MACHINE_TYPE
: 새 VM의 머신 유형(사전 정의 또는 커스텀)VM_NAME
: 새 VM의 이름IMAGE_PROJECT
: 이미지가 포함된 프로젝트
예를 들어debian-10
을 이미지 계열로 지정하는 경우debian-cloud
를 이미지 프로젝트로 지정합니다.IMAGE or IMAGE_FAMILY
: 다음 중 하나를 지정합니다.IMAGE
: 공개 이미지의 특정 버전
예를 들어"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
IMAGE_FAMILY
: 이미지 계열
이렇게 하면 지원 중단되지 않은 최신 OS 이미지에서 VM을 만듭니다. 예를 들어"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
을 지정하면 Compute Engine이Debian 10
이미지 계열에서 최신 버전의 OS 이미지를 사용하여 VM을 만듭니다.
- 추가 디스크의 경우 다음을 바꿉니다.
SIZE_GB
: 디스크 크기DISK_IMAGE
또는DISK_IMAGE_FAMILY
: 비부팅 디스크의 소스 이미지 또는 이미지 계열을 지정합니다.DISK_IMAGE
: 비부팅 디스크로 사용하려는 이미지의 이름(예:"sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE"
)입니다.DISK_IMAGE_FAMILY
: 비부팅 디스크로 사용할 이미지 계열(예:"sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/family/DISK_IMAGE_FAMILY"
)입니다.
DISK_TYPE
: 영구 디스크 유형의 전체 또는 부분 URL입니다. 예를 들면https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
입니다.DISK_NAME
: 선택사항. VM이 생성된 후 게스트 OS에 표시되는 디스크 이름입니다.REMOTE_ZONE
: 리전 디스크를 복제할 영역입니다.
빈 디스크의 경우
sourceImage
속성을 지정하지 마세요. 영역 디스크의 경우replicaZones
속성을 지정하지 마세요. NETWORK_NAME
: VM에 사용하려는 VPC 네트워크입니다. 기본 네트워크를 사용하도록default
를 지정할 수 있습니다.ENABLE_SECURE_BOOT
: 선택사항: 보안 VM 기능을 지원하는 이미지를 선택한 경우 기본적으로 Compute Engine은 vTPM(Virtual Trusted Platform Module) 및 무결성 모니터링을 사용 설정합니다. Compute Engine은 기본적으로 보안 부팅을 사용 설정하지 않습니다.enableSecureBoot
에true
를 지정하면 Compute Engine은 보안 VM 기능 3가지를 모두 사용 설정하여 VM을 만듭니다. Compute Engine에서 VM을 시작한 후 보안 VM 옵션을 수정하려면 VM을 중지해야 합니다.Google Cloud 콘솔에서 인스턴스 만들기 페이지로 이동합니다.
- VM의 이름을 지정합니다. 자세한 내용은 리소스 이름 지정 규칙을 참조하세요.
- 선택사항: 이 VM의 영역을 변경합니다. Compute Engine은 각 리전 내의 영역 목록 순서를 무작위로 지정하여 여러 영역에서 사용하도록 권장합니다.
- VM의 머신 구성을 선택합니다.
- 부팅 디스크 섹션에서 변경을 클릭하여 부팅 디스크를 구성한 후 다음을 수행합니다.
- 커스텀 이미지 탭을 선택합니다.
- 이미지 프로젝트를 선택하려면 프로젝트 선택을 클릭한 후 다음을 수행합니다.
- 이미지가 포함된 프로젝트를 선택합니다.
- 열기를 클릭합니다.
- 이미지 목록에서 가져올 이미지를 클릭합니다.
- 부팅 디스크의 유형과 크기를 선택합니다.
- 부팅 디스크 옵션을 확인하려면 선택을 클릭합니다.
VM에 HTTP 또는 HTTPS 트래픽을 허용하려면 방화벽 섹션에서 HTTP 트래픽 허용이나 HTTPS 트래픽 허용을 선택합니다.
Google Cloud 콘솔은 VM에 네트워크 태그를 추가하고
tcp:80
(HTTP) 또는tcp:443
(HTTPS)에서 들어오는 모든 트래픽을 허용하는 인그레스 방화벽 규칙을 만듭니다. 네트워크 태그는 방화벽 규칙을 VM과 연결합니다. 자세한 내용은 Cloud Next 세대 방화벽 문서의 방화벽 규칙 개요를 참조하세요.- VM을 시작하고 만들려면 만들기를 클릭합니다.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
gcloud compute instances create command
를 사용하여 VM을 만들고--image
및--image-project
플래그를 사용하여 이미지 이름과 이미지가 상주하는 프로젝트를 지정합니다.gcloud compute instances create VM_NAME \ --image=IMAGE \ --image-project=IMAGE_PROJECT
다음을 바꿉니다.
VM_NAME
: 새 VM의 이름입니다.IMAGE
: 이미지의 이름입니다.IMAGE_PROJECT
: 이미지가 속한 프로젝트입니다.
명령어가 정상적으로 실행되면
gcloud
에서 새 VM의 속성으로 응답합니다.Created [https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b/instances/example-instance]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS example-instance us-central1-b e2-standard-2 10.240.0.4 104.198.53.60 RUNNING
- Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
- 인스턴스 만들기를 클릭합니다.
- 원하는 매개변수를 지정합니다.
- 페이지 상단 또는 하단에서 상응하는 코드를 클릭한 후 Terraform 탭을 클릭하여 Terraform 코드를 확인합니다.
PROJECT_ID
: VM을 만들 프로젝트의 IDZONE
: VM을 만들 영역MACHINE_TYPE_ZONE
: 새 VM에 사용할 머신 유형이 포함된 영역MACHINE_TYPE
: 새 VM의 머신 유형(사전 정의 또는 커스텀)VM_NAME
: 새 VM의 이름IMAGE_PROJECT
: 공유 이미지가 포함된 프로젝트의 이름IMAGE
또는IMAGE_FAMILY
: 다음 중 하나를 지정합니다.IMAGE
: 공유 이미지 이름. 예를 들면"sourceImage": "projects/finance-project-1234/global/images/finance-debian-image-v2"
입니다.IMAGE_FAMILY
: 공유 이미지가 커스텀 이미지 계열의 일부로 생성된 경우 커스텀 이미지 계열을 지정합니다.이렇게 하면 커스텀 이미지 계열에서 지원 중단되지 않은 최신 OS 이미지로 VM이 생성됩니다. 예를 들어
"sourceImage": "projects/finance-project-1234/global/images/family/finance-debian-family"
를 지정하면 Compute Engine이 커스텀finance-debian-family
이미지 계열에서 최신 버전의 OS 이미지를 사용하여 VM을 만듭니다.
NETWORK_NAME
: VM에 사용하려는 VPC 네트워크입니다. 기본 네트워크를 사용하도록default
를 지정할 수 있습니다.ENABLE_SECURE_BOOT
: 선택사항: 보안 VM 기능을 지원하는 이미지를 선택한 경우 기본적으로 Compute Engine은 vTPM(Virtual Trusted Platform Module) 및 무결성 모니터링을 사용 설정합니다. Compute Engine은 기본적으로 보안 부팅을 사용 설정하지 않습니다.enableSecureBoot
에true
를 지정하면 Compute Engine은 보안 VM 기능 3가지를 모두 사용 설정하여 VM을 만듭니다. Compute Engine에서 VM을 시작한 후 보안 VM 옵션을 수정하려면 VM을 중지해야 합니다.VM 부팅 디스크 복원: 스냅샷을 사용하여 VM 부팅 디스크를 백업한 경우 해당 스냅샷을 사용하여 새 VM을 만들 수 있습니다. 자세한 내용은 부팅 디스크 스냅샷을 새 VM으로 복원을 참조하세요.
비부팅 디스크 복원: 스냅샷으로 비부팅 디스크를 백업한 경우 VM을 만들 때 스냅샷을 새 비부팅 디스크로 복원할 수 있습니다. 자세한 내용은 스냅샷을 기반으로 비부팅 디스크가 포함된 VM 만들기를 참조하세요.
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
프로젝트를 선택하고 계속을 클릭합니다.
인스턴스 만들기를 클릭합니다.
VM의 이름을 지정합니다. 자세한 내용은 리소스 이름 지정 규칙을 참조하세요.
컨테이너 섹션에서 컨테이너 배포를 클릭합니다.
사용할 컨테이너 이미지를 지정합니다. 예를 들면 다음과 같습니다.
Cloud Launcher에서 NGINX 1.12 컨테이너 이미지를 선택하려면 다음 명령어를 사용합니다.
gcr.io/cloud-marketplace/google/nginx1:1.12
Docker Hub의 Apache 컨테이너 이미지를 배포하려면 항상 Docker 이미지 전체 이름을 지정합니다.
docker.io/httpd:2.4
선택사항: 고급 컨테이너 옵션을 클릭합니다. 자세한 내용은 컨테이너 실행을 위한 옵션 구성을 참조하세요.
VM을 만들고, VM을 부팅하고, 컨테이너를 시작하려면 만들기를 클릭합니다.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
gcloud compute instances create-with-container
명령어를 실행합니다.gcloud compute instances create-with-container VM_NAME \ --container-image=CONTAINER_IMAGE
다음을 바꿉니다.
VM_NAME
: 새 VM의 이름입니다.CONTAINER_IMAGE
: 컨테이너 이미지의 이름입니다.
예를 들어 다음 명령어는 컨테이너 이미지를 시작하고 실행하는
nginx-vm
이라는 VM을 만듭니다.gcr.io/cloud-marketplace/google/nginx1:1.12
gcloud compute instances create-with-container nginx-vm \ --container-image=gcr.io/cloud-marketplace/google/nginx1:1.12
Docker Hub의 Apache 컨테이너 이미지를 배포하려면 항상 Docker 이미지 전체 이름을 지정합니다.
docker.io/httpd:2.4
- 네트워크나 서브넷을 지정하지 않으면 Compute Engine은 기본 VPC 네트워크 및 VM과 동일한 리전에 있는 자동 서브넷을 사용합니다.
- 네트워크를 지정하지 않으면 Compute Engine은 지정된 서브넷에서 네트워크를 추론합니다.
- 네트워크를 지정하는 경우 서브넷을 지정해야 하며 서브넷은 동일한 네트워크에 속해야 합니다. 그렇지 않으면 VM을 만들 수 없습니다.
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
프로젝트를 선택하고 계속을 클릭합니다.
인스턴스 만들기를 클릭합니다.
VM의 이름을 지정합니다. 자세한 내용은 리소스 이름 지정 규칙을 참조하세요.
선택사항: 이 VM의 영역을 변경합니다. Compute Engine은 각 리전 내의 영역 목록의 순서를 무작위로 지정하여 여러 영역에서 사용하도록 권장합니다.
방화벽 섹션에서 VM에 대한 HTTP 또는 HTTPS 트래픽을 허용하려면 HTTP 트래픽 허용 또는 HTTPS 트래픽 허용을 선택합니다.
Google Cloud 콘솔은 VM에 네트워크 태그를 추가하고
tcp:80
(HTTP) 또는tcp:443
(HTTPS)에서 들어오는 모든 트래픽을 허용하는 인그레스 방화벽 규칙을 만듭니다. 네트워크 태그는 방화벽 규칙을 VM과 연결합니다. 자세한 내용은 Cloud NGFW 문서의 방화벽 규칙 개요를 참조하세요.고급 옵션 섹션을 펼칩니다.
- 네트워킹 섹션을 펼칩니다.
- 네트워크 인터페이스에서 네트워크 세부정보를 지정합니다.
- 네트워크 필드에서 사용자가 만든 서브넷이 포함된 VPC 네트워크를 선택합니다.
- 서브넷 필드에서 사용할 VM의 서브넷을 선택합니다.
- 완료를 클릭합니다.
만들기를 클릭하여 VM을 만들고 시작합니다.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Google Cloud CLI를 사용하여 동일한 안내에 따라 이미지 또는 스냅샷을 사용하여 VM을 만들고
gcloud compute instances create
명령어를 실행할 때--subnet=SUBNET_NAME
및--zone=ZONE
플래그를 추가합니다.gcloud compute instances create VM_NAME \ --network=NETWORK_NAME \ --subnet=SUBNET_NAME \ --zone=ZONE
다음을 바꿉니다.
VM_NAME
: VM 이름NETWORK_NAME
: 선택사항: 네트워크 이름SUBNET_NAME
: 서브넷의 이름네트워크의 서브넷 목록을 보려면
gcloud compute networks subnets list
명령어를 사용합니다.ZONE
: VM이 만들어지는 영역(예:europe-west1-b
)VM의 리전은 영역에서 추론됩니다.
- Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
- 인스턴스 만들기를 클릭합니다.
- 원하는 매개변수를 지정합니다.
- 페이지 상단 또는 하단에서 상응하는 코드를 클릭한 후 Terraform 탭을 클릭하여 Terraform 코드를 확인합니다.
PROJECT_ID
: VM을 만들 프로젝트의 IDZONE
: VM을 만들 영역MACHINE_TYPE_ZONE
: 새 VM에 사용할 머신 유형이 포함된 영역MACHINE_TYPE
: 새 VM의 머신 유형(사전 정의 또는 커스텀)VM_NAME
: 새 VM의 이름IMAGE_PROJECT
: 이미지가 포함된 프로젝트
예를 들어debian-10
을 이미지 계열로 지정하는 경우debian-cloud
를 이미지 프로젝트로 지정합니다.IMAGE or IMAGE_FAMILY
: 다음 중 하나를 지정합니다.IMAGE
: 공개 이미지의 특정 버전
예를 들어"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
IMAGE_FAMILY
: 이미지 계열
이렇게 하면 지원 중단되지 않은 최신 OS 이미지에서 VM을 만듭니다. 예를 들어"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
을 지정하면 Compute Engine이Debian 10
이미지 계열에서 최신 버전의 OS 이미지를 사용하여 VM을 만듭니다.
NETWORK_NAME
: VM에 사용하려는 VPC 네트워크입니다. 기본 네트워크를 사용하도록default
를 지정할 수 있습니다.REGION
: 지정된 서브넷이 있는 리전SUBNET_NAME
: 서브넷의 이름ENABLE_SECURE_BOOT
: 선택사항: 보안 VM 기능을 지원하는 이미지를 선택한 경우 기본적으로 Compute Engine은 vTPM(Virtual Trusted Platform Module) 및 무결성 모니터링을 사용 설정합니다. Compute Engine은 기본적으로 보안 부팅을 사용 설정하지 않습니다.enableSecureBoot
에true
를 지정하면 Compute Engine은 보안 VM 기능 3가지를 모두 사용 설정하여 VM을 만듭니다. Compute Engine에서 VM을 시작한 후 보안 VM 옵션을 수정하려면 VM을 중지해야 합니다.Google Cloud 콘솔을 사용하여 VM을 만들 때 운영 에이전트 설치: 인스턴스 만들기 페이지에서 모니터링 및 로깅을 위한 운영 에이전트 설치 체크박스를 선택하여 운영 에이전트의 자동 설치를 사용 설정합니다. 이 옵션은 VM Manager를 제한된 기능 모드로 사용 설정하고 VM에 운영 에이전트를 설치하기 위한 OS 정책 할당을 만듭니다. 자세한 내용은 VM 생성 중에 운영 에이전트 설치를 참조하세요.
기존 VM에 운영 에이전트 설치: Google Cloud 콘솔, gcloud CLI 또는 자동화 도구를 사용하여 VM Fleet 또는 개별 VM에 운영 에이전트를 설치합니다. 자세한 내용은 운영 에이전트 설치를 참조하세요.
문제 해결
일반적인 VM 생성 오류를 해결하는 방법을 찾으려면 VM 생성 문제 해결을 참조하세요.
다음 단계
VM의 상태를 확인하여 사용할 준비가 되었는지 확인
스냅샷을 사용하여 영구 디스크를 백업하는 방법 알아보기
비부팅 스토리지 디스크를 만들고 VM에 연결하여 데이터를 부팅 디스크와 별도로 저장하는 방법 알아보기
VM에 연결하는 방법 알아보기
VM을 VM 그룹으로 수평 확장하는 방법 알아보기
직접 사용해 보기
Google Cloud를 처음 사용하는 경우 계정을 만들어 실제 시나리오에서 Compute Engine의 성능을 평가할 수 있습니다. 신규 고객에게는 워크로드를 실행, 테스트, 배포할 수 있는 무료 크레딧 $300가 제공됩니다.
Compute Engine 무료로 사용해 보기
Terraform
로컬 개발 환경에서 이 페이지의 Terraform 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
C#
이 페이지의 .NET 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Go
이 페이지의 Go 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
자바
이 페이지의 Java 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Node.js
이 페이지의 Node.js 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
PHP
이 페이지의 PHP 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Python
이 페이지의 Python 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
Ruby
이 페이지의 Ruby 샘플을 로컬 개발 환경에서 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공하는 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.
필요한 역할
VM을 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 인스턴스 관리자(v1)(
roles/compute.instanceAdmin.v1
) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.이 사전 정의된 역할에는 VM을 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
VM을 만들려면 다음 권한이 필요합니다.
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
이미지에서 VM 인스턴스 만들기
이 섹션에서는 공개 OS 이미지 또는 커스텀 이미지에서 VM을 만드는 방법을 설명합니다. VM은 부트로더, 부팅 파일 시스템, OS 이미지를 포함합니다.
Compute Engine에서 사용 가능한 공개 이미지 목록 보기
공개 이미지를 사용하여 VM을 만들기 전에 Compute Engine에서 사용할 수 있는 공개 이미지 목록을 살펴보세요.
각 공개 이미지에서 사용할 수 있는 기능에 대한 자세한 내용은 운영체제별 기능 지원을 참조하세요.
콘솔
gcloud
C#
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 C# 설정 안내를 따르세요. 자세한 내용은 Compute Engine C# API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Compute Engine Go API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Compute Engine Java API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Compute Engine Node.js API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 PHP 설정 안내를 따르세요. 자세한 내용은 Compute Engine PHP API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Compute Engine Python API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Ruby 설정 안내를 따르세요. 자세한 내용은 Compute Engine Ruby API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST
공개 이미지에서 VM 인스턴스 만들기
Google, 오픈소스 커뮤니티, 타사 공급업체는 공개 OS 이미지를 제공하고 유지보수합니다. 기본적으로 모든 Google Cloud 프로젝트는 공개 OS 이미지를 사용하여 VM을 만들 수 있습니다. 그러나 Google Cloud 프로젝트에 신뢰할 수 있는 이미지 목록이 정의된 경우에는 해당 목록의 이미지만 사용하여 VM을 만들 수 있습니다.
로컬 SSD로 보안 VM 이미지를 만들면 무결성 모니터링 또는 vTPM(virtual Trusted Platform Module)으로 데이터를 보호할 수 없습니다.
콘솔
gcloud
Terraform
VM을 만들려면
google_compute_instance
리소스를 사용하면 됩니다.Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.
Terraform 코드를 생성하려면 Google Cloud 콘솔에서 상응하는 코드 구성요소를 사용하면 됩니다.C#
C#
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 C# 설정 안내를 따르세요. 자세한 내용은 Compute Engine C# API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
Go
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Compute Engine Go API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Compute Engine Java API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Compute Engine Node.js API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 PHP 설정 안내를 따르세요. 자세한 내용은 Compute Engine PHP API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Compute Engine Python API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Ruby 설정 안내를 따르세요. 자세한 내용은 Compute Engine Ruby API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST
커스텀 이미지를 사용하여 VM 만들기
커스텀 이미지는 사용자 프로젝트에만 속합니다. 커스텀 이미지로 VM을 만들려면 먼저 커스텀 이미지를 만들어야 합니다(아직 없는 경우).
콘솔
gcloud
Terraform
Terraform 코드를 생성하려면 Google Cloud 콘솔에서 상응하는 코드 구성요소를 사용하면 됩니다.Go
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Compute Engine Go API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Compute Engine Java API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Compute Engine Node.js API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Compute Engine Python API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST
API에서 커스텀 이미지로 VM을 만드는 프로세스는 공개적으로 사용 가능한 이미지로 VM을 만드는 프로세스와 동일합니다.
커스텀 이미지에서 VM을 만들려면
instances.insert
메서드를 사용합니다.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }다음을 바꿉니다.
추가 비부팅 디스크가 포함된 VM 인스턴스 만들기
콘솔
gcloud
Terraform
Terraform 코드를 생성하려면 Google Cloud 콘솔에서 상응하는 코드 구성요소를 사용하면 됩니다.Go
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Compute Engine Go API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Compute Engine Java API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Compute Engine Node.js API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Compute Engine Python API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST
각 추가 디스크에
initializeParams
속성을 사용하여 VM을 만들 때 비부팅 디스크를 최대 127개까지 만들 수 있습니다. 공개 또는 비공개 이미지를 사용하여 추가 디스크를 만듭니다. 빈 디스크를 추가하려면sourceImage
값 없이initializeParams
항목을 정의합니다. 리전 영구 디스크를 만들려면 디스크 속성replicaZones
를 포함합니다.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true }, { "initializeParams":{ "diskSizeGb":"SIZE_GB", "sourceImage":"projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE", "diskType":"DISK_TYPE" } }, { "initializeParams":{ "diskSizeGb":"SIZE_GB", "diskType":"DISK_TYPE" }, }, { "boot": false, "deviceName":"DISK_NAME", "initializeParams": { "diskType": "DISK_TYPE", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE", "projects/PROJECT_ID/zones/REMOTE_ZONE" ] } } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }다음을 바꿉니다.
디스크를 사용하기 전에 먼저 디스크를 포맷하고 마운트하세요.
공유 이미지를 사용하여 VM 인스턴스 만들기
다른 사용자가 나와 이미지를 공유한 경우 이미지를 사용하여 VM을 만들 수 있습니다.
Console
gcloud
Terraform
Terraform에서 공유 이미지를 사용하여 VM을 만드는 프로세스는 공개적으로 사용 가능한 이미지로 VM을 만드는 프로세스와 동일합니다.
REST
API에서 공유 이미지를 사용하여 VM을 만드는 프로세스는 공개적으로 사용 가능한 이미지로 VM을 만드는 프로세스와 동일합니다. 공유 이미지에서 VM을 만들려면
instances.insert
메서드를 사용합니다.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }다음을 바꿉니다.
스냅샷에서 VM 만들기
다음 방법으로 스냅샷에서 새 VM을 만들 수 있습니다.
동일한 부팅 디스크로 VM을 두 개 이상 빠르게 만들려면 커스텀 이미지를 만들고 스냅샷을 사용하는 대신 해당 이미지에서 VM을 만듭니다.
컨테이너 이미지를 사용하여 VM 인스턴스 만들기
Compute Engine VM에서 컨테이너를 배포 및 실행하려면 VM을 만들 때 컨테이너 이미지 이름과 선택적 구성 매개변수를 지정합니다. Compute Engine에서 Docker가 설치된 Container-optimized OS 공개 이미지의 최신 버전을 사용하여 VM을 만듭니다. 그러면 VM이 시작될 때 Compute Engine이 컨테이너를 시작합니다. 자세한 내용은 VM에 컨테이너 배포를 참조하세요.
컨테이너 이미지에서 VM을 만들려면 Google Cloud 콘솔 또는
gcloud
를 사용해야 합니다.콘솔
gcloud
특정 서브넷에 VM 인스턴스 만들기
기본적으로 Google Cloud는 프로젝트마다
default
라는 자동 모드 VPC 네트워크를 만듭니다. 자동 모드 또는 커스텀 모드 VPC 네트워크에서 수동으로 만든 다른 네트워크나 서브넷을 사용하려면 VM을 만들 때 서브넷을 지정해야 합니다.서브넷에서 VM을 만드는 동안 다음 규칙을 고려하세요.
콘솔
gcloud
Terraform
특정 서브넷에 VM을 만들려면
google_compute_instance
리소스를 사용하면 됩니다.Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.
Terraform에서 공유 이미지를 사용하여 VM을 만드는 프로세스는 공개적으로 사용 가능한 이미지로 VM을 만드는 프로세스와 동일합니다.
Go
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Compute Engine Go API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
자바
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Compute Engine Java API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Compute Engine Node.js API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Compute Engine 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Compute Engine Python API 참고 문서를 확인하세요.
Compute Engine에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
REST
API 안내에 따라 이미지 또는 스냅샷에서 VM을 만들지만 요청 본문에
subnet
필드를 지정합니다. 빈 디스크를 추가하려면 소스 이미지를 추가하지 마세요. 필요한 경우diskSizeGb
,diskType
,labels
속성을 지정할 수 있습니다.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME", "subnetwork":"regions/REGION/subnetworks/SUBNET_NAME", "accessConfigs":{ "name":"External NAT", "type":"ONE_TO_ONE_NAT" } } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }다음을 바꿉니다.
운영 에이전트 모니터링 및 로깅을 위해 구성된 VM 만들기
운영 에이전트는 문제 해결과 성능 조정에 사용할 수 있는 VM의 원격 분석 데이터를 수집합니다. 다음 주제의 설명대로 VM을 만들 때 또는 기존 VM에 운영 에이전트를 설치할 수 있습니다.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-11-22(UTC)
-