DNS64 및 NAT64로 IPv6 전용 서브넷 및 인스턴스 구성

이 페이지에서는 IPv6 전용 서브넷과 인스턴스를 만든 후 IPv6 전용 인스턴스에서 IPv4 대상에 액세스할 수 있도록 DNS64 및 NAT64를 구성하는 방법을 설명합니다.

Google Cloud의 IPv6-IPv4 연결에 관한 개요를 보려면 6to4 연결을 위한 DNS64 및 NAT64를 참고하세요.

시작하기 전에

이 페이지의 안내에 따라 IPv6 주소 범위로 서브넷을 만들려면 커스텀 모드 Virtual Private Cloud (VPC) 네트워크가 있어야 합니다. 자세한 내용은 IPv6 전용 서브넷이 있는 커스텀 모드 VPC 네트워크 만들기를 참고하세요.

내부 IPv6 주소가 있는 서브넷을 지원하는 VPC 네트워크를 만들려면 네트워크를 만들 때 ULA 내부 IPv6 범위를 구성해야 합니다. 기존 네트워크가 있는 경우 네트워크에 내부 IPv6 범위를 할당할 수 있습니다.

IPv6 전용 서브넷 및 인스턴스 만들기

이 섹션에서는 IPv6 전용 서브넷과 인스턴스를 만드는 방법을 설명합니다. 이미 IPv6 전용 서브넷과 인스턴스가 있는 경우 DNS64 및 NAT64 구성으로 진행할 수 있습니다.

IPv6 전용 서브넷 만들기

외부 또는 내부 IPv6 주소가 사용 설정된 IPv6 전용 서브넷을 만들 수 있습니다.

IPv6 전용 서브넷을 만들려면 다음 단계를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.

    VPC 네트워크로 이동

  2. VPC 네트워크 세부정보 페이지를 보려면 VPC 네트워크 이름을 클릭합니다.

  3. 서브넷 탭에서 서브넷 추가를 클릭합니다. 표시되는 패널에서 다음을 설정합니다.

    1. 이름을 입력합니다.
    2. 리전을 선택하세요.
    3. IP 스택 유형IPv6 (단일 스택)을 선택합니다.
    4. IPv6 액세스 유형으로 내부 또는 외부를 선택합니다.

      액세스 유형을 내부로 설정하려고 하지만 내부 옵션을 사용할 수 없는 경우 네트워크에 내부 IPv6 범위가 할당되었는지 확인합니다.

    5. 추가를 클릭합니다.

gcloud

gcloud compute networks subnets create 명령어를 사용합니다.

gcloud compute networks subnets create SUBNET \
    --network=NETWORK \
    --stack-type=IPV6_ONLY \
    --ipv6-access-type=IPv6_ACCESS_TYPE \
    --region=REGION

다음을 바꿉니다.

  • SUBNET: 새 서브넷의 이름입니다.
  • NETWORK: 새 서브넷이 포함될 VPC 네트워크의 이름입니다.
  • IPv6_ACCESS_TYPE: IPv6 액세스 유형입니다. 액세스 유형은 EXTERNAL 또는 INTERNAL일 수 있습니다.
  • REGION: 새 서브넷을 생성할 Google Cloud 리전입니다.

API

subnetworks.insert 메서드에 대해 POST 요청을 실행합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
{
  "network": "NETWORK_URL",
  "name": "SUBNET"
  "stackType": IPV6_ONLY,
  "ipv6AccessType": IPv6_ACCESS_TYPE
}

다음을 바꿉니다.

  • PROJECT_ID: 수정할 VPC 네트워크가 포함된 프로젝트의 ID입니다.
  • REGION: 서브넷이 추가되는 리전의 이름입니다. Google Cloud
  • NETWORK_URL: 서브넷을 추가할 VPC 네트워크의 URL입니다.
  • SUBNET: 서브넷의 이름입니다.
  • IPv6_ACCESS_TYPE: IPv6 액세스 유형입니다. 액세스 유형은 EXTERNAL 또는 INTERNAL일 수 있습니다.

IPv6 전용 인스턴스 만들기

