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

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

서비스 모델 비교

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

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

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

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

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

VPC 네트워크

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

VPC 네트워크

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

서브넷

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

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

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

IP 주소

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

관리

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

네트워크 특정 IAM

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

방화벽

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

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

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

레이어 4 부하 분산

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

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

자동 확장

부하 분산은 자동 확장 정책을 기반으로 인스턴스 그룹에서 인스턴스를 자동으로 추가 및 제거하는 Compute Engine 자동 확장으로 지원됩니다. 스케줄러, CPU 사용률, 부하 분산 용량을 기반으로 자동 확장을 구성하거나 Cloud Monitoring 측정항목을 기준으로 커스텀 정책을 정의할 수 있습니다.

Cloud DNS

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

연결

일부 리소스는 Google Cloud에서 유지관리하고 일부 리소스는 다른 위치에서 유지관리하는 하이브리드 아키텍처를 설계하는 경우 Google Cloud는 외부 환경과 통합하는 다양한 방법을 제공합니다.

Cloud VPN

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

Google Cloud Router

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

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

Cloud Interconnect

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

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

성능

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

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

비용

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

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

다음 단계

다음 단계: Google Cloud 기반 컴퓨팅

권장사항 검토

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

일부 실습 가이드 확인

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

Google 네트워킹 스택 정보 보기

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