인스턴스가 연결된 서브넷에 IPv6 범위가 구성되어 있으면 Compute Engine 인스턴스에 IPv6 주소를 구성할 수 있습니다.
IPv6에 대한 자세한 내용은 IPv6 서브넷 범위를 참조하세요.
사양
IPv4 및 IPv6 구성을 둘 다 포함하는 컴퓨팅 인스턴스는 이중 스택입니다. IPv6 주소는 네트워크 인터페이스에 구성된 IPv4 주소에 추가로 제공됩니다.
이중 스택 또는 IPv6 전용 인스턴스의 인터페이스에는 IPv6 주소의 단일
/96
범위가 할당됩니다. 범위 안의 첫 번째 IPv6 주소(/128
)는 인터페이스에 구성됩니다.인스턴스의 모든 인터페이스에 IPv6 주소를 구성할 수 있습니다. 다중 네트워크 인터페이스 구성에 대한 자세한 내용은 다중 네트워크 인터페이스를 참조하세요.
VM의 네트워크 인터페이스의 스택 유형에 따라 연결할 수 있는 서브넷 유형이 결정됩니다.
- IPv4 전용 인터페이스는 이중 스택 및 IPv4 전용 서브넷에 연결할 수 있습니다.
- 이중 스택 인터페이스는 이중 스택 서브넷에 연결할 수 있습니다.
- IPv6 전용 인터페이스는 이중 스택 및 IPv6 전용 서브넷에 연결할 수 있습니다(프리뷰).
네트워크 인터페이스에 IPv6 주소를 구성하려면 인터페이스가 이중 스택 또는 IPv6 전용 서브넷(프리뷰)에 연결되어 있어야 합니다.
서브넷의 IPv6 액세스 유형 구성에 따라 서브넷에 내부 또는 외부 IPv6 범위가 포함되는지 결정됩니다. 연결된 인스턴스는 서브넷에서 IPv6 액세스 유형을 상속합니다.
IPv6 전용 인스턴스(프리뷰)는 Ubuntu 및 Debian OS에서만 지원됩니다.
IPv6 주소를 사용하여 인스턴스에 액세스
암시적 IPv6 거부 인그레스 방화벽 규칙은 해당 IPv6 주소로 들어오는 연결을 차단하여 인스턴스를 보호합니다. IPv6 주소를 사용하여 인스턴스에 액세스하려면 우선순위가 더 높은 규칙이 수신 액세스를 허용해야 합니다.
방화벽 규칙에 대한 자세한 내용은 VPC 방화벽 규칙 및 계층적 방화벽 정책을 참고하세요.
VPC 방화벽 규칙 예시는 일반적인 사용 사례에 대한 방화벽 규칙 구성을 참고하세요.
IPv6 주소 할당
다음 목록에서는 IPv6 주소가 컴퓨팅 인스턴스에 할당되는 방법을 설명합니다.
컴퓨팅 인스턴스에는 DHCPv6을 사용하여 IPv6 주소가 할당됩니다. 메타데이터 서버는 인스턴스의 DHCPv6 요청에 응답하고 응답에서 할당된
/96
범위의 첫 번째 IPv6 주소(/128
)를 전송합니다.메타데이터 서버는 경로 공지를 사용하여 기본 경로를 인스턴스에 게시합니다. 그런 후 인스턴스는 모든 IPv6 트래픽에 이 기본 경로를 사용할 수 있습니다.
인스턴스에 연결하고 메타데이터 서버에서
gateway-ipv6
항목을 쿼리하여 인스턴스의 네트워크 인터페이스에 대한 기본 경로를 찾을 수 있습니다.curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/gateway-ipv6 -H "Metadata-Flavor: Google"
메타데이터 서버에 대한 자세한 내용은 인스턴스 메타데이터 보기 및 쿼리를 참고하세요.
컴퓨팅 인스턴스는
fe80::/10
범위에서 할당된 링크 로컬 IP 주소로 구성되지만 이웃 검색에만 사용됩니다.인스턴스의 네트워크 인터페이스의 MTU 구성은 IPv4 및 IPv6 패킷 모두에 적용되지만 모든 상황에서 모든 MTU 값이 지원되지는 않습니다. 자세한 내용은 최대 전송 단위를 참조하세요.
IPv6 주소를 사용하는 인스턴스 만들기
IPv4 주소와 IPv6 주소를 조합하여 사용하는 인스턴스(이중 스택)를 만들거나 IPv6 주소만 사용하는 인스턴스를 만들 수 있습니다.
IPv6 주소를 사용하는 Compute Engine 인스턴스를 만드는 방법에 관한 자세한 내용은 다음 태스크를 참고하세요.
인스턴스의 스택 유형 변경
기존 Compute Engine 인스턴스의 스택 유형을 변경할 수 있습니다. 스택 유형은 다음 중 하나로 설정할 수 있습니다.
- IPv4만(단일 스택)
- IPv4 및 IPv6(이중 스택)
스택 유형을 이중 스택으로 변경할 경우 인스턴스가 이중 스택 서브넷에 연결되어야 합니다. 인스턴스가 연결된 서브넷을 변경해야 하는 경우 인스턴스를 중지하고 서브넷을 변경합니다. 서브넷이 업데이트된 후 인스턴스의 IP 스택 유형을 변경할 수 있습니다.
IPv6 전용 인스턴스(프리뷰)의 스택 유형은 변경할 수 없습니다.
콘솔
VM 인스턴스 페이지로 이동합니다.
IPv6 주소를 할당하려는 인스턴스 이름을 클릭합니다.
인스턴스 세부정보 페이지에서 다음 단계를 완료합니다.
- 수정을 클릭합니다.
- 네트워크 인터페이스에서 수정할 인터페이스를 확장합니다.
- IP 스택 유형 선택: IPv4만(단일 스택) 또는 IPv4 및 IPv6(이중 스택).
- 완료를 클릭합니다.
저장을 클릭합니다.
gcloud
gcloud compute instances network-interfaces update
명령어를 사용하여 인스턴스의 스택 유형을 업데이트합니다.
gcloud compute instances network-interfaces update INSTANCE_NAME \ --stack-type=STACK_TYPE \ --zone=ZONE
다음을 바꿉니다.
INSTANCE_NAME
: 인스턴스 이름STACK_TYPE
: 인스턴스의 스택 유형(IPV4_ONLY
또는IPV4_IPV6
)ZONE
: 인스턴스가 배포된 영역
REST
instances.updateNetworkInterface
메서드에 PATCH
요청을 전송하여 인스턴스의 스택 유형을 업데이트하세요.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateNetworkInterface
다음을 바꿉니다.
PROJECT_ID
: 인스턴스가 포함된 프로젝트의 IDZONE
: 인스턴스가 배포된 영역INSTANCE_NAME
: 인스턴스 이름
요청 본문 예시:
{ "stackType": "STACK_TYPE", }
STACK_TYPE
을 인스턴스의 스택 유형인 IPV4_ONLY
또는 IPV4_IPV6
로 바꿉니다.
IPv6 주소로 인스턴스 템플릿 만들기
이중 스택 또는 IPv6 전용(프리뷰) 인스턴스를 만드는 데 사용할 수 있는 리전 또는 전역 인스턴스 템플릿을 만들 수 있습니다. 자세한 내용은 인스턴스 템플릿 만들기를 참조하세요.
IPv6 주소를 사용하는 인스턴스를 만드는 인스턴스 템플릿을 만들려면 Google Cloud CLI 또는 REST를 사용해야 합니다.
gcloud
리전 또는 전역 인스턴스 템플릿을 만들려면 gcloud compute instance-templates create
명령어를 사용합니다.
리전 인스턴스 템플릿을 만들려면 --instance-template-region
플래그를 사용하여 인스턴스 템플릿의 리전을 지정해야 합니다.
다음 예시에서는 전역 인스턴스 템플릿을 만듭니다.
gcloud compute instance-templates create TEMPLATE_NAME \ --subnet=SUBNET \ --stack-type=STACK_TYPE
다음을 바꿉니다.
TEMPLATE_NAME
: 템플릿의 이름SUBNET
: IPv6 서브넷 범위가 있는 서브넷STACK_TYPE
: 스택 유형. 이중 스택 인스턴스의 경우 IPV4_IPV6이고 외부 IPv6 주소가 있는 인스턴스의 경우 IPV6_ONLY입니다.
REST
리전 인스턴스 템플릿을 만들려면 regionInstanceTemplates.insert
메서드를 사용하거나 전역 인스턴스 템플릿을 만들려면 instanceTemplates.insert
메서드를 사용합니다.
다음 예시에서는 전역 인스턴스 템플릿을 만듭니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
PROJECT_ID
를 프로젝트 ID로 바꿉니다.
요청 본문 예시:
{ "name": "INSTANCE_TEMPLATE_NAME" "properties": { "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "subnetwork": "regions/REGION/subnetworks/SUBNET", "stackType": "STACK_TYPE", }, ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "IMAGE_URI" } } ] } }
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME
: 인스턴스 템플릿의 이름MACHINE_TYPE
: 인스턴스의 머신 유형(예:c3-standard-4
)SUBNET
: IPv6 서브넷 범위가 있는 서브넷REGION
: 서브넷의 리전IMAGE_URI
: 사용하려는 이미지의 URI예를 들어
"sourceImage": "projects/debian-cloud/global/images/family/debian-12"
를 지정하면 Compute Engine은 Debian 12 이미지 계열의 최신 버전 운영체제 이미지에서 인스턴스를 만듭니다.
요청 매개변수에 대한 자세한 내용은 instanceTemplates.insert
메서드를 참조하세요.