콘솔

  1. 인스턴스 만들기 페이지로 이동

    인스턴스 만들기로 이동

  2. 인스턴스의 이름을 입력합니다.

  3. IPv6 범위가 구성된 서브넷이 포함된 리전을 선택합니다.

  4. 선택사항: 이 인스턴스의 영역을 변경합니다. 모두를 선택하면 Google에서 머신 유형과 가용성을 기반으로 영역을 자동으로 선택합니다.

  5. 고급 옵션 섹션을 펼칩니다.

  6. 네트워킹을 확장하고 다음을 수행합니다.

    1. 네트워크 인터페이스 섹션에서 네트워크 인터페이스 이름을 클릭하여 네트워크 인터페이스의 설정을 수정합니다.

    2. 네트워크서브네트워크에서 사용할 네트워크와 서브네트워크를 선택합니다.

      IPv6 전용 서브넷을 선택합니다. 서브넷의 IPv6 액세스 유형에 따라 인스턴스가 내부 IPv6 주소 또는 외부 IPv6 주소를 수신하는지가 결정됩니다.

    3. IP 스택 유형IPv6 (단일 스택)을 선택합니다.

    4. 인터페이스의 IPv6 주소의 경우 연결된 서브넷의 액세스 유형에 따라 다음을 실행합니다.

      1. 기본 내부 IPv6 주소에서 다음 중 하나를 선택합니다.
        • 자동 할당: 새 임시 내부 IPv6 주소를 자동으로 할당
        • 목록의 예약된 고정 내부 IPv6 주소
        • 고정 내부 IPv6 주소 예약: 새 고정 내부 IPv6 주소 예약 및 할당
      2. 외부 IPv6 주소에 대해 다음 중 하나를 선택합니다.
        • 자동 할당: 새 임시 외부 IPv6 주소를 자동으로 할당
        • 목록의 예약된 고정 외부 IPv6 주소
        • 고정 외부 IPv6 주소 예약: 새 고정 외부 IPv6 주소 예약 및 할당
    5. 네트워크 인터페이스 수정을 완료하려면 완료를 클릭합니다.

  7. 인스턴스 생성 프로세스를 계속 진행합니다.

  8. 만들기를 클릭합니다.

gcloud

gcloud compute instances create 명령어를 사용하여 인스턴스를 만듭니다.

gcloud compute instances create INSTANCE_NAME \
    --zone ZONE \
    --network-interface=network=NETWORK,subnet=SUBNET,stack-type=IPV6_ONLY

다음을 바꿉니다.

  • INSTANCE_NAME: 인스턴스 이름입니다.
  • ZONE: 인스턴스가 생성되는 영역입니다(예: europe-west1-b). 인스턴스의 리전은 영역에서 추론됩니다.
  • NETWORK: 인스턴스를 만들 네트워크의 이름입니다.
  • SUBNET: 인스턴스를 만들 서브넷의 이름입니다.

API

instances.insert 메서드를 사용하여 인스턴스를 만듭니다.

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
  {
     "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
     "name": "NAME",
     "disks": [
       {
         "initializeParams": {
           "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE"
         },
         "boot": true
       }
     ],
     "networkInterfaces": [
       {
         "subnetwork": "regions/REGION/subnetworks/SUBNET",
         "stackType": "IPV6_ONLY"
       }
     ]
   }
   

다음을 바꿉니다.

  • PROJECT_ID: 인스턴스가 포함된 프로젝트의 ID입니다.
  • ZONE: 인스턴스를 포함하는 영역입니다.
  • MACHINE_TYPE_ZONE: 새 인스턴스에 사용할 머신 유형이 포함된 영역입니다.
  • MACHINE_TYPE: 새 인스턴스의 머신 유형(사전 정의 또는 커스텀)입니다. 예를 들면 c3-standard-4입니다.
  • NAME: 인스턴스 이름입니다.
  • IMAGE_PROJECT: 선택사항: 이미지가 포함된 이미지 프로젝트입니다.
  • IMAGE: 선택사항: 다음 중 하나를 지정합니다.
    • OS 이미지의 특정 버전입니다(예: debian-12-bookworm-v20241009).
    • 이미지 계열이며 형식은 family/IMAGE_FAMILY여야 합니다. 이렇게 하면 지원 중단되지 않은 최신 OS 이미지를 사용하여 인스턴스가 생성됩니다. 예를 들어 family/debian-12를 지정하면 Compute Engine이 Debian 12 이미지 계열에서 최신 버전의 OS 이미지를 사용하여 인스턴스를 만듭니다. 이미지 계열 사용에 대한 자세한 내용은 이미지 계열 권장사항을 참고하세요.
  • REGION: 인스턴스가 포함된 리전입니다.
  • SUBNET: 네트워크 인터페이스가 위치한 서브넷입니다.

DNS64 및 NAT64 구성

