VPC 네트워크 피어링

Google Cloud Platform(GCP) 가상 사설 클라우드(VPC) 네트워크 피어링은 두 개의 VPC 네트워크가 동일한 프로젝트 또는 동일한 조직에 속하는지 여부에 관계없이 이 두 네트워크 간에 비공개 RFC 1918 연결을 허용합니다.

개요

VPC 네트워크 피어링은 GCP에 SaaS(서비스로서의 소프트웨어) 생태계를 구축하여 조직 내부 및 전역의 다양한 VPC 네트워크에서 비공개로 서비스를 제공할 수 있도록 하고 작업 부하가 비공개 RFC 1918 공간에서 통신하도록 허용합니다.

VPC 네트워크 피어링은 다음과 같은 경우에 유용합니다.

  • 네트워크 관리 도메인이 여러 개인 조직.
  • 다른 조직과 피어링하고자 하는 조직.

조직 내에 여러 개의 네트워크 관리 도메인이 있는 경우 VPC 네트워크 피어링을 사용하면 VPC 네트워크 전역에 걸쳐 비공개 RFC 1918 공간에서 서비스를 사용할 수 있습니다. 다른 조직에 서비스를 제공하는 경우 VPC 네트워크 피어링을 사용하면 이러한 서비스를 비공개 RFC 1918 공간에서 해당 조직에 제공할 수 있습니다. 여러 조직에 걸쳐 서비스를 제공하는 기능은 다른 기업에 서비스를 제공하려는 경우 유용하며, 원래 구조적으로 또는 인수합병의 결과 여러 개의 상이한 조직 노드가 있는 경우 기업 내부에서도 유용합니다.

VPC 네트워크 피어링은 외부 IP 주소 또는 VPN을 사용하여 네트워크에 연결하는 방법에 비해 다음을 포함한 여러 가지 이점을 제공합니다.

  • 네트워크 지연: 공개 IP 네트워킹은 비공개 네트워킹에 비해 지연이 큽니다.
  • 네트워크 보안: 서비스 소유자는 공개 인터넷에 서비스를 노출하여 그와 관련된 위험을 감수할 필요가 없습니다.
  • 네트워크 비용: GCP는 트래픽이 같은 영역 내에 있더라도 외부 IP를 사용하여 통신하는 네트워크에 발신 대역폭 가격을 청구합니다. 그러나 네트워크가 피어링된 경우 내부 IP를 사용하여 통신하면 이러한 발신 비용을 절약할 수 있습니다. 일반 네트워크 가격은 여전히 모든 트래픽에 적용됩니다.

주요 속성

