별칭 IP 범위 개요

Google Cloud Platform(GCP) 별칭 IP 범위를 사용하면 가상 머신(VM)의 네트워크 인터페이스에 별칭으로 내부 IP 주소 범위를 할당할 수 있습니다. 이는 하나의 VM에서 여러 서비스를 실행하고 있어서 각 서비스에 서로 다른 IP 주소를 할당하고자 할 때 유용합니다. 별칭 IP 범위는 GKE 포드에서도 작동합니다.

개요

한 VM에서 하나의 서비스만 실행하는 경우, 인터페이스의 기본 IP 주소를 사용하여 해당 서비스를 참조할 수 있습니다. 한 VM에서 여러 서비스를 실행하는 경우에는 각각에 서로 다른 내부 IP 주소를 할당할 수 있습니다. 별칭 IP 범위를 사용하면 됩니다.

서브넷 기본 및 보조 CIDR 범위

모든 서브넷에는 해당 서브넷을 정의하는 내부 IP 주소 범위인 기본 CIDR 범위가 있습니다. 각 VM 인스턴스는 이 범위에서 기본 내부 IP 주소를 가져옵니다. 기본 범위의 별칭 IP 범위를 할당할 수도 있고, 서브넷에 보조 범위를 추가하여 이 보조 범위에서 별칭 IP 범위를 할당할 수도 있습니다. 별칭 IP 범위를 사용할 때는 보조 서브넷 범위가 필요하지 않습니다. 이러한 보조 서브넷 범위는 구성 도구만 제공합니다.

VM 네트워크 인터페이스에 정의되는 별칭 IP 범위

별도의 네트워크 인터페이스를 정의할 필요 없이 IP 별칭 설정을 이용하여 VM에서 호스팅되는 컨테이너 또는 애플리케이션을 나타내는 여러 개의 내부 IP 주소를 구성할 수 있습니다. 서브넷의 기본 범위나 보조 범위에서 VM 별칭 IP 범위를 할당할 수 있습니다.

별칭 IP 범위 구성에서는 보조 범위로 서브넷을 설정하고 VM에 별칭 IP 주소를 할당하는 명령어를 설명합니다.

다음 다이어그램은 VM의 기본 인터페이스에 있는 기본 및 보조 CIDR 범위와 VM 별칭 IP 범위의 기본적인 모습을 보여줍니다.

기본 및 보조 CIDR 범위와 VM 별칭 IP 범위(확대하려면 클릭)
기본 및 보조 CIDR 범위와 VM 별칭 IP 범위(확대하려면 클릭)
  • 기본 CIDR 범위 10.1.0.0/16은 서브넷의 일부로 구성됩니다.
  • 보조 CIDR 범위 10.2.0.0/20은 서브넷의 일부로 구성됩니다.
  • VM 기본 IP 10.1.0.2는 기본 CIDR 범위인 10.1.0.0/16에서 할당되고, 별칭 IP 범위인 10.2.1.0/24는 보조 CIDR 범위인 10.2.0.0/20에서 VM에 할당됩니다.
  • 별칭 IP 범위의 주소는 VM에 호스팅되는 컨테이너의 IP 주소로 사용됩니다.

별칭 IP 범위의 주요 이점

별칭 IP 범위가 구성되면 GCP가 기본 네트워크 인터페이스 서브넷의 기본 및 별칭 IP 범위에 대한 VPC 네트워크 경로를 자동으로 설치합니다. 컨테이너 조정자가 이러한 경로에 대한 VPC 네트워크 연결을 지정할 필요가 없습니다. 따라서 트래픽 라우팅과 컨테이너 관리가 간소화됩니다. 별칭 IP 범위 주요 속성에서 설명하는 게스트 구성을 수행할 필요가 없습니다.

GCP에서 컨테이너 IP 주소를 할당하는 경우, GCP의 유효성 검사 프로세스에서 컨테이너 포드 IP 주소가 VM IP 주소와 충돌하지 않도록 해줍니다.

별칭 IP 주소가 구성되면 트래픽에 대한 스푸핑 방지 검사에서 VM에서 나가는 트래픽이 VM IP 주소와 포드 IP 주소를 소스 주소로 사용하는지 확인합니다. 이 스푸핑 방지 검사는 VM이 임의의 소스 IP 주소로 트래픽을 전송하지 않는지 확인합니다. 컨테이너 네트워킹에 정적 경로를 사용하는 것은 IP 별칭을 설정하는 것보다 안전하지 못한 접근법입니다. 컨테이너 호스트 VM에 대한 스푸핑 방지 검사를 중지해야 하기 때문입니다(IP 전달을 사용하면 스푸핑 방지 검사가 중지됨).

