데이터 센터 전문가를 위한 Google Cloud Platform: 네트워킹

이 문서에서는 Google Cloud Platform의 네트워킹 서비스에 대해 설명하고 기존 데이터 센터 기술과 비교하여 살펴봅니다. 또한 두 서비스 모델 사이의 차이점을 살펴보고 Cloud Platform의 VPC 네트워킹 기능에 대해 자세히 설명합니다.

서비스 모델 비교

기존 데이터 센터에서는 서버 랙, 저장 장치, 여러 스위치 레이어, 라우터, 부하 분산기, 방화벽 장치 등으로 구성된 복잡한 네트워크 설정을 관리합니다. 이러한 하드웨어 구성요소 외에도 네트워크의 기본 소프트웨어는 물론 해당 환경을 위한 세부 장치 구성까지 설정, 유지 관리, 모니터링해야 합니다. 관리 부담은 여기에서 끝나지 않고, 이 외에도 시간과 비용이 많이 드는 네트워크의 보안 및 가용성을 고려하고, 네트워크 업그레이드 및 확장을 계획해야 합니다.

반면에 Cloud Platform의 VPC 네트워킹 인프라는 SDN(소프트웨어 정의 네트워킹) 모델을 기반으로 구축되어 있습니다. 이 모델에서는 위에서 언급한 유지보수 및 관리 부담이 상당 부분 제거되었기 때문에, 증가하는 고객 기반의 요구에 맞게 서비스를 보다 빠르게 맞춤설정 및 확장할 수 있습니다.

데이터 센터와 Cloud Platform VPC 네트워킹 아키텍처 비교
그림 1: 데이터 센터와 Cloud Platform VPC 네트워킹 아키텍처 비교

Cloud Platform의 VPC 네트워킹 서비스는 다음을 제공하도록 설계되었습니다.

Cloud Platform에서는 물리적 데이터 센터 네트워킹 구성요소를 직접 관리할 필요가 없지만, 서브넷, 경로, 방화벽 규칙, DNS, 부하 분산, VPN, NAT, DHCP와 같은 많은 익숙한 네트워킹 개념을 Cloud Platform에 그대로 적용할 수 있습니다. 이러한 부분에 대한 기존 지식이 있으면 VPC 네트워크를 사용할 때 학습 기간을 단축시키고, 해당 클라우드 환경에서 최상의 방법을 도출하는 데 도움이 될 수 있습니다.

모든 인스턴스

VPC 네트워크는 네트워크, 서브넷, IP 주소, 경로, 방화벽, VPN, Cloud Router 등 Cloud Platform의 기본적인 네트워킹 기술들로 구성됩니다. 이러한 기초에 따라 개발자는 단일, 전역 VPC 네트워크를 공유하고 지역 서브넷에 추가할 수 있는 컴퓨팅 인스턴스와 컨테이너를 만들 수 있습니다. Cloud Platform에서는 최종 사용자에게 가까운 지역 및 영역에서 지연 시간이 낮은 서비스를 제공하고, 가용성 향상을 위해 여러 오류 도메인으로 서비스를 분산할 수 있는 유연성을 확보할 수 있습니다.

VPC 네트워크

Cloud Platform에서 VPC 네트워크는 전역 비공개 RFC 1918 IP 공간입니다. Cloud Platform의 VPC 네트워크는 기본적으로 전역이기 때문에, 전역 가용성을 얻기 위해 여러 비공개 네트워크를 개별적으로 연결하고 관리할 필요가 없습니다. 전역 VPC 네트워크를 사용할 때는 Compute Engine의 내부 DNS에서 VM 인스턴스 이름이 자동으로 호스트 이름으로 추적되기 때문에 Google Compute Engine VM(가상 머신) 인스턴스를 VPC 네트워크 내에서 IP 주소 및 이름으로 확인할 수 있습니다.

서브넷

VPC 네트워크 내에서 서브넷을 사용하여 인스턴스를 리전 또는 영역별로 그룹화하고 IP 주소 공간의 분류 기준을 제어할 수 있습니다. 모든 비공개 RFC 1918 IP 범위를 사용해서 서브넷을 관리하거나 모든 Cloud Platform 리전에서 서브넷을 자동으로 만드는 자동 모드 VPC 네트워크를 사용할 수 있습니다. 서브넷 사이의 IP 범위는 연속적일 필요가 없으며 동적으로 확장 가능합니다.

