별칭 IP 범위 구성

이 문서에서는 Google Cloud Platform Console과 gcloud 명령줄 도구를 사용하여 별칭 IP 주소와 별칭 IP 범위를 구성하는 방법을 안내합니다. 이 명령어를 실행하기 전에 별칭 IP 개요 페이지를 살펴보세요.

제한사항

서브넷

  • 서브넷당 최대 5개의 보조 IP 범위가 허용됩니다.
  • 보조 범위를 동시에 추가하고 삭제할 수 없습니다. 추가와 삭제는 서로 별도의 단계로 수행되어야 합니다.
  • 보조 범위에는 CIDR 확장이 지원되지 않습니다.

VM 인스턴스

  • 별칭 IP 범위는 모든 VM 네트워크 인터페이스에서 지원됩니다. 라우팅은 기본 네트워크 인터페이스의 별칭 IP 범위의 경우 자동으로 구성되지만 보조 인터페이스의 경우에는 그렇지 않습니다. 다중 네트워크 인터페이스가 있는 경우 추가 인터페이스에 정책 라우팅을 구성해야 합니다.
  • VM 인스턴스 가상 인터페이스는 최대 10개의 별칭 IP 범위를 할당받을 수 있습니다.
  • 별칭 IP 범위를 추가하거나 삭제할 수 있지만 업데이트할 수는 없습니다.
  • 한 VM의 별칭 IP 범위를 삭제하고 다른 VM에 할당할 경우, 이전이 완료되는 데 최대 1분이 소요될 수 있습니다.
  • 별칭 IP 주소에는 방화벽 소스 태그가 지원되지 않습니다. 즉, 방화벽 규칙에 소스 태그를 구성하면 해당 소스 태그가 VM 기본 IP 주소와 일치하지만 별칭 IP 주소와는 일치하지 않습니다. 소스 범위를 사용하여 별칭 IP 주소에서 오는 수신 트래픽을 허용하거나 거부합니다.
  • 내부 DNS가 기본 IP의 VM 이름을 확인합니다. 별칭 IP의 추가 이름은 자동으로 구성되지 않으며 수동으로 추가할 수 있습니다.

VPC 인스턴스

  • VPC 네트워크는 전체 VM에 최대 7,000개의 별칭 IP 범위를 가질 수 있습니다.
  • 다수의 별칭 IP 범위를 동시에 추가하거나 삭제하려면 시간이 오래 걸릴 수 있습니다. 예를 들어 별칭 IP 범위 7,000개를 추가하거나 삭제하는 데 최대 10분이 걸릴 수 있습니다.
  • 보조 서브넷 범위가 있으면 자동 모드 VPC 네트워크를 삭제할 수 없습니다.
  • 정적 경로에서는 다음 홉 IP 주소가 VM의 기본 IP 주소여야 합니다. 별칭 IP 주소는 다음 홉 IP 주소로 지원되지 않습니다.
  • IPv6 주소는 지원되지 않습니다.
  • 별칭 IP 범위는 VPC 네트워크에서만 지원되고 이전 네트워크에서는 지원되지 않습니다. 네트워크 유형을 확인하려면 네트워크 목록을 표시하세요. VPC 네트워크의 모드는 custom 또는 auto입니다. 이전 네트워크의 모드는 legacy입니다.

서브넷 명령어

VM 별칭 IP 범위는 VM이 속한 서브넷이 소유하는 범위에서 할당받아야 합니다. 모든 서브넷에는 해당 서브넷을 정의하는 내부 IP 주소의 표준 범위인 기본 범위가 있습니다. 또한 서브넷에는 내부 IP 주소로 구성된 하나 이상의 보조 IP 범위가 있을 수 있습니다. 서브넷의 기본 범위나 보조 범위에서 별칭 IP 범위를 할당할 수 있습니다.

각 보조 범위에는 해당 서브넷에서 고유한 이름을 지정해야 합니다. VM에 별칭 IP 범위를 할당할 경우, 보조 범위 이름은 어떤 서브넷 범위에서 별칭 IP를 할당할지 GCP에 알려줍니다.

기본 범위든 보조 범위든 모든 범위는 VPC 네트워크와 VPC 네트워크 피어링, VPN, 상호 연결을 통해 연결된 모든 네트워크의 모든 서브넷에서 고유해야 합니다.

이 섹션에서는 보조 범위로 서브넷을 만들거나, 기존 서브넷에 보조 범위를 추가하거나, 서브넷에서 보조 범위를 삭제하는 방법을 보여줍니다. 서브넷에 사용자가 사용하려는 범위가 있다면 VM 인스턴스 명령어에서 VM에 범위를 할당하는 방법을 확인하세요.

하나 이상의 보조 CIDR 범위로 서브넷 만들기

이 명령어는 VPC 네트워크가 준비되어 있다고 가정합니다. 그렇지 않은 경우, VPC 네트워크를 만듭니다.

