고정 외부 IP 주소 예약

고정 외부 IP 주소를 예약할 수 있습니다. 예약된 고정 외부 IP 주소를 나열하고 해제할 수도 있습니다. 고정 외부 IP 주소를 가상 머신(VM) 인스턴스에 할당하려면 고정 외부 IP 주소 구성을 참조하세요.

외부 IP 주소는 고정 또는 임시 주소일 수 있습니다. VM에 변경되지 않는 고정 외부 IP 주소가 필요한 경우 고정 외부 IP 주소를 가져올 수 있습니다. 새 외부 IP 주소를 예약하거나 기존 임시 외부 IP 주소를 승격하는 것도 가능합니다.

고정 내부 IP 주소가 필요하면 대신 고정 내부 IP 주소 예약을 참조하세요.

시작하기 전에

  • IP 주소에 대해 알아봅니다.
  • 고정 외부 IP 주소의 할당량 및 한도 읽어보기
  • 외부 IP 주소 가격 책정 읽어보기
  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스와 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드나 샘플을 실행하려면 다음과 같이 인증하면 됩니다.

    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

    Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

    gcloud init

    Terraform

    로컬 개발 환경에서 이 페이지의 Terraform 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

    1. Google Cloud CLI를 설치합니다.
    2. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

      gcloud init
    3. Google 계정의 로컬 인증 사용자 인증 정보를 만듭니다.

      gcloud auth application-default login

    자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경 인증 설정을 참조하세요.

    REST

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공하는 사용자 인증 정보를 사용합니다.

      Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init

    자세한 내용은 Google Cloud 인증 문서의 REST 사용 인증을 참조하세요.

필요한 역할