서브넷 사이의 격리를 제어하기 위해서는 인스턴스 태그를 개별 VM 인스턴스 또는 인스턴스 템플릿에 추가한 후 이러한 태그를 사용하도록 경로 및 방화벽 규칙을 구성할 수 있습니다.

 VPC 네트워크, 서브넷, 리전, 영역
그림 2: VPC 네트워크, 서브넷, 리전, 영역

IP 주소

인스턴스는 최대 2개의 IP 주소를 지원합니다. 임시 내부 IP 주소는 VPC 네트워크 내부 통신에 사용되고, 선택적인 외부 IP 주소는 VPC 네트워크 외부 통신에 사용됩니다. 외부 IP 주소는 기본적으로 일시적이지만, 정적일 수도 있습니다. Cloud Platform에서 IP 주소의 작동 방식은 IP 주소를 참조하세요

제어

Cloud Platform은 조직 전체의 네트워크 및 보안 관리자가 리소스를 보호하고, VPC 네트워크를 관리하고, 외부 엔드포인트에 대한 액세스를 승인할 수 있게 해주는 강력한 제어 방식을 제공합니다. Cloud Platform에서는 ID 및 액세스 관리(IAM) 역할, 방화벽, 경로를 사용해서 VPC 네트워크 제어 및 보호를 위한 정책 및 패턴을 구현할 수 있습니다.

네트워크 특정 IAM

Google Cloud IAM은 네트워크 관리자, 네트워크 뷰어, 보안 관리자, 컴퓨팅 인스턴스 관리자를 포함하여 리소스 제어를 명확하게 구분하기 위한 여러 가지 네트워킹 관련 역할을 제공합니다. Cloud Platform에서 Cloud IAM 및 ID 관리에 대한 자세한 내용은 관리 문서를 참조하세요.

방화벽

데이터 센터의 DMZ와 비슷하게, 각 VPC 네트워크에는 기본적으로 VPC 네트워크 외부에서 인스턴스로 들어오는 모든 트래픽을 차단하는 방화벽이 포함되어 있으며, 개발자는 방화벽 규칙을 구성하여 액세스를 허용할 수 있습니다. 하지만 기존의 DMZ와 달리, Cloud Platform의 방화벽은 트래픽 확장과 관련된 문제를 방지할 수 있도록 전역으로 분산되어 있습니다.

기본적으로 방화벽 규칙은 전체 VPC 네트워크에 적용됩니다. 하지만 특정 태그를 인스턴스에 추가하고, 해당 태그가 있는 인스턴스에 방화벽 규칙을 적용하여 인스턴스 집합에 방화벽 규칙을 적용할 수 있습니다. 또한 방화벽 규칙에서 허용되는 소스 머신 집합을 정의하여 인스턴스 간 내부 트래픽을 제어할 수 있습니다.

경로

경로 또는 트래픽 전달을 위한 규칙은 단일 VPC 네트워크에 연결된 전역 리소스입니다. 경로를 만들 때 대상 인스턴스 태그를 포함하여 VPC 네트워크에 있는 하나 이상의 인스턴스에 경로를 적용할 수 있습니다. 그러면 해당 인스턴스 태그를 사용하는 모든 인스턴스에 경로가 추가됩니다.

Compute Engine을 초기화하거나 새 VPC 네트워크를 만들면 특정 경로가 기본적으로 자동 생성됩니다. 또한 필요에 따라 VPC 네트워크에 사용자 생성 경로를 추가할 수도 있습니다. 예를 들어 외부 IP 주소를 요구하지 않아도, 동일 VPC 네트워크(서브넷도 포함) 내에서 한 인스턴스에서 다른 인스턴스로 트래픽을 전달하는 경로를 추가할 수 있습니다.

VPC 네트워크 내에서 서브넷을 설정하면 GCP가 기본적으로 서브넷 사이에 경로를 만듭니다. 하지만 default VPC 네트워크를 사용하지 않는 한, VPC 네트워크에서 인스턴스 간 트래픽을 허용하도록 방화벽 규칙을 만들어야 합니다.