이 명령어는 VM의 기본 인터페이스를 위한 서브넷을 만드는 경우든, 보조 인터페이스 중 하나를 위한 서브넷을 만드는 경우든 동일합니다.

별칭 IP 할당에 보조 범위를 사용하면 VM에서 호스트되는 서비스에 별도의 IP 공간이 허용되므로 VM에서 실행되는 서비스에만 액세스를 허용하고 VM의 기본 IP 주소에 대한 액세스는 차단하는 방화벽 규칙을 만들기가 더 쉽습니다.

콘솔

  1. Google Cloud Platform Console의 VPC 네트워크 페이지로 이동합니다.
    VPC 네트워크 페이지로 이동
  2. 기존 네트워크의 이름을 클릭합니다.
  3. 서브넷 추가를 클릭합니다.
  4. 새 서브넷의 이름을 입력합니다.
  5. 지역을 지정합니다.
  6. CIDR 표기법으로 IP 주소 범위를 입력합니다. (예: 10.65.61.0/24)
  7. 보조 IP 범위 만들기를 클릭합니다.
  8. 서브넷 범위 이름을 입력합니다.
  9. CIDR 표기법으로 보조 IP 범위를 입력합니다. (예: 10.9.0.0/24)
  10. 보조 IP 범위를 추가하려면 각 범위에 IP 범위 추가를 클릭한 다음 이름과 범위를 지정합니다.
  11. 추가를 클릭합니다.

gcloud

gcloud compute networks subnets create s1 \
    --network [NETWORK_NAME] \
    --region [REGION] \
    --range 10.65.61.0/24 \
    --secondary-range [RANGE_NAME]=[RANGE_CIDR][,[RANGE_NAME]=[RANGE_CIDR]...]

각 매개변수는 다음과 같습니다.

  • [NETWORK_NAME]은 서브넷을 만들 네트워크의 이름입니다.
  • [REGION]은 서브넷을 만들 지역입니다.
  • [RANGE_NAME]=[RANGE_CIDR]은 별칭 IP 범위를 가져올 보조 범위의 이름과 별칭 IP 범위 자체입니다. 예: range1=10.9.0.0/24.

전체 구문은 gcloud 문서를 참조하세요.

기존 서브넷에 보조 CIDR 범위 추가하기

이 절차에서는 사용자가 사용하려는 서브넷을 가지고 있으나 하나 이상의 보조 범위를 추가해야 한다고 가정합니다.

이 명령어는 VM의 기본 인터페이스를 위한 서브넷을 만드는 경우든, 보조 인터페이스 중 하나를 위한 서브넷을 만드는 경우든 동일합니다.

별칭 IP 할당에 보조 범위를 사용하면 VM에서 실행되는 서비스에 대해서는 액세스를 허용하고 VM의 기본 IP 주소에 대한 액세스는 허용하지 않는 방화벽 규칙을 만들기가 더 쉽습니다.

콘솔

gcloud 명령어를 사용합니다.

gcloud

gcloud compute networks subnets update [SUBNET_NAME] \
    --region [REGION] \
    --add-secondary-ranges [RANGE_NAME]=[RANGE_CIDR],[[RANGE_NAME]=[RANGE_CIDR],...]

각 매개변수는 다음과 같습니다.

  • [SUBNET_NAME]은 보조 범위를 추가할 대상 서브넷의 이름입니다.
  • [REGION]은 서브넷을 만들 지역입니다.
  • [RANGE_NAME]=[RANGE_CIDR]은 별칭 IP 범위를 가져올 보조 범위의 이름과 별칭 IP 범위 자체입니다. 예: range1=10.9.0.0/24.

전체 구문은 gcloud 문서를 참조하세요.

서브넷에서 보조 CIDR 범위 삭제하기

콘솔

gcloud 명령어를 사용합니다.

gcloud

gcloud compute networks subnets update [SUBNET_NAME] \
    --region [REGION] \
    --remove-secondary-ranges [RANGE_NAME],[[RANGE_NAME],...]

각 매개변수는 다음과 같습니다.

  • [SUBNET_NAME]은 보조 범위를 삭제할 서브넷의 이름입니다.
  • [REGION]은 서브넷을 만들 지역입니다.
  • [RANGE_NAME]은 별칭 IP 범위를 가져올 보조 범위의 이름과 별칭 IP 범위 자체입니다. 예: range1=10.9.0.0/24.

전체 구문은 gcloud 문서를 참조하세요.

단일 인터페이스를 가진 VM을 위한 VM 인스턴스 명령어

이 명령어는 별칭 IP 범위로 인스턴스를 만들거나 기존 VM 인스턴스에 하나 이상의 별칭 IP 범위를 추가하거나 기존 VM 인스턴스에서 하나 이상의 범위를 삭제하는 방법을 보여줍니다.

기본 CIDR 범위의 별칭 IP 범위로 VM 만들기