별칭 IP 범위는 추가 경로 없이 GCP 가상 네트워크 내부에서 라우팅할 수 있습니다. 모든 IP 별칭마다 경로를 추가할 필요가 없고 경로 할당량을 고려할 필요가 없습니다.

별칭 IP 주소는 Cloud Router가 VPN이나 상호 연결을 통해 연결된 온프레미스 네트워크로 공지할 수 있습니다.

보조 CIDR 범위에서 별칭 IP 범위를 할당할 경우 이점이 있습니다. 기본 IP 주소에 사용되는 범위가 아닌 다른 범위에서 할당함으로써, 인프라(VM)를 서비스(컨테이너)와 분리할 수 있습니다. 인프라와 서비스에 각각 별도의 주소 공간을 구성하면 VM의 기본 IP 주소에 대한 방화벽 컨트롤과 VM 별칭 IP 주소에 대한 방화벽 컨트롤을 별도로 설정할 수 있습니다. 예를 들어, 컨테이너 포드에는 특정 트래픽을 허용하고 VM의 기본 IP 주소에는 이와 유사한 트래픽을 거부할 수 있습니다.

GCP의 컨테이너 아키텍처

GCP 위에 컨테이너 서비스를 구성하려고 한다고 가정해 보겠습니다. 그러면 이 서비스를 호스팅할 VM을 만들고, 여기에 추가로 컨테이너를 만들어야 합니다.

이 시나리오에서 사용자는 컨테이너를 오가는 트래픽과 VPN을 통해 연결된 여러 온프레미스 위치를 오가는 트래픽을 라우팅하되, 기본 VM IP 주소가 VPN을 통해 연결할 수 없게 하려고 합니다. 이러한 구성을 만들려면 컨테이너 IP 범위는 VPN을 통해 라우팅할 수 있어야 하고 VM 기본 IP 범위는 그렇지 않아야 합니다. 또한 사용자는 VM 생성 시 컨테이너에 사용되는 IP 주소 풀이 자동으로 할당되도록 하려고 합니다.

이 같은 구성을 만들려면 다음과 같이 합니다.

  • 서브넷을 만들 때 다음을 구성합니다.
    • 기본 CIDR 범위 1개. 예: 10.128.0.0/16
    • 보조 CIDR 범위 1개. 예: 172.16.0.0/16
  • 인스턴스 템플릿을 사용하여 VM을 만들고 각각에 다음을 자동으로 할당합니다.
    • 10.128.0.0/16 범위의 기본 IP 1개
    • 보조 CIDR 172.16.0.0/16 공간의 별칭 범위 /24. 이렇게 하면 VM의 각 포드에 /24 보조 CIDR 범위의 IP를 하나씩 할당할 수 있습니다.
  • 방화벽 규칙 2개를 만듭니다.
    • 트래픽이 온프레미스에서 VPN을 통해 서브넷 기본 CIDR 범위에 도달하는 것을 거부하는 규칙 1개
    • 트래픽이 온프레미스에서 VPN을 통해 서브넷 보조 CIDR 범위에 도달하는 것을 허용하는 규칙 1개

예: 별칭 IP 범위로 컨테이너 구성하기

별칭 IP 범위를 사용하면 보조 CIDR 범위에서 컨테이너 IP 주소를 할당하여 컨테이너를 호스팅하는 VM에 별칭 IP 주소로 구성할 수 있습니다.

별칭 IP 주소로 컨테이너 구성하기(확대하려면 클릭)
별칭 IP 주소로 컨테이너 구성하기(확대하려면 클릭)

위 그림과 같은 구성을 만들려면 다음 안내를 따르세요.

  1. CIDR 범위 10.128.0.0/16(여기에서 VM IP 주소가 할당됨)과 보조 CIDR 범위 172.16.0.0/20(컨테이너 전용으로, 이를 호스팅하는 VM의 별칭 IP 범위로 구성됨)으로 서브넷을 만듭니다.

    gcloud compute networks subnets create subnet-a \
        --network network-a \
        --range 10.128.0.0/16 \
        --secondary-range container-range=172.16.0.0/20
    
  2. 범위 10.128.0.0/16의 기본 IP로 VM을 만들고, 이 VM의 컨테이너가 사용할 보조 CIDR 범위 172.16.0.0/20의 별칭 IP 범위 172.16.0.0/24를 만듭니다.

    gcloud compute instances create vm1 [...] \
        --network-interface subnet=subnet-a,aliases=container-range:172.16.0.0/24
    gcloud compute instances create vm2 [...] \
        --network-interface subnet=subnet-a,aliases=container-range:172.16.1.0/24
    
  3. 컨테이너 IP 주소가 GCP에 별칭 IP 주소로 구성됩니다. 이 설정에서는 기본 IP와 별칭 IP 모두가 VPN 터널을 통해 연결할 수 있습니다. Cloud Router가 구성되어 있으면 Cloud Router가 자동으로 보조 서브넷 범위 172.16.0.0/20을 공지합니다. VPN을 Cloud Router와 함께 사용하는 방법에 대한 자세한 내용은 동적 라우팅을 사용하여 VPN 터널 만들기를 참조하세요.

