게이트 인그레스

Last reviewed 2023-12-14 UTC

게이트 인그레스 패턴의 아키텍처는 Google Cloud에서 실행되는 워크로드의 선별된 API를 공개 인터넷에 노출하지 않고 비공개 컴퓨팅 환경에 노출하는 것을 기반으로 합니다. 이 패턴은 게이트 이그레스 패턴에 대응되며 에지 하이브리드, 단계식 하이브리드분할 멀티 클라우드 시나리오에 매우 적합합니다.

게이트 이그레스 패턴과 마찬가지로 기존 워크로드 또는 서비스의 퍼사드 역할을 하는 API 게이트웨이 또는 부하 분산기를 통해 이러한 제한된 노출을 촉진할 수 있습니다. 이렇게 하면 다음과 같이 비공개 컴퓨팅 환경, 온프레미스 환경 또는 기타 클라우드 환경에서 액세스할 수 있습니다.

  • 비공개 컴퓨팅 환경 또는 기타 서비스 환경에 배포하는 워크로드는 내부 IP 주소를 사용하여 API 게이트웨이 또는 부하 분산기와 통신할 수 있습니다. Google Cloud에 배포된 다른 시스템에는 연결할 수 없습니다.
  • Google Cloud에서 비공개 컴퓨팅 환경 또는 다른 클라우드 환경으로의 통신은 허용되지 않습니다. 트래픽은 비공개 환경 또는 기타 클라우드 환경에서 Google Cloud의 API로만 시작됩니다.

아키텍처

다음 다이어그램은 게이트 인그레스 패턴의 요구사항을 충족하는 참조 아키텍처를 보여줍니다.

Cloud VPN 또는 Cloud Interconnect를 통해 온프레미스 환경이나 클라우드에서 Google Cloud 환경으로 한 방향으로 흐르며 워크로드까지 이동하는 데이터

앞의 다이어그램에서 아키텍처에 대한 설명은 다음과 같습니다.

  • Google Cloud 측면에서 워크로드를 애플리케이션 VPC(또는 여러 VPC)에 배포합니다.
  • Google Cloud 환경 네트워크는 하이브리드 또는 멀티 클라우드 네트워크 연결을 사용하여 환경 간 통신을 용이하게 하여 다른 컴퓨팅 환경(온프레미스 또는 다른 클라우드)으로 확장됩니다.
  • 원하는 경우 전송 VPC를 사용하여 다음을 수행할 수 있습니다.
    • 애플리케이션 VPC 외부의 특정 API에 액세스할 수 있도록 추가적인 경계 보안 레이어를 제공합니다.
    • 트래픽을 API의 IP 주소로 라우팅합니다. 일부 소스가 엔드포인트를 통해 특정 API에 액세스하지 못하도록 VPC 방화벽 규칙을 만들 수 있습니다.
    • 네트워크 가상 어플라이언스(NVA)를 통합하여 전송 VPC에서 레이어 7 트래픽을 검사합니다.
  • API 게이트웨이 또는 부하 분산기(프록시 또는 애플리케이션 부하 분산기)를 통해 API에 액세스하여 서비스 API에 대한 프록시 레이어와 추상화 레이어 또는 퍼사드를 제공합니다. 여러 API 게이트웨이 인스턴스에 트래픽을 분산해야 하는 경우 내부 패스 스루 네트워크 부하 분산기를 사용할 수 있습니다.
  • Private Service Connect를 통해 부하 분산기를 사용하여 애플리케이션 또는 서비스를 노출함으로써 Private Service Connect 엔드포인트를 통해 게시된 서비스에 대한 제한적이고 세분화된 액세스를 제공합니다.
  • 모든 환경은 겹치지 않는 RFC 1918 IP 주소 공간을 사용해야 합니다.

다음 다이어그램은 Apigee를 API 플랫폼으로 사용하는 이 패턴의 설계를 보여줍니다.