서브넷의 기본 범위에서 별칭 IP 범위를 할당하려는 경우 이 절차를 사용합니다. VPC 네트워크의 다른 리소스에서 사용자가 선택하는 범위 중 일부라도 이미 사용하고 있어야 합니다.

인스턴스의 기본 인터페이스와 별칭 IP 주소가 동일한 범위에 있게 하려면 이 절차를 사용합니다.

콘솔

  1. Google Cloud Platform Console의 VM 인스턴스 페이지로 이동합니다.
    VM 인스턴스 페이지로 이동
  2. 인스턴스 만들기를 클릭합니다.
  3. 새 인스턴스의 이름을 입력합니다.
  4. 영역을 지정합니다.
  5. 관리, 보안, 디스크, 네트워킹, 단독 임대를 클릭합니다.
  6. 네트워킹 탭을 클릭합니다.
  7. 네트워크 인터페이스 섹션에서 기본 인터페이스 옆에 있는 편집(연필 아이콘) 버튼을 클릭합니다.
  8. 별칭 IP 범위 표시를 클릭합니다.
  9. 서브넷 범위기본으로 설정된 상태로 둡니다.
  10. CIDR 표기법으로 별칭 IP 범위를 입력합니다. 이 범위는 기본 범위의 사용되지 않은 하위 범위여야 합니다.
  11. 만들기를 클릭합니다.

gcloud

gcloud compute instances create vm1 \
    --zone [ZONE] \
    --network-interface "subnet=[SUBNET_NAME],aliases=[RANGE_CIDR][;[RANGE_CIDR];...]"

각 매개변수는 다음과 같습니다.

  • [ZONE]은 인스턴스를 포함할 영역입니다.
  • [SUBNET_NAME]은 보조 범위를 삭제할 서브넷의 이름입니다.
  • [RANGE_CIDR]은 인스턴스에 할당할 기본 서브넷의 IP 범위입니다. 이 범위는 특정 범위(192.168.100.0/24), 단일 IP 주소(192.168.100.1), CIDR 형식의 넷 마스크(/24)가 될 수 있습니다. 이 IP 범위가 넷마스크로만 지정될 경우, IP 할당자가 이렇게 지정된 넷마스크로 사용 가능한 범위를 선택하여 네트워크 인터페이스에 할당합니다. 하나 이상의 범위를 지정하려면 각 범위를 세미콜론(;)으로 구분합니다.

전체 구문은 gcloud 문서를 참조하세요.

보조 CIDR 범위의 별칭 IP 범위로 VM 만들기

서브넷의 보조 범위에서 가져온 별칭 IP 범위를 할당하려면 이 절차를 사용합니다. 별칭 IP 범위를 서브넷의 기본 범위와 구분하면 VM에서 실행되는 서비스에 대해서는 액세스를 허용하되 VM의 기본 IP 주소에 대한 액세스는 허용하지 않는 방화벽 규칙을 만들기가 더 쉽습니다.

콘솔

  1. Google Cloud Platform Console의 VM 인스턴스 페이지로 이동합니다.
    VM 인스턴스 페이지로 이동
  2. 인스턴스 만들기를 클릭합니다.
  3. 새 인스턴스의 이름을 입력합니다.
  4. 영역을 지정합니다.
  5. 관리, 보안, 디스크, 네트워킹, 단독 임대를 클릭합니다.
  6. 네트워킹 탭을 클릭합니다.
  7. 네트워크 인터페이스 섹션에서 기본 인터페이스 옆에 있는 편집(연필 아이콘) 버튼을 클릭합니다.
  8. 별칭 IP 범위 표시를 클릭합니다.
  9. 보조 범위를 가진 하위 네트워크를 선택합니다.
  10. 서브넷 범위에서 사용하려는 보조 IP 범위를 선택합니다.
  11. CIDR 표기법으로 별칭 IP 범위를 입력합니다. 이 범위는 보조 IP 범위의 사용되지 않은 범위여야 합니다.
  12. 만들기를 클릭합니다.

gcloud

gcloud compute instances create vm3 \
    --zone [ZONE] \
    --network-interface subnet=[SUBNET_NAME],aliases=[RANGE_NAME]:[RANGE_CIDR]
 

각 매개변수는 다음과 같습니다.

  • [ZONE]은 인스턴스를 포함할 영역입니다.
  • [SUBNET_NAME]은 인스턴스를 포함할 서브넷의 이름입니다.
  • [RANGE_NAME]은 별칭 IP 범위를 가져올 서브넷 보조 범위의 이름입니다.
  • [RANGE_CIDR]은 인터페이스에 할당할 IP 범위입니다. 이 범위는 특정 범위(192.168.100.0/24), 단일 IP 주소(192.168.100.1), CIDR 형식의 넷 마스크(/24)가 될 수 있습니다. 이 IP 범위가 넷마스크로만 지정될 경우, IP 할당자가 이렇게 지정된 넷마스크로 사용 가능한 범위를 선택하여 네트워크 인터페이스에 할당합니다.