피어링된 VPC 네트워크의 주요 속성은 다음과 같습니다.

  • VPC 네트워크 피어링은 Compute Engine, GKE, App Engine 가변형 환경에서 작동합니다.
  • 피어링된 VPC 네트워크는 관리 측면에서 분리된 상태로 유지됩니다. 경로, 방화벽, VPN, 기타 트래픽 관리 도구는 각 VPC 네트워크에서 개별적으로 관리되고 적용됩니다.
  • 피어링 연결의 각 측은 독립적으로 설정됩니다. 피어링은 양측의 구성이 일치하는 경우에만 활성화됩니다. 어느 한쪽에서 언제든 피어링 연결을 삭제할 수 있습니다.
  • 연결할 VPC 네트워크가 만들어지기 전에 다른 VPC 네트워크에서 피어링을 구성할 수 있습니다.
  • 하나의 VPC 네트워크에 여러 개의 VPC 네트워크를 피어링할 수 있지만 제한이 있습니다.
  • 피어링된 한 VPC 네트워크의 서브넷 CIDR 프리픽스는 다른 피어링된 네트워크의 서브넷 CIDR 프리픽스와 겹칠 수 없습니다. 즉, 기본 서브넷만 있는 두 개의 자동 모드 VPC 네트워크는 피어링할 수 없습니다. GCP는 다음과 같은 경우 중복을 확인합니다.
    • VPC 네트워크를 처음 피어링할 때
    • 피어링된 VPC 네트워크에서 새 서브넷을 만들 때
  • 피어링된 VPC 네트워크 중 하나의 서브넷 CIDR 범위는 다른 피어링된 네트워크의 경로와 겹칠 수 없습니다. 이 규칙은 서브넷 경로와 커스텀 경로 모두에 적용됩니다. GCP는 다음과 같은 경우 중복을 확인하고 중복이 발생하는 경우 오류를 생성합니다.
    • VPC 네트워크를 처음 피어링할 때
    • 피어링된 VPC 네트워크에서 정적 경로를 만들 때
    • 피어링된 VPC 네트워크에서 새 서브넷을 만들 때
  • VPC 네트워크 피어링에서는 VPC 네트워크만 지원됩니다. 이전 네트워크에서는 피어링이 지원되지 않습니다.
  • IAM 권한: VPC 네트워크 피어링 만들기와 삭제를 위한 새 IAM 권한이 있습니다. 이러한 권한은 프로젝트 소유자/편집자와 네트워크 관리 역할에 포함됩니다.
  • 네트워크가 피어링되면 피어링된 네트워크에서 모든 내부, 비공개 IP에 액세스할 수 있습니다. VPC 네트워크 피어링은 피어링된 네트워크에서 도달 가능한 서브넷 CIDR을 필터링하기 위한 세분화된 경로 제어를 제공하지 않습니다. 필터링이 필요한 경우 방화벽 규칙을 사용하여 트래픽을 필터링해야 합니다. 다음 엔드포인트/리소스 유형은 직접 피어링된 네트워크를 통해 도달 가능합니다.
    • 모든 서브넷의 가상 머신(VM) 내부 IP
    • 모든 서브넷의 내부 부하 분산된 IP
  • 다음 엔드포인트/리소스 유형은 직접 피어링된 네트워크로 전파되지 않습니다.
    • 정적 경로
    • VPN
  • 직접 피어링된 네트워크만 통신할 수 있습니다. 전환 피어링은 지원되지 않습니다. 즉, VPC 네트워크 N1이 N2 및 N3과 피어링되었지만 N2와 N3이 직접 연결되지 않은 경우 VPC 네트워크 N2는 피어링을 통해 VPC 네트워크 N3과 통신할 수 없습니다.
  • 피어링 트래픽(피어링된 네트워크 사이에 흐르는 트래픽)의 지연, 처리량, 가용성은 동일한 네트워크의 비공개 트래픽과 같습니다.
  • 피어링 트래픽의 청구 정책은 같은 네트워크의 비공개 트래픽에 적용되는 청구 정책으로 유지됩니다.

VPC 네트워크 피어링 시나리오의 네트워킹 특징

내부 부하 분산

피어링된 네트워크에 걸친 내부 부하 분산의 경우 한 네트워크의 내부 부하 분산을 기반으로 한 전달 규칙이 피어링된 네트워크의 VM 인스턴스에도 자동으로 설치됩니다. 이를 위해 부가적인 구성을 할 필요는 없습니다. 아래 그림에서 네트워크 B의 VM 인스턴스가 네트워크 A의 부하 분산된 백엔드에 액세스하는 방법을 볼 수 있습니다. 이 경우 네트워크 A의 내부 부하 분산 구성이 네트워크 B에도 자동으로 적용됩니다. 내부 부하 분산 서비스는 직접 피어링된 네트워크의 클라이언트에서만 사용할 수 있습니다. 즉, 네트워크 B가 네트워크 C와 피어링되는 경우 네트워크 C의 클라이언트에서는 네트워크 A의 내부 부하 분산된 백엔드에 도달할 수 없습니다.

VPC 네트워크 피어링을 사용한 내부 부하 분산(확대하려면 클릭)
VPC 네트워크 피어링을 사용한 내부 부하 분산(확대하려면 클릭)

내부 부하 분산은 지역 서비스이며 내부 부하 분산기와 동일한 지역의 VM에서만 도달할 수 있습니다. 이는 피어링된 네트워크의 VM에도 적용됩니다. 내부 부하 분산기와 동일한 지역에 있지 않은 피어링된 네트워크의 VM은 내부 부하 분산기를 사용할 수 없습니다.

방화벽

방화벽 규칙은 피어링된 네트워크로 가져올 수 없습니다. 각 네트워크에서 개별적으로 방화벽 규칙을 구성하여 허용하거나 차단할 피어링된 네트워크의 트래픽을 제어할 수 있습니다.