데이터가 Google Cloud 환경으로 유입되고 Cloud VPN 또는 Cloud Interconnect를 통해 온프레미스 또는 클라우드 환경에서 Apigee 인스턴스의 프로젝트로 전달됩니다.

앞의 다이어그램에서 Apigee를 API 플랫폼으로 사용하면 게이트 인그레스 패턴을 사용 설정하기 위한 다음과 같은 특성 및 기능이 제공됩니다.

  • 게이트웨이 또는 프록시 기능
  • 보안 기능
  • 비율 제한
  • 애널리틱스

설계 시:

  • Northbound 네트워킹 연결(다른 환경에서 들어오는 트래픽용)은 Apigee VPC와 연결된 애플리케이션 VPC의 Private Service Connect 엔드포인트를 통과합니다.
  • 애플리케이션 VPC에서 내부 부하 분산기는 Apigee VPC에 제공되는 Private Service Connect 엔드포인트를 통해 애플리케이션 API를 노출하는 데 사용됩니다. 자세한 내용은 VPC 피어링이 사용 중지된 아키텍처를 참조하세요.
  • 애플리케이션 VPC에서 방화벽 규칙과 트래픽 필터링을 구성합니다. 이렇게 하면 세밀하고 제어된 액세스가 제공됩니다. 또한 Private Service Connect 엔드포인트 및 API 게이트웨이를 통과하지 않고 시스템이 애플리케이션에 직접 도달하는 것을 방지하는 데 도움이 됩니다.

    애플리케이션 VPC에 있는 백엔드 워크로드의 내부 IP 주소 서브넷 공지를 온프레미스 네트워크로 제한하여 Private Service Connect 엔드포인트 및 API 게이트웨이를 통과하지 않고 직접 연결할 수 없도록 할 수도 있습니다.

특정 보안 요구사항에는 하이브리드 연결 트래픽을 포함하여 애플리케이션 VPC 외부의 경계 보안 검사가 필요할 수 있습니다. 이러한 경우 전송 VPC를 통합하여 추가 보안 레이어를 구현할 수 있습니다. 여러 네트워크 인터페이스가 있는 차세대 방화벽(NGFW) NVA 또는 침입 방지 서비스(IPS)가 있는 Cloud Next Generation Firewall Enterprise와 같은 이러한 레이어는 다음 다이어그램에 설명된 것처럼 애플리케이션 VPC 외부에서 심층 패킷 검사를 수행합니다.

데이터가 Google Cloud 환경으로 유입되고 Cloud VPN 또는 Cloud Interconnect를 통해 온프레미스 또는 클라우드 환경에서 애플리케이션으로 전달됩니다.

앞의 다이어그램에서 표시된 것처럼 다음과 같습니다.

  • Northbound 네트워킹 연결(다른 환경에서 들어오는 트래픽)은 별도의 전송 VPC를 통해 Apigee VPC와 연결된 전송 VPC의 Private Service Connect 엔드포인트로 전달됩니다.
  • 애플리케이션 VPC에서 내부 부하 분산기(다이어그램의 ILB)는 Apigee VPC의 Private Service Connect 엔드포인트를 통해 애플리케이션을 노출하는 데 사용됩니다.

다음 다이어그램과 같이 동일한 VPC 네트워크에서 여러 엔드포인트를 프로비저닝할 수 있습니다. 다양한 사용 사례를 다루기 위해 Cloud Router 및 VPC 방화벽 규칙을 사용하여 가능한 다양한 네트워크 경로를 제어할 수 있습니다. 예를 들어 여러 하이브리드 네트워킹 연결을 사용하여 온프레미스 네트워크를 GCP에 연결하는 경우 하나의 연결을 통해 온프레미스에서 특정 Google API 또는 게시된 서비스로 일부 트래픽을 보내고 다른 연결을 통해 나머지 트래픽을 보낼 수 있습니다. 또한 Private Service Connect 전역 액세스를 통해 장애 조치 옵션을 제공할 수 있습니다.