전체 구문은 gcloud 문서를 참조하세요.

기존 인스턴스에 별칭 IP 범위 추가하기

실행 중인 인스턴스에 별칭 IP 범위를 추가할 수 있습니다.

콘솔

  1. Google Cloud Platform Console의 VM 인스턴스 페이지로 이동합니다.
    VM 인스턴스 페이지로 이동
  2. 기존 인스턴스의 이름을 클릭합니다.
  3. 수정을 클릭합니다.
  4. 네트워크 인터페이스 nic0(또는 수정할 네트워크 인터페이스)을 클릭합니다.
  5. 별칭 IP 범위 표시를 클릭합니다.
  6. 별칭 IP 범위 추가를 클릭합니다.
  7. 서브넷 CIDR 범위를 지정합니다.
  8. 별칭 IP 범위를 입력합니다.
  9. 완료를 클릭합니다.
  10. 저장을 클릭합니다.

gcloud

gcloud compute instances network-interfaces update [INSTANCE_NAME] \
    --zone [ZONE] \
    [--network-interface [NETWORK_INTERFACE]; default="nic0"]
    --aliases "[RANGE_NAME]:[RANGE_CIDR];[[RANGE_NAME]:[RANGE_CIDR],...]"
  • [ZONE]은 인스턴스를 포함하는 영역입니다.
  • [RANGE_NAME]은 별칭 IP 범위를 가져올 서브넷 보조 범위의 이름입니다. 서브넷의 기본 범위에서 범위를 할당할 경우, 이 값을 생략합니다.
  • [RANGE_CIDR]은 인터페이스에 할당할 IP 범위입니다. 이 범위는 특정 범위(192.168.100.0/24), 단일 IP 주소(192.168.100.1), CIDR 형식의 넷 마스크(/24)가 될 수 있습니다. 이 IP 범위가 넷마스크로만 지정될 경우, IP 할당자가 이렇게 지정된 넷마스크로 사용 가능한 범위를 선택하여 네트워크 인터페이스에 할당합니다.

전체 구문은 gcloud 문서를 참조하세요.

기존 인스턴스의 별칭 IP 범위 수정하기

기존 인스턴스에 별칭 IP 범위를 추가하거나 하나 이상의 범위를 삭제할 수 있습니다.

  • 범위를 추가하려면 해당 명령어를 실행하고 기존 및 신규 별칭 IP 범위를 모두 지정합니다. 각 쌍을 세미콜론으로 구분합니다. 예: --aliases "[CURRENT_RANGE_NAME]:[CURRRENT_RANGE_CIDR];[NEW_RANGE_NAME]:[NEW_RANGE_CIDR]"

  • 범위를 삭제하려면 해당 명령어를 실행하고, 유지하고자 하는 별칭 IP 범위만 지정합니다. 보조 범위의 범위를 유지할 경우, 해당 보조 범위의 이름을 지정해야 합니다. CIDR 범위는 특정 범위(192.168.100.0/24) 또는 단일 IP 주소(192.168.100.1)일 수 있습니다. 예: --aliases "[RANGE_NAME]:[RANGE_CIDR];[RANGE_CIDR]"

  • 모든 범위를 삭제하려면 해당 명령어를 실행하고 --alias 플래그를 지정하되, 따옴표를 사용하여 공백을 입력합니다. 예: --aliases ""

  • 동일한 gcloud 명령어 내에서 여러 범위를 추가하고 삭제할 수는 없습니다. gcloud 명령줄 인터페이스로 일부 범위를 삭제하고 다른 범위를 추가하려면 우선 이 명령어를 실행하여 필요하지 않은 범위를 삭제한 다음에 명령어를 다시 실행하여 필요한 범위를 추가합니다.

콘솔

  1. Google Cloud Platform Console의 VM 인스턴스 페이지로 이동합니다.
    VM 인스턴스 페이지로 이동
  2. 기존 인스턴스의 이름을 클릭합니다.
  3. 수정을 클릭합니다.
  4. 네트워크 인터페이스 nic0(또는 수정할 네트워크 인터페이스)을 클릭합니다.
  5. 별칭 IP 범위 표시를 클릭합니다.
  6. 별칭 IP 범위를 추가하려면 별칭 IP 범위 추가를 클릭합니다.
  7. 별칭 IP 범위를 삭제하려면 해당 별칭 IP 범위 옆에 있는 X를 클릭합니다.
  8. 완료를 클릭합니다.
  9. 저장을 클릭합니다.

gcloud