이 구성을 만드는 데 사용되는 명령어에 대한 자세한 내용은 별칭 IP 주소 및 범위 구성을 참조하세요.

예: 하나의 VM 인스턴스에 구성된 여러 개의 별칭 IP 범위

별칭 IP 범위를 사용하면 컨테이너를 포함하여 VM 내에서 실행되는 애플리케이션의 IP 할당을 관리할 수 있습니다.

특정 배포판에서 VM 간에 마이그레이션할 수 있는 컨테이너도 있고 그렇지 않은 컨테이너도 있습니다. 마이그레이션할 수 있는 컨테이너는 /32 범위를 사용하여 구성할 수 있어서 개별적으로 마이그레이션하기가 쉽습니다. 마이그레이션할 수 없는 컨테이너는 함께 있기 때문에 더 큰 범위를 사용하여 구성할 수 있습니다.

이러한 유형의 배포판에서는 VM 인스턴스당 별칭 IP 범위가 여러 개 필요할 수 있습니다(예: 마이그레이션할 수 없는 컨테이너의 경우 /27 1개, 마이그레이션할 수 있는 컨테이너는 /32 여러 개).

여러 개의 별칭 IP 범위로 VM 구성하기(확대하려면 클릭)
여러 개의 별칭 IP 범위로 VM 구성하기(확대하려면 클릭)

이 예와 같은 VM을 구성하려면 다음 gcloud 명령어를 사용합니다.

gcloud compute networks create vpc1 --subnet-mode custom
gcloud compute networks subnets create subnet1 --region us-central1 --network vpc1 --range 10.128.0.0/16 --secondary-range secondaryrange1=172.16.0.0/20
gcloud compute instances create vm1 --zone us-central1-a --network-interface "subnet=subnet1,aliases=secondaryrange1:172.16.0.0/27;secondaryrange1:172.16.1.0/32"
gcloud compute instances create vm2 --zone us-central1-a --network-interface "subnet=subnet1,aliases=secondaryrange1:172.16.0.32/27;secondaryrange1:172.16.1.1/32"

자동 모드 VPC 네트워크 및 서브넷의 별칭 IP 주소

자동 모드 VPC 네트워크에서는 각 지역마다 하나의 서브넷이 존재합니다. 이렇게 자동으로 생성된 서브넷에는 기본 CIDR 범위가 각각 하나씩 있고 보조 범위는 없습니다. 자동 모드 VPC 네트워크에서 별칭 IP를 사용하려면 자동으로 생성된 서브넷의 기본 CIDR 범위에서 별칭 IP 범위를 할당하거나 자동으로 생성된 서브넷에 보조 범위를 추가하고 이 새 보조 범위에서 별칭 IP 범위를 할당할 수 있습니다.

또는 어떤 범위도 10.128.0.0/9와 중첩되지 않는다면 자동 모드 VPC 네트워크에서 보조 범위로 새 서브넷을 생성할 수 있습니다. 그 다음, 이 새 서브넷에 VM 인스턴스를 만들고 해당 서브넷의 임의 범위에서 별칭 IP 범위를 할당할 수 있습니다.

서브넷에 보조 범위를 추가하려면 기존 서브넷에 보조 CIDR 범위 추가하기를 참조하세요.

커스텀 모드 네트워크 및 서브넷의 별칭 IP 주소

커스텀 모드 네트워크에서는

  • 모든 서브넷이 수동으로 생성됩니다.
  • 기본 CIDR 범위 1개는 필수 사항입니다.
  • 필요에 따라 보조 CIDR 범위를 만들 수 있습니다.

별칭 IP 범위 주요 속성