또한 경로를 사용하면 VM 인스턴스에 다대일 NAT 및 투명 프록시 설정과 같은 더 많은 고급 네트워킹 기능을 구현할 수 있습니다. 기본 경로는 VPC 네트워크가 인터넷 및 개발자가 만든 모든 인스턴스로 트래픽을 전송하는 방법을 알 수 있도록 디자인됩니다.

확장

기존 데이터 센터 환경에서는 부하 분산기로 인해 운영상의 복잡성이 증가하고 일반적으로 전역 확장성이 부족해질 수 있습니다. 서비스의 확장성과 가용성을 보장하기 위해 단일 전역 애니캐스트 IP 이면에서 컴퓨팅 리소스를 분산시키는 Cloud Load Balancing을 사용할 수 있습니다. Cloud Load Balancing은 HTTP(S), TCP/SSL, UDP 부하 분산은 물론 SSL 오프로드, 세션 어피니티, 상태 확인, 로깅을 지원합니다.

레이어 7 부하 분산

HTTP(S)(레이어 7) 부하 분산리전 간 트래픽 분산을 자동으로 수행하고, 비정상 인스턴스를 우회하여 가장 가까운 인스턴스로 트래픽을 전달합니다. 또한 콘텐츠 기반 부하 분산을 추가하여 동영상과 같은 특정 콘텐츠에 최적화된 인스턴스로 트래픽을 분산할 수 있습니다. 지연 시간을 낮추고 성능을 향상시키기 위해 Cloud Platform의 콘텐츠 전송 네트워크 서비스인 Cloud CDN을 HTTP(S) 부하 분산과 결합할 수도 있습니다.

리전 간 부하 분산
그림 3: 리전 간 부하 분산

레이어 4 부하 분산

TCP/UDP 서비스에 트래픽 급증을 위한 추가 인스턴스가 필요한 경우 네트워크 부하 분산(레이어 4)도 이용할 수 있습니다. 네트워크 부하 분산을 사용하면 SMTP 트래픽과 같은 추가 프로토콜을 부하 분산하고, 세션 어피니티를 추가하고, 패킷을 조사할 수 있습니다. SSL 프록시는 부하 분산과 함께 HTTPS 이외의 트래픽에 대한 SSL 종료 기능을 제공하고, SSL 오프로드를 사용해서 SSL 인증서 및 암호 해독을 중앙에서 관리하고 인스턴스에서 발생하는 프로세서 집약적인 작업의 부담을 줄일 수 있습니다.

네트워크 부하 분산
그림 4: 네트워크 부하 분산

자동 확장

부하 분산은 자동 확장 정책을 기반으로 인스턴스 그룹에서 인스턴스를 자동으로 추가 및 제거하는 Compute Engine 자동 확장으로 지원됩니다. 자동 확장 처리의 미리 정의된 자동 확장 정책 중 하나를 선택하거나 Stackdriver Monitoring 측정항목을 기준으로 커스텀 정책을 정의할 수 있습니다.

Google Cloud DNS

Google Cloud DNS를 사용하면 매우 높은 가용성 및 낮은 지연 시간으로 사용자에게 애플리케이션 및 서비스를 전역으로 제공할 수 있습니다. Cloud DNS는 많은 수의 DNS 영역 및 레코드로 확장되므로, 수백만 개의 DNS 레코드를 안정적으로 만들고 업데이트할 수 있습니다.

연결

일부 리소스를 Cloud Platform에서 유지 관리하고 다른 리소스는 다른 위치에서 유지 관리하는 하이브리드 아키텍처를 디자인하는 경우 Cloud Platform은 외부 환경과 통합할 수 있는 여러 방법을 제공합니다.

Cloud VPN

Cloud VPN 관리형 서비스는 보안 IPsec 터널을 통해 프라이빗 클라우드의 데이터를 Cloud Platform에서 호스팅되는 서비스에 제공할 수 있습니다. 각 Cloud VPN 게이트웨이는 터널에서 최대 1.5Gbps를 유지할 수 있습니다. Cloud VPN 구성에 대한 자세한 내용은 VPN 상호 운용성 가이드를 참조하세요.

Google Cloud Router