gcloud compute instances network-interfaces update [INSTANCE_NAME] \
    --zone [ZONE] \
    --aliases "[RANGES_TO_RETAIN];[[NEW_RANGE_NAME]:[NEW_RANGE_CIDR];...]"
  • [ZONE]은 인스턴스를 포함하는 영역입니다.
  • [RANGES_TO_RETAIN]은 유지하고자 하는 기존 범위이며 [CURRENT_RANGE_NAME]:[CURRRENT_RANGE_CIDR] 형식입니다. 범위가 하나도 없는 인스턴스에 범위를 추가할 경우 해당 값은 공백이 됩니다. 인스턴스에서 모든 범위를 삭제할 경우, 전체 --alias 필드가 공백이 됩니다.
  • [NEW_RANGE_NAME]은 새 별칭 IP 범위를 가져올 서브넷 보조 범위의 이름입니다. 서브넷의 기본 범위에서 범위를 할당할 경우, 이 값을 생략합니다.
  • [NEW_RANGE_CIDR]은 인터페이스에 할당할 IP 범위입니다. 이 범위는 특정 범위(192.168.100.0/24), 단일 IP 주소(192.168.100.1), CIDR 형식의 넷 마스크(/24)가 될 수 있습니다. 이 IP 범위가 넷마스크로만 지정될 경우, IP 할당자가 이렇게 지정된 넷마스크로 사용 가능한 범위를 선택하여 네트워크 인터페이스에 할당합니다.

전체 구문은 gcloud 문서를 참조하세요.

여러 인터페이스를 가진 VM을 위한 VM 인스턴스 명령어

여러 인터페이스와 별칭 IP 주소로 하나의 VM 만들기

이 예에서는 서브넷이 하나씩 있는 네트워크 2개를 만들고 두 네트워크에 여러 개의 인터페이스가 있는 하나의 VM을 만듭니다. VPC 네트워크 2개가 이미 있다면 'VM 인스턴스 만들기' 단계로 건너뛰어도 됩니다.

콘솔

첫 번째 네트워크와 서브넷을 만듭니다.

  1. Google Cloud Platform Console의 VPC 네트워크 페이지로 이동합니다.
    VPC 네트워크 페이지로 이동
  2. VPC 네트워크 만들기를 클릭합니다.
  3. 이름my-network1로 입력합니다.
  4. 서브넷 생성 모드Custom으로 설정하고 서브넷 이름my-subnet1로 지정합니다.
  5. 지역을 지정합니다.
  6. IP 주소 범위172.16.1.0/24로 설정합니다.
  7. 보조 IP 범위 만들기를 클릭합니다.
  8. 서브넷 범위 이름range1로 설정합니다.
  9. 보조 IP 범위10.1.0.0/16으로 설정합니다.
  10. 완료를 클릭합니다.
  11. 만들기를 클릭합니다.

보조 네트워크와 서브넷을 만듭니다.

  1. Google Cloud Platform Console의 VPC 네트워크 페이지로 이동합니다.
    VPC 네트워크 페이지로 이동
  2. VPC 네트워크 만들기를 클릭합니다.
  3. 이름my-network2로 입력합니다.
  4. 서브넷 생성 모드Custom으로 설정하고 서브넷 이름my-subnet2로 지정합니다.
  5. 첫 번째 네트워크와 서브넷에 지정한 것과 동일한 지역을 지정합니다.
  6. IP 주소 범위172.16.2.0/24로 설정합니다.
  7. 보조 IP 범위 만들기를 클릭합니다.
  8. 서브넷 범위 이름range2로 설정합니다.
  9. 보조 IP 범위10.2.0.0/16으로 설정합니다.
  10. 완료를 클릭합니다.
  11. 만들기를 클릭합니다.

두 네트워크에 인터페이스가 여러 개 있는 VM을 만듭니다.

  1. Google Cloud Platform Console의 VM 인스턴스 페이지로 이동합니다.
    VM 인스턴스 페이지로 이동
  2. 인스턴스 만들기를 클릭합니다.
  3. 영역을 사용자가 서브넷을 만든 지역으로 설정합니다.
  4. 관리, 보안, 디스크, 네트워킹, 단독 임대를 클릭합니다.
  5. 네트워킹을 클릭합니다.
  6. 첫 번째 네트워크 인터페이스를 클릭합니다.
  7. 네트워크my-network1로 설정합니다.
  8. 서브네트워크my-subnet1로 설정합니다.
  9. 별칭 IP 범위 표시를 클릭합니다.
  10. 별칭 IP 범위 추가를 클릭합니다.
  11. 서브넷 범위Primary로 설정합니다.
  12. 별칭 IP 범위/32로 설정합니다.
  13. IP 범위 추가를 클릭합니다.
  14. 서브넷 범위range1로 설정합니다.
  15. 별칭 IP 범위/24로 설정합니다.
  16. 완료를 클릭합니다.
  17. 네트워크 인터페이스 추가를 클릭합니다.
  18. my-network2를 선택합니다.
  19. 서브네트워크my-subnet2로 설정합니다.
  20. 별칭 IP 범위 표시를 클릭합니다.
  21. 별칭 IP 범위 추가를 클릭합니다.
  22. 서브넷 범위Primary로 설정합니다.
  23. 별칭 IP 범위/32로 설정합니다.
  24. IP 범위 추가를 클릭합니다.
  25. 서브넷 범위range2로 설정합니다.
  26. 별칭 IP 범위/24로 입력합니다.
  27. 완료를 클릭합니다.
  28. 만들기를 클릭합니다.