데이터가 Google Cloud 환경으로 유입되고 여러 Private Service Connect 엔드포인트에서 Cloud VPN 또는 Cloud Interconnect를 통해 온프레미스 또는 클라우드 환경에서 여러 프로듀서 VPC로 전달됩니다.

변형

게이트 인그레스 아키텍처 패턴을 다른 접근 방식과 결합하여 다양한 설계 요구사항을 충족하면서도 패턴의 통신 요구사항을 고려할 수 있습니다. 패턴은 다음 옵션을 제공합니다.

다른 환경에서 Google API에 액세스

공개 인터넷을 통해 트래픽을 전송하지 않고 Cloud Storage 또는 BigQuery와 같은 Google 서비스에 액세스해야 하는 시나리오를 위해 Private Service Connect가 솔루션을 제공합니다. 다음 다이어그램에 표시된 것처럼 Private Service Connect의 IP 주소를 사용하는 하이브리드 네트워크 연결을 통해 온프레미스 또는 기타 클라우드 환경에서 지원되는 Google API 및 서비스(Google 지도, Google Ads, Google Cloud 포함)에 연결할 수 있습니다. Private Service Connect 엔드포인트를 통해 Google API에 액세스하는 방법에 대한 자세한 내용은 엔드포인트를 통한 Google API 액세스를 참조하세요.

데이터가 온프레미스 환경에서 Google 서비스, Google Cloud 환경으로 이동합니다.

앞의 다이어그램에서 온프레미스 네트워크는 Cloud VPN 터널 또는 Cloud Interconnect VLAN 연결을 사용하여 전송(소비자) VPC 네트워크에 연결되어야 합니다.

Google API엔드포인트 또는 백엔드를 사용하여 액세스할 수 있습니다. 엔드포인트를 사용하면 Google API 번들을 타겟팅할 수 있습니다. 백엔드를 사용하면 특정 리전별 Google API를 타겟팅할 수 있습니다.

Private Service Connect를 사용하여 애플리케이션 백엔드를 다른 환경에 노출

단계식 하이브리드 패턴에서 강조한 특정 시나리오에서는 비공개 컴퓨팅 환경에서 프런트엔드를 유지하면서 Google Cloud에 백엔드를 배포해야 할 수도 있습니다. 이 방식은 일반적이지 않지만 기존 구성요소에 의존할 수 있는 중량형 모놀리식 프런트엔드를 다룰 때 적용할 수 있습니다. 또는 하이브리드 네트워크를 통해 Google Cloud에 호스팅된 백엔드에 연결해야 하는 온프레미스 및 기타 클라우드를 비롯한 여러 환경에서 분산 애플리케이션을 관리하는 경우가 더 일반적입니다.

이러한 아키텍처에서는 비공개 온프레미스 환경이나 기타 클라우드 환경의 로컬 API 게이트웨이나 부하 분산기를 사용하여 애플리케이션 프런트엔드를 공개 인터넷에 직접 노출할 수 있습니다. Google Cloud에서 Private Service Connect를 사용하면 다음 다이어그램과 같이 이상적으로는 사전 정의된 API를 사용하여 Private Service Connect 엔드포인트를 통해 노출되는 백엔드에 대한 비공개 연결이 용이해집니다.

데이터가 온프레미스 환경 또는 다른 클라우드 환경에서 Google Cloud 환경으로 흐릅니다. 데이터가 Google Cloud 이외의 환경의 Apigee 인스턴스 및 프런트엔드 서비스를 통해 이동하며 고객 프로젝트 애플리케이션 VPC에 도달합니다.