고정 IP 주소를 예약하고 관리하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 네트워크 관리자(roles/compute.networkAdmin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

이 사전 정의된 역할에는 고정 IP 주소를 예약하고 관리하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

고정 IP 주소를 예약하고 관리하려면 다음 권한이 필요합니다.

  • IP 주소에 대한 compute.addresses.create 권한
  • IP 주소에 대한 compute.addresses.createInternal 권한
  • 네트워크에 대한 compute.networks.list 권한
  • 서브넷에 대한 compute.subnetworks.use 권한
  • 서브넷에 대한 compute.subnetworks.list 권한

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

고정 외부 IP 주소 정보

고정 외부 IP 주소는 사용자가 해제하도록 결정할 때까지 리소스를 위해 예약되는 IP 주소입니다. 고객 또는 사용자가 서비스에 액세스하기 위해 사용하는 IP 주소가 있는 경우 해당 리소스만 사용할 수 있도록 이 IP 주소를 예약할 수 있습니다. 또한 고정 외부 IP 주소로 임시 외부 IP 주소를 승격할 수도 있습니다.

자세한 내용은 IP 주소를 참조하세요.

다음 표에는 Google Cloud에서 지원하는 고정 외부 IP 주소가 나와 있습니다.

IP 주소 유형 리소스 IP 범위 원본 연결 대상
리전 외부 IPv4 주소 VM 및 리전 부하 분산기 /32 Google의 외부 IP 주소 풀 프로젝트
리전 외부 IPv6 주소 VM 및 지원되는 리전 부하 분산기 /96 서브넷의 외부 IPv6 주소 범위 서브넷
전역 외부 IPv4 주소 전역 부하 분산기 /32 Google의 외부 IP 주소 풀 프로젝트
전역 외부 IPv6 주소 전역 부하 분산기 /64 Google의 외부 IP 주소 풀 프로젝트

리전 및 전역 부하 분산기 목록은 부하 분산기 유형 요약을 참조하세요.

제한사항

  • 한 번에 하나의 리소스만 고정 외부 IP 주소를 사용할 수 있습니다.

  • IP 주소가 리소스에 할당되면 해당 주소가 고정 주소인지 임시 주소인지 확인할 수 있는 방법이 없습니다. IP 주소를 해당 프로젝트에 예약된 고정 외부 IP 주소 목록과 비교할 수 있습니다. 프로젝트에서 사용할 수 있는 고정 외부 IP 주소의 목록을 확인하려면 gcloud compute addresses list 하위 명령어를 사용합니다.

  • 각 VM에는 네트워크 인터페이스가 여러 개 있을 수 있으며 각 인터페이스에는 다음 IP 주소가 할당될 수 있습니다.

    • 내부 IPv4 주소(필수)
    • 외부 IPv4 주소
    • /96 IPv6 주소 범위(내부 또는 외부 중 하나)
  • 고정 IP 주소 이름을 변경할 수 없습니다.

  • 할당된 외부 IP 주소는 VM과 동일한 물리적 호스트에 존재하고, 라우팅, 지연 시간, 가격 책정을 포함한 모든 목적을 위해 VM과 동일한 리전에 존재합니다. 이는 인터넷 위치정보 조회 정보에 관계없이 적용됩니다.

참고: 네트워크 인터페이스는 여러 전달 규칙으로부터 트래픽을 수신하며 이 전달 규칙은 다른 외부 IP 주소에도 적용될 수 있습니다. 여러 외부 IP 주소에서 이러한 전달 규칙을 통해 네트워크 인터페이스를 참조할 수 있지만 각 네트워크 인터페이스에는 외부 IPv4 주소 하나와 외부 /96 IPv6 주소 범위 하나만 할당될 수 있습니다.

부하 분산 및 전달 규칙에 대한 자세한 내용은 부하 분산 문서를 읽어보세요.

새로운 고정 외부 IP 주소 예약

주소를 예약한 다음에는 새로 만드는 새 VM에 할당하거나 기존 VM에 할당할 수 있습니다.

콘솔

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

    IP 주소로 이동

  2. 외부 고정 IP 주소 예약을 클릭합니다.
  3. 이름 필드에 IP 주소 이름을 입력합니다.
  4. 네트워크 서비스 등급이 프리미엄 또는 표준인지 지정합니다. IPv6 고정 주소 예약은 프리미엄 등급에서만 지원됩니다.
  5. IPv4 또는 IPv6 주소 여부를 지정합니다.
  6. 이 IP 주소가 리전 또는 전역인지 지정합니다.
    • 전역 부하 분산기에 대해 고정 IP 주소를 예약하는 경우에는 전역을 선택한 다음 예약을 클릭합니다.
    • VM 또는 리전 부하 분산기에 대해 고정 IP 주소를 예약하는 경우에는 리전을 선택한 다음 주소를 만들 리전을 선택합니다.
  7. 리전 외부 IPv6 주소를 예약하는 경우 다음도 선택합니다.

    • 네트워크: VPC 네트워크
    • 서브네트워크: 고정 리전 IPv6 주소를 할당할 서브넷
    • 엔드포인트 유형: VM 인스턴스 또는 네트워크 부하 분산기 선택
  8. 선택사항: VM의 고정 외부 IP 주소를 예약하는 경우 연결 대상 목록에서 IP 주소를 연결할 VM을 선택합니다.

  9. 예약을 클릭하여 IP 주소를 예약합니다.

gcloud

고정 외부 IP 주소를 예약하려면 gcloud compute addresses create 명령어를 사용합니다.

다음 안내에 따라 고정 외부 IPv4 또는 IPv6 주소를 예약합니다.

전역 IP 주소

전역 IP 주소를 예약하려면 다음 명령어를 실행합니다.
  gcloud compute addresses create ADDRESS_NAME \
      --global \
      --ip-version [IPV4 | IPV6]
  

리전 외부 IPv4 주소

리전 외부 IPv4 주소를 예약하려면 다음 명령어를 실행합니다.
   gcloud compute addresses create ADDRESS_NAME \
       --region=REGION
   

리전 외부 IPv6 주소

리전 외부 IPv6 주소를 예약하려면 다음 명령어를 실행합니다.
   gcloud compute addresses create ADDRESS_NAME \
       --region=REGION \
       --subnet=SUBNET_NAME \
       --ip-version=IPV6 \
       --endpoint-type=[VM | NETLB]
   

다음을 바꿉니다.

  • ADDRESS_NAME: 이 주소와 연결할 이름입니다.
  • REGION: 리전 외부 IP 주소의 경우 이 주소를 예약할 리전을 지정합니다. 이 리전은 IP 주소를 연결하려는 리소스와 같은 리전이어야 합니다.
  • SUBNET_NAME: 리전 외부 IPv6 주소의 경우 고정 리전 IPv6 주소를 할당할 서브넷을 지정합니다. 서브넷에는 할당된 외부 IPv6 주소 범위가 있어야 합니다.
  • [IPV4 | IPV6]: 전역 IP 주소의 경우 IP 버전(IPv4 또는 IPv6)을 지정합니다. 리전 외부 IPv6 주소의 경우 IPv6를 지정합니다. /96 IPv6 범위는 지정된 서브넷에서 할당됩니다.
  • VM | NETLB: 리전 외부 IPv6 주소의 경우 엔드포인트 유형(VM 또는 네트워크 부하 분산기)을 지정합니다.

결과를 보려면 gcloud compute addresses describe 명령어를 사용하세요.

gcloud compute addresses describe ADDRESS_NAME

Terraform

google_compute_address 리소스를 사용하여 리전 외부 IP 주소를 만들 수 있습니다.

resource "google_compute_address" "default" {
  name   = "my-test-static-ip-address"
  region = "us-central1"
}

다음 샘플에서는 google_compute_global_address 리소스를 사용하여 전역 외부 IPv6 주소를 만드는 방법을 보여줍니다.

resource "google_compute_global_address" "default" {
  project      = var.project_id # Replace this with your service project ID in quotes
  name         = "ipv6-address"
  address_type = "EXTERNAL"
  ip_version   = "IPV6"
}

API

  • 리전 IPv4 주소를 만들려면 리전 addresses.insert 메서드를 호출합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
    

    요청 본문에는 다음이 포함되어야 합니다.

    {
      "name": "ADDRESS_NAME"
    }
    

    다음을 바꿉니다.

    • PROJECT_ID: 이 요청의 프로젝트 ID입니다.
    • REGION: 이 요청의 리전 이름입니다.
    • ADDRESS_NAME: 주소에 연결할 이름입니다.
  • 전역 고정 IPv4 주소의 경우 globalAddresses.insert 메서드를 호출합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
    

    요청 본문에는 다음이 포함되어야 합니다.

    {
      "name": "ADDRESS_NAME"
    }
    
  • 전역 고정 IPv6 주소의 경우 globalAddresses.insert 메서드를 호출합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
    

    요청 본문에는 다음이 포함되어야 합니다.

    {
      "name": "ADDRESS_NAME",
      "ipVersion": "IPV6"
    }
    

    결과를 보려면 addresses.get 메서드를 사용합니다.

  • 리전 고정 IPv6 주소의 경우 addresses.insert 메서드를 호출합니다.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
    

    요청 본문에는 다음이 포함되어야 합니다.

    {
      "name": "ADDRESS_NAME",
      "ipVersion": "IPV6",
      "ipv6EndpointType": "VM|LB",
      "networkTier": "PREMIUM",
      "subnetwork": "SUBNET"
    }
    

    SUBNET을 이 프로젝트의 서브넷으로 바꿉니다.

    결과를 보려면 addresses.get 메서드를 사용합니다.

임시 외부 IP 주소 승격

VM에 임시 외부 IP 주소가 있고 이 IP 주소를 프로젝트에 영구적으로 할당하려는 경우에는 임시 외부 IP 주소를 고정 외부 IP 주소로 승격합니다. 임시 외부 IP 주소를 예약 주소로 승격해도 Google Cloud에서 VM으로 전송된 패킷을 삭제하지 않습니다. 여기에는 VM에 바로 전송되거나 부하 분산기를 이용해 전송된 패킷도 포함됩니다.

콘솔

  1. IP 주소 페이지로 이동합니다.

    IP 주소로 이동

  2. 외부 IP 주소를 클릭합니다.
  3. 선택사항: 필터 필드에서 승격할 임시 IP 주소를 검색합니다.
  4. 승격할 IP 주소의 추가 작업 메뉴()에서 고정 IP 주소로 승격을 선택합니다.
  5. 새로운 고정 IP 주소 이름을 입력한 후 예약을 클릭합니다.

gcloud

다음 안내에 따라 고정 외부 IPv4 또는 IPv6 주소를 승격합니다.

  • 임시 외부 IPv4 주소를 고정 외부 IPv4 주소로 승격하려면 --addresses 플래그를 compute addresses create 명령어와 함께 사용하여 임시 외부 IP 주소를 제공합니다. region 플래그를 사용하여 임시 리전 IP 주소를 승격하거나 global 플래그를 사용하여 임시 전역 IP 주소를 승격합니다.

    gcloud compute addresses create ADDRESS_NAME --addresses=IP_ADDRESS \
        [--region=REGION | --global]
    

    다음을 바꿉니다.

    • ADDRESS_NAME: 이 주소와 연결할 이름입니다.
    • IP_ADDRESS: 승격할 IP 주소입니다.
    • REGION: 리전 IP 주소가 속한 리전입니다.

    • 임시 리전 외부 IPv6 주소를 고정 리전 외부 IPv6 주소로 승격하려면 --addresses 플래그를 compute addresses create 명령어와 함께 사용하여 임시 외부 IP 주소를 제공합니다.

    gcloud compute addresses create ADDRESS_NAME \
        --region=REGION \
        --addresses=IPV6_ADDRESS \
        --prefix-length=96
    

    다음을 바꿉니다.

    • ADDRESS_NAME: IP 주소 리소스의 이름입니다.
    • REGION: IPv6 주소 리소스의 리전입니다.
    • IPV6_ADDRESS: 승격할 IPv6 주소입니다.

API

임시 리전 IP 주소를 승격하려면 addresses.insert 메서드를 호출합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses

임시 전역 IP 주소를 승격하려면 다음 URI에 POST 요청을 실행합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses

요청 본문의 필수 필드에 값을 지정합니다.

  • IPv4 주소의 경우 요청 본문에 다음 필드가 포함되어야 합니다.

    {
      "name": "ADDRESS_NAME",
      "address": "IPV4_ADDRESS"
      "addressType": "EXTERNAL"
    }
    
  • IPv6 주소의 경우 요청 본문에 다음 필드가 포함되어야 합니다.

    {
      "name": "ADDRESS_NAME",
      "address": "IPV6_ADDRESS"
      "prefixLength": 96
      "addressType": "EXTERNAL"
    }
    

    다음을 바꿉니다.

    • ADDRESS_NAME: 이 주소와 연결할 이름입니다.
    • IPV4_ADDRESS|IPV6_ADDRESS: 승격할 IPv4 또는 IPv6 주소입니다.
    • REGION: IPv4 또는 IPv6 주소가 속한 리전입니다.
    • PROJECT_ID: 이 요청의 프로젝트 ID입니다.

외부 IP 주소는 고정 외부 IP 주소로 승격된 후에도 VM에 연결된 상태로 유지됩니다. 새로 승격된 고정 외부 IP 주소를 다른 리소스에 할당하려면 기존 VM에서 고정 외부 IP 주소를 할당 해제합니다.

고정 외부 IP 주소 나열

프로젝트에 예약한 고정 외부 IP 주소를 나열하려면 다음 단계를 수행합니다.

콘솔

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

    IP 주소로 이동

  2. 외부 IP 주소를 클릭합니다.

gcloud

gcloud compute addresses list 명령어를 사용합니다.

  • 모든 IP 주소를 나열하려면 다음 명령어를 사용합니다.

    gcloud compute addresses list
  • 모든 전역 IP 주소를 나열하려면 다음 명령어를 사용합니다.

    gcloud compute addresses list --global
  • 특정 리전의 모든 리전 IP 주소를 나열하려면 다음 명령어를 사용합니다.

    gcloud compute addresses list \
        --regions=REGION
    

    REGION을 주소를 나열할 리전으로 바꿉니다. 쉼표로 구분한 리전 이름을 지정하여 여러 리전의 주소를 나열할 수 있습니다.

    gcloud compute addresses list \
        --regions=REGION1,REGION2,..REGION_n_
    

API

  • 리전 IPv4 또는 IPv6 주소를 나열하려면 addresses.list 메서드를 호출합니다.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
    

    다음을 바꿉니다.

    • PROJECT_ID: 이 요청의 프로젝트 ID입니다.
    • REGION: 요청의 리전 이름
  • 모든 리전의 모든 주소를 나열하려면 addresses.aggregatedList 메서드를 호출합니다.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/addresses
    
  • 전역 IPv4 또는 IPv6 주소를 나열하려면 globalAddresses.list 메서드를 호출합니다.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
    

    다음을 바꿉니다.

    PROJECT_ID: 이 요청의 프로젝트 ID

고정 외부 IP 주소 설명

고정 외부 IP 주소에 대한 정보를 가져오려면 다음 단계를 수행합니다.

콘솔

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

    IP 주소로 이동

  2. 외부 IP 주소를 클릭합니다.

  3. 자세한 정보를 확인하려는 IP 주소를 클릭합니다.

gcloud

gcloud compute addresses describe 명령어를 사용합니다. ADDRESS_NAME을 설명하려는 외부 IP 주소의 이름으로 바꿉니다.

  • 전역 IPv4 또는 IPv6 주소의 경우 다음 명령어를 사용합니다.

    gcloud compute addresses describe ADDRESS_NAME --global
  • 리전 IPv4 또는 IPv6 주소의 경우 다음 명령어를 사용합니다.

    gcloud compute addresses describe ADDRESS_NAME --region=REGION

API

  • 리전 IPv4 또는 IPv6 주소를 설명하려면 addresses.get 메서드를 호출합니다.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses/ADDRESS_NAME
    

    다음을 바꿉니다.

    • PROJECT_ID: 요청의 프로젝트 ID
    • REGION: 요청의 리전 이름
    • ADDRESS_NAME: IP 주소의 이름
  • 전역 IPv4 또는 IPv6 주소를 설명하려면 globalAddresses.get 메서드를 호출합니다.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/ADDRESS_NAME
    

    다음을 바꿉니다.

    • PROJECT_ID: 요청의 프로젝트 ID
    • ADDRESS_NAME: IP 주소의 이름

고정 외부 IP 주소 해제

고정 외부 IPv4 또는 IPv6 주소가 더 이상 필요하지 않으면 IP 주소 리소스를 삭제하여 IP 주소를 해제할 수 있습니다.

Google Cloud 콘솔을 사용하는 경우 다른 리소스에서 사용되고 있지 않은 고정 IP 주소만 해제할 수 있습니다.

gcloud CLI 또는 API를 사용하는 경우에는 다른 리소스에서 사용 중인지 여부에 관계없이 IP 주소를 해제할 수 있습니다.

  • 리소스에서 IP 주소를 사용하지 않는 경우 사용 가능한 외부 IP 주소 풀로 IP 주소가 반환됩니다.

  • 리소스에서 IP 주소를 사용하고 있는 경우 IP 주소는 리소스가 삭제될 때까지 리소스에 연결되어 있습니다.

콘솔

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

    IP 주소로 이동

  2. 외부 IP 주소를 클릭합니다.

  3. 선택사항: 필터 필드에 static을 입력한 후 드롭다운 목록에서 정적 : 유형을 선택합니다.

  4. 해제하려는 고정 외부 IP 주소를 선택합니다.

  5. 고정 주소 해제를 클릭합니다.

    이 옵션이 표시되지 않으면 상단 메뉴 바에서 작업 더보기 메뉴()를 클릭한 후 목록에서 고정 주소 해제를 선택합니다.

gcloud

compute addresses delete 명령어를 사용합니다.

gcloud compute addresses delete ADDRESS_NAME

ADDRESS_NAME을 해제할 IPv4 또는 IPv6 주소의 이름으로 바꿉니다.

API

  • 리전 IPv4 또는 IPv6 주소를 해제하려면 addresses.delete 메서드를 호출합니다.

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses/ADDRESS_NAME
    

    다음을 바꿉니다.

    • PROJECT_ID: 이 요청의 프로젝트 ID입니다.
    • REGION: 요청의 리전 이름
    • ADDRESS_NAME: IP 주소의 이름
  • 전역 IPv4 또는 IPv6 주소를 해제하려면 globalAddresses.delete 메서드를 호출합니다.

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/ADDRESS_NAME
    

    다음을 바꿉니다.

    • ADDRESS_NAME: IP 주소의 이름
    • PROJECT_ID: 이 요청의 프로젝트 ID입니다.

다음 단계