gcloud

  1. 첫 번째 네트워크를 만듭니다.

    gcloud compute networks create my-network1 --subnet-mode CUSTOM
    
  2. 서브넷을 추가합니다.

    gcloud compute networks subnets create my-subnet1 \
        --network my-network1 \
        --range 172.16.1.0/24 \
        --secondary-range range1=10.1.0.0/16
    
  3. 두 번째 네트워크를 만듭니다.

    gcloud compute networks create my-network2 --subnet-mode CUSTOM
    
  4. 서브넷을 추가합니다.

    gcloud compute networks subnets create my-subnet2 \
        --network my-network2 \
        --range 172.16.2.0/24 \
        --secondary-range range2=10.2.0.0/16
    
  5. 두 네트워크에 인터페이스가 여러 개 있는 VM을 만듭니다. 첫 번째로 나열된 네트워크 인터페이스 즉, my-subnet1에 있는 인터페이스가 기본 인터페이스입니다.

    gcloud compute instances create multi-nic-alias-vm \
        --machine-type f1-micro \
        --network-interface "subnet=my-subnet1,aliases=/32;range1:/24" \
        --network-interface "subnet=my-subnet2,aliases=/32;range2:/24"
    
  6. 표시 명령어를 사용하여 인터페이스와 그 주소를 확인합니다.

    gcloud compute instances describe multi-nic-alias-vm
    
    ...
    networkInterfaces:
    - ...
      aliasIpRanges:
      - ipCidrRange: 172.16.1.2/32
      - ipCidrRange: 10.1.0.0/24
        subnetworkRangeName: range1
      name: nic0
      network: .../networks/my-network1
      networkIP: 172.16.1.3
      subnetwork: .../subnetworks/my-subnet1
      ...
    - ...
      aliasIpRanges:
      - ipCidrRange: 172.16.2.2/32
      - ipCidrRange: 10.2.0.0/24
        subnetworkRangeName: range2
      name: nic1
      network: .../networks/my-network2
      networkIP: 172.16.2.3
      subnetwork: .../subnetworks/my-subnet2
      

인터페이스가 여러 개인 VM에 별칭 IP 주소 추가하기

콘솔

  1. Google Cloud Platform Console의 VM 인스턴스 페이지로 이동합니다.
    VM 인스턴스 페이지로 이동
  2. 기존 인스턴스의 이름을 클릭합니다.
  3. 수정을 클릭합니다.
  4. 네트워크 인터페이스 nic0(또는 별칭 IP 범위를 추가할 네트워크 인터페이스)을 클릭합니다.
  5. 별칭 IP 범위 표시를 클릭합니다.
  6. 별칭 IP 범위 추가를 클릭합니다.
  7. 서브넷 범위를 지정합니다.
  8. 별칭 IP 범위를 입력합니다.
  9. 완료를 클릭합니다.
  10. 저장을 클릭합니다.

gcloud

기본 인터페이스에 추가:

gcloud compute instances network-interfaces update multi-nic-alias-vm \
    --aliases "range1:10.1.0.0/24;172.16.1.2/32;/32"

보조 인터페이스에 추가:

gcloud compute instances network-interfaces update multi-nic-alias-vm \
    --aliases "range2:10.2.0.0/24;172.16.2.2/32;/32" \
    --network-interface nic1

인터페이스가 여러 개인 VM에서 별칭 IP 범위 삭제하기

콘솔

  1. Google Cloud Platform Console의 VM 인스턴스 페이지로 이동합니다.
    VM 인스턴스 페이지로 이동
  2. 기존 인스턴스의 이름을 클릭합니다.
  3. 수정을 클릭합니다.
  4. 네트워크 인터페이스 nic0(또는 별칭 IP 범위를 추가할 네트워크 인터페이스)을 클릭합니다.
  5. 별칭 IP 범위 표시를 클릭합니다.
  6. 삭제할 별칭 IP 범위 옆의 X를 클릭합니다.
  7. 완료를 클릭합니다.
  8. 저장을 클릭합니다.

gcloud

기본 인터페이스에서 삭제:

gcloud compute instances network-interfaces update multi-nic-alias-vm \
    --aliases ""

보조 인터페이스에서 삭제:

gcloud compute instances network-interfaces update multi-nic-alias-vm \
    --aliases "" \
    --network-interface nic1

문제해결

