허브 및 스포크 네트워크 아키텍처

이 문서에서는 Google Cloud에서 허브 및 스포크 네트워크 토폴로지를 설정하기 위한 두 가지 아키텍처 옵션을 보여줍니다. 한 가지 옵션은 Virtual Private Cloud(VPC)의 네트워크 피어링 기능을 사용하고, 다른 옵션은 Cloud VPN을 사용합니다.

개요

허브 및 스포크 네트워크는 무엇이고, 언제 유용한가요? 엔터프라이즈 설계자 또는 네트워크 관리자가 대기업을 위한 Google Cloud 토폴로지를 설계할 때는 여러 부서 단위, 워크로드, 환경에서 사용되는 리소스에 대한 네트워크 수준의 격리를 계획해야 할 수 있습니다. 이러한 격리는 각 리소스 그룹의 네트워크 트래픽을 세밀하게 제어할 수 있게 해줍니다. 또한 법률 및 규제에 의한 데이터 분리 요구사항을 충족시키는 데에도 도움을 줄 수 있습니다.

개별 VPC 네트워크에 리소스를 배포함으로써 Google Cloud에서 네트워크 수준의 리소스 격리를 달성할 수 있습니다. 이러한 VPC 네트워크에서 공유 서비스(예: 방화벽 또는 구성 메타데이터)를 사용하도록 리소스를 사용 설정하고, 온프레미스 네트워크에서 클라우드를 중앙에서 액세스하기 위해서는 각 VPC 네트워크를 중앙 허브 VPC 네트워크에 연결할 수 있습니다. 다음 다이어그램은 스타 토폴로지라고도 부르는 결과 허브 및 스포크 네트워크의 예시를 보여줍니다.

허브 및 스포크 네트워크 스키마.

이 예시에서는 한 대기업 내에서 개별 부서 단위의 워크로드를 위해 개별 스포크 VPC 네트워크가 사용됩니다. 각 스포크 VPC 네트워크는 공유 서비스를 포함하는 중앙 허브 VPC 네트워크에 연결되어 있고 이 기업의 온프레미스 네트워크에서 클라우드로의 단일 진입점으로 사용될 수 있습니다.

VPC 네트워크 피어링을 사용하는 아키텍처

다음 다이어그램은 공개 인터넷을 통과하는 VPC간 네트워크 트래픽 없이 비공개 IP 주소를 사용하여 Google 내부 네트워크를 통해 개별 VPC 네트워크에 있는 리소스 간의 보안 통신을 지원하는 VPC 네트워크 피어링을 사용한 허브 및 스포크 네트워크를 보여줍니다.

VPC 네트워크 피어링을 사용하는 허브 및 스포크 아키텍처
  • 이 아키텍처에서는 네트워크 수준 격리가 필요한 리소스에 개별 스포크 VPC 네트워크가 사용됩니다. 예를 들어 이 아키텍처는 스포크 1 VPC 네트워크에 있는 Compute Engine VM을 보여줍니다. 스포크 2 VPC 네트워크에는 Compute Engine VM 및 Google Kubernetes Engine(GKE) 클러스터가 있습니다.

  • 이 아키텍처에서 각 스포크 VPC 네트워크는 중앙 허브 VPC 네트워크와의 피어링 관계를 갖습니다.

  • 각 스포크 VPC 네트워크에는 인터넷과의 아웃바운드 통신을 위한 Cloud NAT 게이트웨이가 있습니다.

  • 스포크 VPC 네트워크 및 허브 VPC 네트워크 사이의 피어링 연결은 전환 트래픽을 허용하지 않습니다. 즉, 허브를 통한 스포크 간 통신이 가능하지 않습니다. 비공개 IP 주소를 갖는 GKE 비공개 노드 및 Cloud SQL 인스턴스와 같은 리소스에는 VPC 네트워크 외부의 액세스를 위해 프록시가 필요합니다.

    VPC 네트워크 피어링의 비전환 제약조건을 해결하기 위해 이 아키텍처는 Cloud VPN 사용 옵션을 보여줍니다. 이 예시에서 스포크 2 VPC 네트워크와 허브 VPC 네트워크 사이의 VPN 터널은 스포크 2 VPC 네트워크에서 다른 스포크로의 연결을 가능하게 해줍니다. 몇 가지 특정 스포크 간의 연결만 필요하면 이러한 VPC 네트워크 쌍을 직접 피어링할 수 있습니다.