클라우드 서브넷을 확장하거나, 추가 클라우드 애플리케이션을 만들거나, 사설 클라우드 서브넷을 변경할 때는 Google Cloud Router를 사용하여 네트워크 변경 사항을 자동으로 검색하고 알릴 수 있습니다. Cloud Router는 ECMP 라우팅 또는 기본/백업 설정을 통해 여러 VPN 터널을 지원합니다. 라우터 이벤트, BGP 이벤트, 경로 이벤트가 Stackdriver Logging에 표시되고, Cloud Router가 측정항목Stackdriver Monitoring에 게시합니다.

하이브리드 네트워크 아키텍처
그림 5: 하이브리드 네트워크 아키텍처

Cloud Interconnect

기존 연결보다 가용성이 높고 지연 시간이 낮은 엔터프라이즈급 연결이 필요한 고객들을 위해 Cloud Platform은 Cloud Interconnect를 제공합니다. 네트워크 트래픽이 Cloud Platform으로 직접 이동하므로, 불필요하게 타사 네트워크를 경유할 필요가 없습니다. Cloud Interconnect는 다음과 같은 서비스를 제공합니다.

  • 서비스 제공업체 파트너 그룹을 통해 제공되는 이동통신사 피어링 서비스
  • 다이렉트 피어링 서비스. 해당 피어링 위치에서 Google 피어링 요구사항을 충족할 경우 70개 이상의 피어링 위치에서 Google과 피어링하여 높은 처리량의 클라우드 트래픽을 교환할 수 있습니다.
  • 일부 제공업체가 Google의 에지 네트워크와의 직접 상호 연결 링크를 설정할 수 있게 해주는 CDN Interconnect. 이 에지 연결을 통해 트래픽을 최적화하고, 사용자 근처에서 대규모 데이터 파일을 캐시에 저장하고, 자주 업데이트되는 콘텐츠의 액세스 지연 시간을 줄일 수 있습니다.

성능

지정된 VM 인스턴스에서 발생하는 이그레스 트래픽은 최대 네트워크 송신 처리량 상한으로 제한됩니다. 이 한도는 VM 인스턴스의 vCPU 개수에 따라 결정됩니다. 각 vCPU는 최대 성능에서 2Gbps로 제한됩니다. vCPU를 추가하면 네트워크 한도가 늘어나며, 이론적으로는 각 인스턴스별로 최대 32Gbps까지 가능합니다. 실제 성능은 워크로드에 따라 크게 달라집니다. 모든 상한 값은 지속 성능이 아닌 최대 가능 성능을 의미합니다.

고유 데이터 센터 환경의 성능에 따라 Cloud Platform 및 기타 클라우드 서비스의 성능을 측정하기 위해서는 오픈소스 벤치마킹 도구인 PerfKit Benchmarker를 사용할 수 있습니다. Cloud Platform을 벤치마킹하기 위해서는 iperf, netperf, ping 벤치마크가 포함된 google_set라는 집합을 실행하면 됩니다. 네트워크 처리량을 측정하기 위해 사용되는 간단한 PerfKit Benchmarker 사용 예시를 보려면 네트워크 처리량 측정을 참조하세요.

비용

제품별 가격 책정 세부정보를 보려면 다음 페이지를 참조하세요.

또한 Cloud Platform 가격 계산기를 사용하여 특정 시나리오의 비용을 모델링할 수 있습니다.

다음 단계

다음 단계: Cloud Platform의 컴퓨팅

권장사항 검토

VPC 네트워크 및 가상 리소스 보안 방법에 대한 설명은 네트워킹 및 보안DDoS 권장사항을 참조하세요.

일부 실습 가이드 확인

직접 실습이 필요한 경우에는 Networking 101Networking 102 Codelab을 참조하세요. 여기에서는 Cloud Platform의 VPC 네트워킹 서비스를 사용하여 기본 및 중간 수준의 네트워킹 작업을 단계별로 수행할 수 있습니다.

Google 네트워킹 스택 정보 보기

Google은 10년 이상의 기간 동안 클라우드에서 성능 및 비용 이점을 극대화하기 위한 소프트웨어 정의 네트워킹을 혁신하는 데 많은 노력을 기울이고 있습니다. 다음 문서 및 연구 문헌에서는 Google의 네트워킹 스택에 대한 다양한 측면들을 조사할 수 있습니다.