별칭 IP로 VM 인스턴스를 만들 수 없음

  1. 네트워크가 VPC 네트워크인지 확인합니다. 이전 네트워크에서는 별칭 IP가 지원되지 않습니다.

    gcloud compute networks list --filter="name=[NETWORK_NAME]"
    

    네트워크 MODE가 'auto' 또는 'custom'이어야 합니다.

  2. 서브넷 범위 이름이 지정되어 있다면 다음 내용을 확인합니다.

    gcloud compute networks subnets describe [SUBNET_NAME] --region=[REGION]
    
    • 서브넷에 해당 이름으로 된 보조 범위가 있습니다.
    • 요청한 별칭 IP 범위가 이 보조 범위 내에 있거나, 넷마스크를 사용할 경우 기본 범위보다 더 작습니다.
  3. 서브넷 범위 이름이 지정되지 않은 경우, 요청한 별칭 IP 범위가 기본 서브넷 범위 내에 있거나, 넷마스크를 사용할 경우 기본 범위보다 더 작은지 확인합니다.

별칭 IP에 연결할 수 없음

  1. 방화벽 규칙을 확인합니다.

    1. 모든 방화벽 규칙을 나열합니다.

      gcloud compute firewall-rules list --format=json
      
    2. 별칭 IP를 오가는 트래픽이 허용되는지 확인합니다.

    3. 필요하다면 별칭 IP의 핑을 허용하는 방화벽 규칙을 추가합니다.

      gcloud compute firewall-rules create [FIREWALL_NAME1] \
        --network [NETWORK_NAME] --priority 0 --source-ranges [ALIAS_IP] \
        --allow icmp
      
      gcloud compute firewall-rules create [FIREWALL_NAME2] \
        --network [NETWORK_NAME] --priority 0 --direction out \
        --destination-ranges [ALIAS_IP] --allow icmp
      
  2. VM이 해당 IP 별칭 범위를 로컬로 인식하는지 확인합니다. Debian과 같은 Linux 배포판의 경우 일반적으로 다음과 같이 확인할 수 있습니다.

    1. 인스턴스에 연결하고 다음 명령어를 실행합니다.

      ip route show table local
      

      출력에 다음 내용이 포함됩니다.

      local [ALIAS_IP_RANGE] dev eth0  proto 66  scope host
      
    2. 로컬 경로가 존재하지 않는 경우, 다음 명령어를 사용하여 구성합니다.

      ip route add to local [ALIAS_IP_RANGE] dev eth0 proto 66
      

내 보조 IP 범위가 나열되지 않음

보조 IP 범위는 일반 서브넷으로 나열되지 않습니다. 서브넷 보조 IP 범위가 생성되었음을 표시하려면 gcloud compute networks subnets describe 명령어를 사용합니다.

  1. 서브넷을 만듭니다.

    gcloud compute networks subnets create my-subnet \
        --region us-central1 \
        --network my-network \
        --range 10.9.0.0/16 \
        --secondary-range secondaryrange1=172.16.0.0/12
    
    Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/regions/us-central1/subnetworks/my-subnet].
    NAME       REGION       NETWORK     RANGE
    my-subnet  us-central1  my-network  10.9.0.0/16
    
  2. 서브넷을 나열합니다.

    gcloud compute networks subnets list
    
    NAME       REGION       NETWORK     RANGE
    my-subnet  us-central1  my-network  10.9.0.0/16
    
  3. 서브넷의 세부정보를 가져와서 보조 범위를 확인합니다.

    gcloud compute networks subnets describe my-subnet --region us-central1
    
    ...
    ipCidrRange: 10.9.0.0/16
    ...
    secondaryIpRanges:
    - ipCidrRange: 172.16.0.0/12
      rangeName: secondaryrange1
    ...
    

지정한 서브넷 보조 범위가 존재하지 않음

VM을 만들 때 보조 범위가 존재하지 않는다는 오류가 발생할 경우 다음을 확인하세요.

  • 서브넷에 지정된 이름의 보조 범위가 있는지 여부
  • 보조 범위가 있는 서브넷 내에 VM을 만들고 있는지 여부