이전 다이어그램의 설계에서는 Google Cloud의 관리 영역과 다른 환경에서 호스팅되는 런타임 영역으로 구성된 Apigee Hybrid 배포를 사용합니다. 온프레미스 환경이나 다른 클라우드 환경에서 지원되는 Kubernetes 플랫폼 중 하나의 분산 API 게이트웨이에 런타임 영역을 설치하고 관리할 수 있습니다. Google Cloud 및 기타 환경의 분산 워크로드에 대한 요구사항에 따라 Google Cloud 기반 Apigee를 Apigee Hybrid와 함께 사용할 수 있습니다. 자세한 내용은 분산 API 게이트웨이를 참조하세요.

허브 및 스포크 아키텍처를 사용하여 애플리케이션 백엔드를 다른 환경에 노출

일부 시나리오에서는 여러 VPC 네트워크에 걸쳐 Google Cloud에서 호스팅되는 애플리케이션 백엔드에서 API를 노출해야 할 수 있습니다. 다음 다이어그램과 같이 허브 VPC는 다양한 VPC(스포크)의 상호 연결 중심 역할을 하므로 비공개 하이브리드 연결을 통한 보안 통신이 가능합니다. 필요에 따라 Apigee Hybrid와 같은 다른 환경의 로컬 API 게이트웨이 기능을 사용하여 애플리케이션 프런트엔드가 호스팅되는 곳에서 클라이언트 요청을 로컬로 종료할 수 있습니다.

Google Cloud 환경과 온프레미스 또는 기타 클라우드 환경 간 데이터가 이동하며 여러 VPC 네트워크에 걸쳐 Google Cloud에서 호스팅되는 애플리케이션 백엔드의 API를 노출합니다.

앞의 다이어그램에서 표시된 것처럼 다음과 같습니다.

  • 추가적인 NGFW 레이어 7 검사 기능을 제공하기 위해 NGFW 기능을 갖춘 NVA는 선택적으로 설계에 통합됩니다. 특정 보안 요구사항 및 조직의 보안 정책 표준을 준수하기 위해 이러한 기능이 필요할 수 있습니다.
  • 이 설계에서는 스포크 VPC에 VPC 간 직접 통신이 필요하지 않다고 가정합니다.

    • 스포크 대 스포크 통신이 필요한 경우 NVA를 사용하여 이러한 커뮤니케이션을 용이하게 할 수 있습니다.
    • 다양한 VPC에 서로 다른 백엔드가 있는 경우 Private Service Connect를 사용하여 이러한 백엔드를 Apigee VPC에 노출할 수 있습니다.
    • 스포크 VPC와 허브 VPC 간의 Northbound 및 Southbound 연결에 VPC 피어링이 사용되는 경우 VPC 피어링을 통한 VPC 네트워킹의 전환 제한사항을 고려해야 합니다. 이러한 제한사항을 극복하기 위해 다음 옵션 중 하나를 사용할 수 있습니다.
      • VPC를 상호 연결하려면 NVA를 사용합니다.
      • 해당하는 경우 Private Service Connect 모델을 고려하세요.
      • 추가 네트워킹 구성요소 없이 Apigee VPC와 동일한 조직의 다른 Google Cloud 프로젝트에 있는 백엔드 간의 연결을 설정하려면 공유 VPC를 사용합니다.
  • 다른 환경의 트래픽을 포함하여 트래픽 검사에 NVA가 필요한 경우 온프레미스 또는 다른 클라우드 환경에 대한 하이브리드 연결은 하이브리드 전송 VPC에서 종료되어야 합니다.

  • 설계에 NVA가 포함되지 않은 경우 허브 VPC에서 하이브리드 연결을 종료할 수 있습니다.

  • Google Cloud Armor DDoS 보호 또는 WAF 추가와 같은 특정 부하 분산 기능 또는 보안 기능이 필요한 경우 외부 클라이언트 요청을 백엔드로 라우팅하기 전에 선택적으로 외부 VPC를 통해 경계에 외부 애플리케이션 부하 분산기를 배포할 수 있습니다.