이 섹션에서는 IPv6 전용 인스턴스에서 IPv4 대상에 액세스할 수 있는 DNS64 및 NAT64를 모두 구성하는 방법을 설명합니다.

DNS64 서버 정책 만들기

Cloud DNS가 각 IPv4 대상에 합성 IPv6 주소를 제공하도록 DNS64 서버 정책을 만들고 구성합니다.

DNS64 서버 정책을 만들고 관리하는 방법에 관한 자세한 내용은 DNS64 구성을 참고하세요.

DNS64 서버 정책을 만들려면 다음 단계를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 Cloud DNS 페이지로 이동합니다.

    Cloud DNS로 이동

  2. DNS 서버 정책 탭에서 정책 만들기를 클릭합니다.

  3. 이름 필드에 정책 이름을 입력합니다.

  4. 선택사항: 설명 필드에 정책에 대한 설명을 입력합니다.

  5. DNS64에서 사용을 선택하여 DNS64를 사용 설정합니다.

  6. 네트워크 필드에서 정책을 만들 VPC 네트워크를 선택합니다. IPv6 전용 서브넷과 인스턴스가 포함된 네트워크를 선택합니다.

gcloud

DNS64 서버 정책을 만들려면 gcloud dns policies create 명령어를 실행합니다.

gcloud beta dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --enable-dns64-all-queries

다음을 바꿉니다.

  • NAME: 정책 이름
  • DESCRIPTION: 정책에 대한 설명
  • VPC_NETWORK_LIST: DNS 서버 정책이 바인딩되는 VPC 네트워크의 쉼표로 구분된 목록입니다. IPv6 전용 서브넷과 인스턴스가 포함된 네트워크를 지정합니다.

API

DNS64 서버 정책을 만들려면 policies.create 메서드를 사용하세요.

POST https://dns.googleapis.com/dns/beta/projects/PROJECT_ID/policies
{
  "kind": "dns#policy",
  "networks": [
    {
      "kind": "dns#policyNetwork",
      "networkUrl": "NETWORK_URL"
    }
  ],
  "dns64Config":
    {
        "scope":
        {
          allQueries: true,
        }
    }
  }

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID
  • NETWORK_URL: DNS 서버 정책이 바인딩되어야 하는 VPC 네트워크의 정규화된 URL로, 형식은 https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME입니다. IPv6 전용 서브넷과 인스턴스가 포함된 네트워크를 지정합니다.

Cloud NAT 게이트웨이를 만들어 NAT64 사용 설정

IPv6 전용 서브넷 및 인스턴스가 포함된 VPC 네트워크 및 리전에서 Cloud NAT 게이트웨이를 만들어 Public NAT를 구성합니다.

Cloud NAT 게이트웨이 생성 및 관리에 관한 자세한 내용은 Public NAT를 사용하여 네트워크 주소 변환 설정 및 관리를 참고하세요.

NAT64용 Cloud NAT 게이트웨이를 만들려면 다음 단계를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 Cloud NAT 페이지로 이동합니다.

    Cloud NAT로 이동

  2. 시작하기 또는 Cloud NAT 게이트웨이 만들기를 클릭합니다.

  3. 게이트웨이 이름 필드에 게이트웨이 이름을 입력합니다.

  4. NAT 유형에서 Public 을 선택합니다.

  5. Cloud Router 선택 섹션에서 다음을 구성합니다.

    1. 네트워크 필드에서 게이트웨이를 만들 VPC 네트워크를 선택합니다.
    2. 리전 필드에서 게이트웨이의 리전을 설정합니다.
    3. Cloud Router 필드에서 Cloud Router를 선택하거나 리전에 만듭니다.
  6. Cloud NAT 매핑 섹션의 소스 엔드포인트 유형에서 VM 인스턴스, GKE 노드, 서버리스 옵션이 선택되어 있는지 확인합니다.

  7. 소스 IP 버전 필드에서 IPv6 서브넷 범위를 선택한 다음 Cloud NAT를 사용하려는 소스 IPv6 서브넷 범위를 구성합니다.

    • 리전의 모든 서브넷에 대한 내부 및 외부 IP 범위에 Cloud NAT를 사용하려면 모든 서브넷을 선택합니다.
    • Cloud NAT를 사용할 수 있는 서브넷을 제한하려면 커스텀을 선택하고 다음을 수행합니다.
      1. 서브넷 섹션에서 서브넷을 선택합니다.
      2. 선택사항: 서브넷을 추가하려면 서브넷 추가를 클릭하고 다른 서브넷을 추가합니다.
  8. Cloud NAT 게이트웨이에 추가 옵션을 구성합니다. 자세한 내용은 Cloud NAT 문서에서 Cloud NAT 게이트웨이 만들기를 참고하세요.

  9. 만들기를 클릭합니다.