VM에 구성된 별칭 IP 범위에는 다음과 같은 속성이 적용됩니다.

  • VM OS의 관점에서 기본 IP 주소와 기본 게이트웨이는 일반적으로 DHCP를 사용하여 할당됩니다. VM OS(일반적으로 Linux 또는 Windows)에서 수동으로 또는 스크립트를 사용하여 별칭 IP 주소를 구성할 수 있습니다.
  • 인터페이스의 기본 IP 주소와 별칭 IP 범위는 동일한 서브넷의 일부로 구성된 CIDR 범위에서 할당되어야 합니다. 다음 요구사항을 참고하세요.
    • 기본 IP 주소는 CIDR 기본 범위에서 할당되어야 합니다.
    • 별칭 IP 범위는 기본 CIDR 범위 또는 그와 동일한 서브넷의 보조 CIDR에서 할당될 수 있습니다.
    • VM 네트워크 인터페이스의 경우 별칭 IP는 기본 네트워크 인터페이스의 IP 주소를 제공하는 것과 동일한 서브넷 리소스에서 제공되어야 합니다. 다른 서브넷 리소스에서 기본 또는 보조 CIDR 범위를 선택할 수 없습니다.
    • 기본 IP 주소는 정적 비공개 IP 주소로 사용자가 구성하거나 시스템이 임시 정적 IP 주소로 자동 할당할 수 있습니다.
    • 별칭 IP 범위는 선택사항이며 자동으로 추가되지 않습니다. 인스턴스 생성 또는 수정 시에 별칭 IP 범위를 구성할 수 있습니다.
    • 별칭 IP 범위는 명시적 CIDR 범위(예: 10.128.1.0/24), 단일 IP 주소(예: 10.128.7.29) 또는 넷마스크(/24)로 구성할 수 있습니다. 별칭 IP 범위를 모두 지정할 수도 있고, 넷마스크를 지정하여 자동으로 할당할 수도 있습니다.
    • 한 VPC 네트워크의 모든 서브넷은 하나의 기본 게이트웨이를 공유하므로, 한 인스턴스 내의 모든 별칭 IP 주소가 기본 IP 주소와 동일한 기본 게이트웨이를 공유합니다.
한 인터페이스 내의 별칭 IP가 기본 IP 주소와 동일한 기본 게이트웨이를 공유함(확대하려면 클릭)
한 인터페이스 내의 별칭 IP가 기본 IP 주소와 동일한 기본 게이트웨이를 공유함(확대하려면 클릭)

별칭 IP 주소를 갖는 DNS

GCP는 모든 VM 인스턴스의 기본 인터페이스 기본 IP에 내부 DNS를 자동으로 구성합니다. 이는 인스턴스 호스트 이름과 기본 인터페이스 기본 IP 주소를 연결합니다. 그러나 해당 호스트 이름에 대한 DNS 조회는 기본 인터페이스를 포함하고 있는 네트워크에서만 작동합니다.

GCP는 그 외 다른 IP 주소를 호스트 이름과 자동으로 연결하지 않습니다. GCP는 기본 인터페이스의 별칭 IP 주소를 호스트 이름과 연결하지 않으며 보조 인터페이스의 IP 주소를 호스트 이름과 연결하지 않습니다.

DNS가 다른 IP 주소를 연결하도록 수동으로 구성할 수 있습니다.

방화벽

별칭 IP 주소에는 방화벽 소스 태그가 지원되지 않습니다. 방화벽 규칙에 소스 태그를 구성하면 소스 태그가 VM 기본 IP 주소와는 일치하고 별칭 IP 주소와는 일치하지 않습니다. IP 별칭 주소에서 오는 수신 트래픽을 허용하거나 거부하려면 소스 범위를 사용합니다.

정적 경로

정적 경로에서는 다음 홉 IP 주소가 가상 머신 인스턴스의 기본 IP 주소여야 합니다. 별칭 IP 주소는 다음 홉 IP 주소로 지원되지 않습니다.

VPC 네트워크 피어링

VPC 네트워크 피어링을 사용하면 VPC 네트워크 두 개를 피어링하여 두 네트워크의 VM이 내부 비공개 IP 주소를 통해 통신하도록 할 수 있습니다.

서브넷의 기본 IP 범위와 보조 IP 범위는 모두 하나의 피어링된 네트워크 내에서 VM 인스턴스로 연결할 수 있습니다.

피어링된 네트워크에 대한 서브넷 중복 검사는 기본 범위와 보조 범위가 피어링된 범위와 중복되지 않도록 해줍니다.

네트워크 피어링과 IP 별칭(확대하려면 클릭)
네트워크 피어링과 IP 별칭(확대하려면 클릭)

다음 단계

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

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