내 VPC 네트워크와 다른 VPC 네트워크 사이에서 피어링하는 경우 특정 VM 인스턴스 또는 내부 부하 분산 엔드포인트로 가는 트래픽을 차단해야 할 수 있습니다. 피어링에서 특정 VM 인스턴스 또는 내부 부하 분산기를 제외하는 방법은 없으므로 방화벽 규칙을 사용해야 합니다. 특정 VM 인스턴스 또는 내부 부하 분산기와의 통신을 허용하지 않으려면 통신을 차단하려는 네트워크에 수신 방화벽 규칙을 설치할 수 있습니다.

  • VM 인스턴스: 이 경우 특정 소스 IP의 트래픽만 허용하는 수신 방화벽을 설치할 수 있습니다. 이러한 소스 IP는 VPC 네트워크의 서브넷 CIDR에 매핑이 가능합니다. 이는 피어링된 VPC 네트워크에서 오는 모든 트래픽을 차단합니다.
VPC 네트워크 피어링과 방화벽(확대하려면 클릭)
VPC 네트워크 피어링과 방화벽(확대하려면 클릭)
  • 내부 부하 분산기: 이 경우 내부 부하 분산기가 있는 VPC 네트워크에 수신 방화벽 규칙을 설치할 수 있습니다. 이러한 소스 IP는 네트워크의 서브넷 CIDR 전체 또는 일부에 매핑이 가능합니다. 수신 방화벽 규칙이 피어링된 네트워크의 모든 서브넷 CIDR 범위에 적용되는 경우 그 네트워크의 인스턴스는 내부 부하 분산기 백엔드 VM에 도달할 수 없습니다.

공유 VPC

VPC 네트워크 피어링에서는 공유 VPC와의 피어링이 허용됩니다. 공유 VPC 호스트 프로젝트는 다른 프로젝트에서 네트워크 중 하나를 사용하도록 허용하는 프로젝트입니다. 다음 다이어그램에서 이 설정을 볼 수 있습니다.

네트워크 피어링을 사용한 공유 VPC(확대하려면 클릭)
네트워크 피어링을 사용한 공유 VPC(확대하려면 클릭)

네트워크 SVPC는 호스트 프로젝트 P1의 공유 VPC 네트워크에 있습니다. 서비스 프로젝트 P3 및 P4는 네트워크 SVPC에 VM 인스턴스를 연결할 수 있습니다. 네트워크 SVPC는 네트워크 A와 피어링됩니다. 결과는 다음과 같습니다.

  • 네트워크 SVPC를 사용하는 공유 VPC 서비스 프로젝트의 VM 인스턴스(VM3과 VM4)는 네트워크 A에 연결된 모든 엔드포인트에 비공개 내부 IP로 연결됩니다.
  • 네트워크 A에 연결된 VM 인스턴스는 해당 엔드포인트가 호스트 프로젝트에 있든 서비스 프로젝트에 있든 관계없이 네트워크 SVPC에 연결된 모든 엔드포인트에 비공개 내부 IP로 연결됩니다.

두 개의 공유 VPC 네트워크 간에 VPC 네트워크 피어링을 설정할 수 있습니다.

인스턴스당 여러 개의 네트워크 인터페이스

인스턴스는 다양한 VPC 네트워크에 각 하나씩 여러 개의 네트워크 인터페이스를 가질 수 있습니다.

다음 다이어그램에는 두 기능 간의 상호 작용을 볼 수 있는 상황이 나와 있습니다. 이 경우 VM1에는 네트워크 A와 네트워크 B 모두에 네트워크 인터페이스가 있습니다. 네트워크 B는 다른 네트워크 C와 피어링됩니다.

네트워크 피어링을 사용한 다중 네트워크 인터페이스(확대하려면 클릭)
네트워크 피어링을 사용한 다중 네트워크 인터페이스(확대하려면 클릭)

IP2는 네트워크 B에 있고 네트워크 B 경로는 두 네트워크가 피어링될 때 네트워크 C로 자동으로 전파되므로 IP3은 IP2에 트래픽을 보낼 수 있습니다. 그러나 IP2에서 IP3으로 트래픽을 보내려면 IP2 인터페이스의 정책 라우팅을 구성해야 합니다.

IP1의 흐름은 네트워크 C에 설치되지 않습니다. 따라서 네트워크 C는 IP1에 액세스할 수 없습니다.

IP 별칭

IP 별칭을 사용하면 서브넷에 기본 및 보조 IP 범위를 둘 수 있습니다. 이러한 서브넷의 VM 인스턴스는 기본 범위에서 하나의 IP를 받고 보조 범위에서 하나 이상의 IP를 받을 수 있습니다.

클라우드 VPC 피어링을 사용하면 피어링된 네트워크의 VM 인스턴스에서 서브넷의 기본 IP 범위와 보조 IP 범위에 모두 도달할 수 있습니다.

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

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

다음 단계

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

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