권장사항

  • 인터넷의 클라이언트 요청을 비공개 온프레미스 또는 기타 클라우드 환경에서 호스팅되는 프런트엔드에서 로컬로 수신해야 하는 경우 Apigee Hybrid를 API 게이트웨이 솔루션으로 사용하는 것이 좋습니다. 또한 이 접근 방식을 사용하면 API 플랫폼(Apigee)의 일관성을 유지하면서 솔루션을 완전히 Google Cloud 호스팅 환경으로 원활하게 마이그레이션할 수 있습니다.
  • 요구사항 및 아키텍처에 적용 가능한 경우 Kubernetes 아키텍처가 포함된 Apigee Hybrid 배포와 함께 Envoy용 Apigee 어댑터를 사용하세요.
  • Google Cloud의 VPC 및 프로젝트 설계는 이 가이드에 설명된 대로 리소스 계층 구조 및 보안 통신 모델 요구사항을 따라야 합니다.
  • 전송 VPC를 이 설계에 통합하면 워크로드 VPC 외부의 추가적인 경계 보안 조치와 하이브리드 연결을 프로비저닝할 수 있는 유연성이 제공됩니다.
  • Private Service Connect를 사용하여 하이브리드 연결 네트워크를 통해 엔드포인트의 내부 IP 주소로 온프레미스 환경 또는 기타 클라우드 환경에서 Google API 및 서비스에 액세스합니다. 자세한 내용은 온프레미스 호스트에서 엔드포인트 액세스를 참조하세요.
  • 프로젝트에서 Google Cloud 서비스를 보호하고 데이터 무단 반출 위험을 줄이기 위해서는 VPC 서비스 제어를 사용하여 프로젝트 또는 VPC 네트워크 수준에서 서비스 경계를 지정합니다.
  • VPC 방화벽 규칙 또는 방화벽 정책을 사용하여 Private Service Connect 엔드포인트를 통해 Private Service Connect 리소스에 대한 네트워크 수준의 액세스를 제어합니다. 예를 들어 애플리케이션(소비자) VPC의 아웃바운드 방화벽 규칙은 VM 인스턴스에서 엔드포인트의 IP 주소 또는 서브넷에 대한 액세스를 제한할 수 있습니다. 일반적인 VPC 방화벽 규칙에 대한 자세한 내용은 VPC 방화벽 규칙을 참조하세요.
  • NVA가 포함된 솔루션을 설계할 때는 모든 통신을 차단할 수 있는 단일 장애 지점을 방지하기 위해 NVA의 고가용성(HA)을 고려해야 합니다. NVA 공급업체에서 제공하는 HA 및 중복 설계와 구현 안내를 따르세요. 가상 어플라이언스 간의 고가용성 달성에 대한 자세한 내용은 Google Cloud의 중앙 집중식 네트워크 어플라이언스의 아키텍처 옵션 섹션을 참조하세요.
  • 경계 보안을 강화하고 해당 환경에 배포된 API 게이트웨이를 보호하기 위해 선택적으로 다른 컴퓨팅 환경(하이브리드 또는 기타 클라우드)에서 부하 분산 및 웹 애플리케이션 방화벽 메커니즘을 구현할 수 있습니다. 인터넷에 직접 연결된 경계 네트워크에서 이러한 옵션을 구현합니다.
  • 인스턴스에 인터넷 액세스가 필요한 경우 애플리케이션 VPC에서 Cloud NAT를 사용하여 워크로드가 인터넷에 액세스할 수 있도록 허용합니다. 이렇게 하면 API 게이트웨이 또는 부하 분산기 뒤에 배포된 시스템에서 외부 공용 IP 주소로 VM 인스턴스를 할당하지 않아도 됩니다.
  • 아웃바운드 웹 트래픽의 경우 보안 웹 프록시를 사용합니다. 프록시는 몇 가지 이점이 있습니다.

  • 하이브리드 및 멀티 클라우드 네트워킹 패턴에 대한 일반적인 권장사항을 참조하세요.