다음 명령어를 실행하여 이 오류를 확인할 수 있습니다.

  1. 보조 범위로 서브넷을 만듭니다.

    gcloud compute networks subnets create my-subnet \
        --region us-central1 \
        --network my-network \
        --range 10.9.0.0/16 \
        --secondary-range secondaryrange1=172.16.0.0/12
    
    Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/regions/us-central1/subnetworks/my-subnet].
    NAME       REGION       NETWORK     RANGE
    my-subnet  us-central1  my-network  10.9.0.0/16
    
  2. 새로 만든 서브넷이 아니라 기본 네트워크 등의 다른 네트워크에 인스턴스를 만듭니다.

    gcloud compute instances create instance-1 \
        --zone us-central1-a \
        --network default
    
    Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/zones/us-central1-a/instances/instance-1].
    NAME        ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
    instance-1  us-central1-a  n1-standard-1               10.128.0.2     47.82.96.9  RUNNING
    
  3. 1단계에서 만든 서브넷에서 별칭 IP 범위를 할당해봅니다. 보조 범위가 인스턴스와 다른 서브넷에 있기 때문에 이 명령어는 실패합니다.

    gcloud compute instances network-interfaces update instance-1 \
        --zone us-central1-a \
        --aliases secondaryrange1:172.16.0.10/32
    
    ERROR: (gcloud.compute.instances.network-interfaces.update) HTTPError 400: Invalid value for field 'resource.aliasIpRanges[0].subnetworkRangeName': 'secondaryrange'. The specified subnetwork secondary range does not exist.
    
  4. 다른 인스턴스를 만듭니다. 이 인스턴스는 1단계에서 만든 서브넷에 있는 인터페이스를 가집니다.

    gcloud compute instances create instance-2 \
        --zone us-central1-a \
        --network-interface subnet=my-subnet
    
    Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/zones/us-central1-a/instances/instance-2].
    NAME        ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
    instance-2  us-central1-a  n1-standard-1               10.9.0.2     38.74.204.89  RUNNING
    
  5. 이 인스턴스에 별칭 IP를 추가합니다. 이번에는 인터페이스와 보조 범위가 동일한 서브넷에 있으므로 명령어가 성공적으로 실행됩니다.

    gcloud compute instances network-interfaces update instance-2 \
        --zone us-central1-a \
        --aliases secondaryrange1:172.16.0.10/32
    
    Updating network interface [nic0] of instance [instance-2]...done.
    

보조 IP 범위 추가와 삭제를 동일한 요청으로 수행할 수 없음

하위 네트워크 보조 IP 범위 추가 및 삭제를 동일한 명령어로 수행하는 것은 현재 지원되지 않습니다. 보조 범위를 추가하고 삭제하는 gcloud 명령어는 수정되지 않은 기존 범위를 보존합니다.

범위를 추가하고 삭제하려면 두 명령어를 따로 실행하세요.

gcloud compute networks subnets update [SUBNET_NAME] \
    --add-secondary-ranges [RANGE_NAME]=[RANGE_CIDR],[[RANGE_NAME]=[RANGE_CIDR],...]
gcloud compute networks subnets update  [SUBNET_NAME] \
    --remove-secondary-ranges [RANGE_NAME],[[RANGE_NAME],...]

이 명령어에 대한 자세한 내용을 보려면 gcloud compute networks subnets update --help를 사용하세요.

별칭 IP 범위를 동시에 추가하고 삭제할 수 없음

동일한 요청으로 VM 별칭 IP 범위를 추가하고 삭제하는 것은 현재 지원되지 않습니다.

별칭 IP 범위를 업데이트하는 gcloud 명령어는 기존 범위를 보존하지 '않으므로' 특정 범위를 생략할 경우 그 범위를 삭제하는 요청으로 간주됩니다.

예를 들어, 현재 VM에 별칭 범위 10.9.27.0/24가 있는데 새로 요청된 범위가 /24인 경우, /24를 요청하는 명령어를 실행하면 10.9.27.0/24를 삭제하고 /24를 추가하라는 뜻으로 해석되므로 명령어가 거부됩니다. 새 범위를 추가하려면 먼저 기존 범위가 명시적으로 삭제되어야 합니다.

예를 들면 다음과 같습니다.

  1. 별칭 IP 범위를 만듭니다.

    gcloud compute instances create vm --network-interface "subnet=s1,aliases=10.9.27.0/24"
    
  2. 기존 범위를 지정하지 않고 /24를 추가해봅니다. 오류가 발생합니다.

    gcloud compute instances network-interfaces update vm --aliases "/24"
    ERROR: (gcloud.compute.instances.network-interfaces.update) HTTPError 400: Invalid value for field 'resource.aliasIpRanges': ''. Cannot simultaneously add and remove alias IP ranges.
    
  3. VM이 별칭 IP 범위를 갖지 않도록 업데이트합니다.

    gcloud compute instances network-interfaces update vm --aliases ""
    Updating network interface [nic0] of instance [vm]...done.
    
  4. 새 별칭 IP 범위를 추가합니다.

    gcloud compute instances network-interfaces update vm --aliases "/24"
    Updating network interface [nic0] of instance [vm]...done.
    

이 명령어에 대한 자세한 내용을 보려면 gcloud compute instances network-interfaces update --help를 사용하세요.

방화벽 규칙 소스 태그 및 소스 서비스 계정

방화벽 소스 서비스 계정과 소스 태그는 일치하는 인스턴스의 기본 네트워크 IP로만 확장되고 일치하는 인스턴스의 별칭 IP에는 적용되지 않습니다. 따라서 소스 태그에 기반을 둔 방화벽 규칙은 인스턴스 별칭 IP 주소의 트래픽에 영향을 주지 않습니다. 별칭 IP 주소를 소스 또는 대상 범위로 방화벽 규칙에 추가할 수 있습니다.

여러 인터페이스와 별칭 IP 범위가 있는 VM과 관련한 문제

다중 인터페이스 문제해결을 참조하세요.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...