기본적으로 모든 인스턴스에는 인스턴스가 사용하는 VPC 네트워크를 결정하는 단일 네트워크 인터페이스가 있습니다. 여러 네트워크 인터페이스로 인스턴스를 만들 수 있지만 각 인터페이스는 다른 VPC 네트워크에 연결되어야 합니다. 각 네트워크에는 인스턴스에 할당할 수 있는 IPv4 또는 IPv6 주소 범위를 정의하는 서브넷이 하나 이상 있어야 합니다.
자세한 내용은 다음 페이지를 참조하세요.
- 인스턴스를 만들 때 할당된 IP 주소: IP 주소
- 이중 스택 또는 IPv6 전용(미리보기) 인스턴스 만들기: 인스턴스 및 인스턴스 템플릿에 IPv6 구성
기본적으로 Google Cloud 는 프로젝트마다 default
라는 자동 모드 VPC 네트워크를 만듭니다. 자동 모드 또는 커스텀 모드 VPC 네트워크에서 수동으로 만든 다른 네트워크 또는 서브넷을 사용하려면 인스턴스를 만들고 네트워크 인터페이스를 구성할 때 서브넷을 지정해야 합니다.
시작하기 전에
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 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.
- 프로젝트에 대한
compute.instances.create
권한 -
인스턴스의 서브넷 지정: 프로젝트 또는 선택한 서브넷에 대한
compute.subnetworks.use
권한 -
VPC 네트워크를 사용할 때 인스턴스에 외부 IP 주소 할당: 프로젝트 또는 선택한 서브넷에 대한
compute.subnetworks.useExternalIp
권한 - 네트워크나 서브넷을 지정하지 않으면 Compute Engine은 기본 VPC 네트워크 및 인스턴스와 동일한 리전에 있는 자동 서브넷을 사용합니다.
- 네트워크를 지정하지 않으면 Compute Engine은 지정된 서브넷에서 네트워크를 추론합니다.
- 네트워크를 지정하는 경우 서브넷을 지정해야 하며 서브넷은 동일한 네트워크에 속해야 합니다. 그렇지 않으면 인스턴스 생성에 실패합니다.
Google Cloud 콘솔에서 인스턴스 만들기 페이지로 이동합니다.
메시지가 표시되면 프로젝트를 선택하고 계속을 클릭합니다.
인스턴스 만들기 페이지가 표시되고 머신 구성 창이 표시됩니다.
머신 구성 창에서 다음을 수행합니다.
- 이름 필드에 인스턴스의 이름을 지정합니다. 자세한 내용은 리소스 이름 지정 규칙을 참고하세요.
선택사항: 영역 필드에서 이 인스턴스의 영역을 선택합니다.
기본 선택 항목은 모두입니다. 이 기본 선택사항을 변경하지 않으면 Google에서 머신 유형과 가용성을 기반으로 영역을 자동으로 선택합니다.
인스턴스의 머신 계열을 선택합니다. 그러면 Google Cloud 콘솔에 선택한 머신 계열에 사용할 수 있는 머신 시리즈가 표시됩니다. 다음과 같은 머신 계열 옵션을 사용할 수 있습니다.
- 범용
- 컴퓨팅 최적화
- 메모리 최적화
- 스토리지 최적화
- GPU
시리즈 열에서 인스턴스의 머신 시리즈를 선택합니다.
이전 단계에서 머신 제품군으로 GPU를 선택한 경우 원하는 GPU 유형을 선택합니다. 그러면 선택한 GPU 유형에 따라 머신 시리즈가 자동으로 선택됩니다.
머신 유형 섹션에서 인스턴스의 머신 유형을 선택합니다.
탐색 메뉴에서 네트워킹을 클릭합니다. 표시되는 네트워킹 창에서 다음을 수행합니다.
인스턴스에 대한 HTTP 또는 HTTPS 트래픽을 허용하려면 방화벽 섹션으로 이동하여 HTTP 트래픽 허용 또는 HTTPS 트래픽 허용을 선택합니다.
Compute Engine은 인스턴스에 네트워크 태그를 추가하고
tcp:80
(HTTP) 또는tcp:443
(HTTPS)에서 들어오는 모든 트래픽을 허용하는 인그레스 방화벽 규칙을 만듭니다. 네트워크 태그는 방화벽 규칙을 인스턴스와 연결합니다. 자세한 내용은 Cloud 차세대 방화벽 문서의 방화벽 규칙 개요를 참고하세요.네트워크 인터페이스 세부정보를 지정하려면 네트워크 인터페이스 섹션으로 이동하여 네트워크 인터페이스 추가를 클릭합니다.
표시되는 새 네트워크 인터페이스 섹션에서 다음을 수행합니다.
- 네트워크 필드에서 사용자가 만든 서브넷이 포함된 VPC 네트워크를 선택합니다.
- 서브네트워크 목록에서 인스턴스가 사용할 서브넷을 선택합니다.
- IP 스택 유형 필드에서 네트워크 인터페이스의 IP 스택 유형을 선택합니다.
- 네트워크 인터페이스 세부정보를 확인하려면 완료를 클릭합니다.
선택사항: 다른 구성 옵션을 지정합니다. 자세한 내용은 인스턴스 생성 중 구성 옵션을 참고하세요.
만들기를 클릭하여 인스턴스를 만들고 시작합니다.
-
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를 사용하여 동일한 안내에 따라 공개 이미지 또는 스냅샷을 사용하여 인스턴스를 만들고
gcloud compute instances create
명령어를 실행할 때 이 섹션에 표시된 네트워킹 플래그를 포함합니다.gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --create-disk=boot=yes,image=projects/IMAGE_PROJECT/global/images/IMAGE,size=SIZE \ --network=NETWORK_NAME \ --subnet=SUBNET_NAME \ --stack-type=STACK_TYPE \ --private-network-ip=INTERNAL_IPV4_ADDRESS \ --address=EXTERNAL_IPV4_ADDRESS \ --nic-type=GVNIC
다음을 바꿉니다.
INSTANCE_NAME
: 컴퓨팅 인스턴스의 이름입니다.ZONE
: 인스턴스가 생성되는 영역입니다(예:europe-west1-b
). 인스턴스의 리전은 영역에서 추론됩니다.MACHINE_TYPE
: 선택사항: 인스턴스에 사용할 머신 유형입니다.IMAGE_PROJECT
: 선택사항: 이미지가 포함된 이미지 프로젝트IMAGE
: 선택사항: 다음 중 하나를 지정합니다.- OS 이미지의 특정 버전입니다(예:
rocky-linux-9-optimized-gcp-v20240717
). - 이미지 계열이며 형식은
family/IMAGE_FAMILY
여야 합니다. 이렇게 하면 지원 중단되지 않은 최신 OS 이미지를 사용하여 인스턴스가 생성됩니다. 예를 들어family/rocky-linux-9-optimized-gcp
를 지정하면 Compute Engine은Google Cloud 이미지 계열에 최적화된 Rocky Linux 9의 최신 버전 OS 이미지를 사용하여 인스턴스를 만듭니다. 이미지 계열 사용에 대한 자세한 내용은 이미지 계열 권장사항을 참고하세요.
- OS 이미지의 특정 버전입니다(예:
SIZE
: 선택사항: 새 디스크 크기입니다. 값은 정수여야 합니다. 기본 측정 단위는 GiB입니다.NETWORK_NAME
: 선택사항: 네트워크 이름SUBNET_NAME
: 인스턴스와 함께 사용할 서브넷의 이름입니다.네트워크의 서브넷 목록을 보려면
gcloud compute networks subnets list
명령어를 사용합니다.STACK_TYPE
: 선택사항: 네트워크 인터페이스의 스택 유형입니다.STACK_TYPE
는IPV4_ONLY
,IPV4_IPV6
또는IPV6_ONLY
(미리보기) 중 하나여야 합니다. 기본값은IPV4_ONLY
입니다.INTERNAL_IPV4_ADDRESS
: 선택사항: 컴퓨팅 인스턴스가 대상 서브넷에서 사용할 내부 IPv4 주소입니다. 특정 IP 주소가 필요하지 않으면 이 플래그를 생략합니다.내부 IPv6 주소를 지정하려면 대신
--internal-ipv6-address
플래그를 사용하세요.EXTERNAL_IPV4_ADDRESS
: 선택사항: 네트워크 인터페이스와 함께 사용할 고정 외부 IPv4 주소입니다. 이전에 외부 IPv4 주소를 예약했어야 합니다. 다음 중 하나를 수행합니다.- 서브넷에서 유효한 IPv4 주소를 지정합니다.
- 네트워크 인터페이스에 외부 IP 주소가 사용되지 않도록 하려면 대신
--network-interface=no-address
플래그를 사용하세요. - 인터페이스에 임시 외부 IP 주소가 수신되도록 하려면
address=''
를 지정합니다.
외부 IPv6 주소를 지정하려면 대신
--external-ipv6-address
플래그를 사용하세요.
- 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
: 다음 중 하나를 지정합니다.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
: 지정된 서브넷이 있는 리전입니다. VM과 동일한 리전이어야 합니다.SUBNET_NAME
: 사용할 서브넷의 이름STACK_TYPE
: 선택사항: 네트워크 인터페이스의 스택 유형입니다.IPV4_ONLY
,IPV4_IPV6
또는IPV6_ONLY
(미리보기) 중 하나를 지정할 수 있습니다. 기본값은IPV4_ONLY
입니다.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을 중지해야 합니다.- 인스턴스의 상태를 확인하여 사용할 준비가 되었는지 확인하는 방법을 알아보세요.
- 인스턴스에 연결하는 방법 알아보기
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.
필요한 역할
특정 서브넷으로 인스턴스를 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 인스턴스 관리자 (v1) (
roles/compute.instanceAdmin.v1
) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.이 사전 정의된 역할에는 특정 하위 네트워크로 인스턴스를 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
특정 서브넷으로 인스턴스를 만들려면 다음 권한이 필요합니다.
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
요구사항
서브넷에서 인스턴스를 만들 때는 다음 규칙을 고려하세요.
인스턴스를 만들기 전에 사용할 서브넷을 만들어야 합니다. 자세한 내용은 VPC 네트워크 만들기 및 관리를 참조하세요.
특정 서브넷에 인스턴스 만들기
특정 서브넷에 인스턴스를 만들려면 다음 단계를 따르세요.
콘솔
gcloud
Terraform
특정 서브넷에 인스턴스를 만들려면
google_compute_instance
리소스를 사용하면 됩니다.Terraform 구성을 적용하거나 삭제하는 방법은 기본 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
REST
안내에 따라 공개 이미지 또는 스냅샷을 사용하여 인스턴스를 만들되 요청 본문에subnet
필드를 지정합니다.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", "stackType":"STACK_TYPE" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }다음을 바꿉니다.
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-01-23(UTC)
-