gcloud

이 섹션에서는 모든 구성 옵션이 기본값으로 설정된 Cloud NAT 게이트웨이를 만드는 방법을 설명합니다. 게이트웨이 구성 맞춤설정에 관한 자세한 내용은 Cloud NAT 게이트웨이의 구성 설정 맞춤설정을 참고하세요.

Cloud NAT 게이트웨이를 만들려면 gcloud compute routers nats create 명령어를 사용합니다.

  1. Cloud NAT 게이트웨이를 사용하려는 리전에 Cloud Router를 만듭니다. Cloud NAT 게이트웨이를 만들려면 이 Cloud Router가 필요합니다.

  2. IPv6 소스 서브넷 범위에 Cloud NAT를 구성합니다(미리보기).

    다음 구성은 IPv6 전용 서브넷과 이중 스택 서브넷 모두에서 리전의 모든 IPv6 서브넷 범위에 NAT를 사용 설정합니다. 또는 --nat64-custom-v6-subnet-ip-ranges 플래그를 사용하여 특정 서브넷에 NAT를 구성할 수 있습니다.

    gcloud beta compute routers nats create NAT_CONFIG \
        --router=NAT_ROUTER \
        --region=REGION \
        --auto-allocate-nat-external-ips \
        --nat64-all-v6-subnet-ip-ranges
    

    다음을 바꿉니다.

    • NAT_CONFIG: NAT 구성의 이름입니다.
    • NAT_ROUTER: 이전 단계에서 만든 Cloud Router의 이름입니다.
    • REGION: Cloud NAT 게이트웨이를 사용할 리전입니다.

API

API를 사용하여 Cloud Router 및 Cloud NAT 게이트웨이를 만들려면 routers.insert 메서드를 사용하고 nats[] 필드를 설정합니다.

이 섹션에서는 모든 구성 옵션이 기본값으로 설정된 Cloud NAT 게이트웨이를 만드는 방법을 설명합니다. 게이트웨이 구성 맞춤설정에 관한 자세한 내용은 Cloud NAT 게이트웨이 만들기를 참고하세요.

Cloud Router를 만드는 방법에 관한 자세한 내용은 VPC 네트워크를 피어 네트워크에 연결하는 Cloud Router 만들기를 참고하세요.

다음 구성은 리전의 모든 IPv6 서브넷 범위에 NAT를 사용 설정합니다. 또는 sourceSubnetworkIpRangesToNat64LIST_OF_IPV6_SUBNETWORKS로 설정하고 nats[].nat64Subnetworks[] 필드에서 서브넷을 지정하여 특정 서브넷에 대해 NAT를 구성할 수 있습니다.

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/routers
{
  "name": "ROUTER_NAME",
  "network": "NETWORK",
  "bgp": {
    "asn": "ASN_NUMBER"
  },
  "nats": [
    {
      "name": NAT_CONFIG,
      "sourceSubnetworkIpRangesToNat64": ALL_IPV6_SUBNETWORKS,
      "natIpAllocateOption": AUTO_ONLY
    }
  ]
}

다음을 바꿉니다.

  • PROJECT_ID: VPC 네트워크가 포함된 프로젝트의 ID입니다.
  • REGION: Cloud Router와 Cloud NAT 게이트웨이를 배치할 리전입니다.
  • ROUTER_NAME: Cloud Router의 이름입니다. 이 이름은 Google Cloud 콘솔에 표시되며 Google Cloud CLI에서 Cloud Router를 참조하는 데 사용됩니다.
  • NETWORK: Cloud Router와 Cloud NAT 게이트웨이를 만들 VPC 네트워크입니다.
  • ASN_NUMBER: 구성 중인 Cloud Router의 비공개 ASN(64512-65534, 4200000000-4294967294)입니다. 이 ASN은 동일한 리전과 네트워크에서 피어 ASN으로 아직 사용하고 있지 않은 비공개 ASN일 수 있습니다(예: 65001). Cloud Router를 사용하려면 비공개 ASN을 사용해야 하지만 온프레미스 ASN은 공개 또는 비공개일 수 있습니다.
  • NAT_CONFIG: NAT 구성의 이름입니다.

다음 단계