Cloud VPN을 사용하는 아키텍처

VPC 네트워크 피어링을 사용하는 허브 및 스포크 기술의 확장성은 VPC 네트워크 피어링 한계에 따라 달라집니다. 또한 앞에서 설명한 것처럼 VPC 네트워크 피어링 연결은 피어링 관계에 있는 두 VPC 네트워크를 벗어나서 전환 트래픽을 허용하지 않습니다. 다음 다이어그램은 VPC 네트워크 피어링의 한계를 극복하기 위해 Cloud VPN을 사용하는 대체 허브 및 스포크 네트워크 아키텍처를 보여줍니다.

Cloud VPN을 사용하는 허브 및 스포크 아키텍처
  • 이 아키텍처에서도 네트워크 수준 격리가 필요한 리소스에 개별 스포크 VPC 네트워크가 사용됩니다.
  • IPSec VPN 터널은 각 스포크 VPC 네트워크를 허브 VPC 네트워크에 연결합니다.
  • 각 스포크 VPC 네트워크에는 공개 인터넷과의 아웃바운드 통신을 위한 Cloud NAT 게이트웨이가 있습니다.

지금까지 설명한 두 아키텍처 중에서 선택할 때는 VPC 네트워크 피어링 및 Cloud VPN의 상대적 이점을 고려해야 합니다.

  • VPC 네트워크 피어링은 비전환 제약조건을 갖고 있지만, 네트워크 대역폭을 결정하는 VM의 머신 유형 및 기타 요소에 따라 정의된 전체 대역폭을 지원합니다.
  • Cloud VPN은 전환 라우팅을 허용하지만 각 VPN 터널의 총 대역폭(인그레스 및 이그레스)이 3Gbps로 제한됩니다.

설계 대안

Google Cloud에서 개별 VPC 네트워크에 배포되는 리소스를 상호 연결하기 위해서는 다음과 같은 아키텍처 대안을 고려하세요.

허브 VPC 네트워크에서 게이트웨이를 사용하는 스포크 간 연결
스포크 간 통신을 사용 설정하려면 스포크-스포크 트래픽의 게이트웨이로 사용하기 위해 허브 VPC 네트워크에 네트워크 가상 어플라이언스(NVA) 또는 차세대 방화벽(NGFW)을 배포할 수 있습니다. Google Cloud의 중앙 집중식 어플라이언스를 참조하세요.
허브가 없는 VPC 네트워크 피어링
온프레미스 연결 또는 VPC 네트워크 간 서비스 공유에 중앙 집중식 제어가 필요하지 않으면 허브 VPC 네트워크가 필요하지 않습니다. 연결이 필요한 VPC 네트워크 쌍에 대해 피어링을 설정하고 상호 연결을 개별적으로 관리할 수 있습니다. VPC 네트워크당 피어링 연결 수에는 제한을 두지 마세요.
여러 공유 VPC 네트워크

네트워크 수준에서 격리하려는 각 리소스 그룹에 대해 공유 VPC 네트워크를 만듭니다. 예를 들어 프로덕션 및 개발 환경에 사용되는 리소스를 구분하려면 프로덕션용으로 공유 VPC 네트워크를 만들고 개발용으로 또 다른 공유 VPC 네트워크를 만듭니다. 그런 후 VPC 네트워크 간 통신을 사용 설정하도록 두 VPC 네트워크를 피어링합니다. 각 애플리케이션 또는 부서에 대해 개별 프로젝트에 있는 리소스는 적합한 공유 VPC 네트워크의 서비스를 사용할 수 있습니다.

VPC 네트워크와 온프레미스 네트워크 사이의 연결을 위해서는 각 VPC 네트워크를 위한 개별 VPN 터널을 사용하거나 동일한 Dedicated Interconnect 연결에서 개별 VLAN 연결을 사용할 수 있습니다.

다음 단계