VPC — 클라우드 서비스의 가상 네트워크

VPC — 클라우드 서비스의 가상 네트워크

여러 VM과 컨테이너, 서버리스 워크로드가 서로 통신하고 외부와도 이어져야 하는데, 그 연결을 어떻게 설계할까요? Google Cloud Virtual Private Cloud(VPC) 는 Compute Engine VM, GKE 컨테이너, 서버리스 워크로드에 네트워킹 기능을 제공해요. 전 세계적으로 확장 가능하고 유연한 네트워크를 클라우드 서비스에 붙여 주죠.

출처: VPC 공식 문서

본문

VPC의 기본 단위는 네트워크(network) 와 그 안의 서브넷(subnet) 이에요. 네트워크는 프로젝트 전반에 걸쳐 전 세계적으로 존재하고, 서브넷은 특정 리전에 속해요. 서브넷별로 IP 대역을 정하고, 그 안에 VM이 달리는 구조죠.

VM들이 어떻게 서로 찾아가고 외부로 나가는지는 라우트(route) 가 결정해요. VPC는 네트워크마다 라우팅을 자동으로 만드는데, 필요하면 커스텀 라우트를 추가해서 트래픽 흐름을 원하는 대로 조정할 수 있어요.

VPC 네트워크를 만들고 수정하는 방법은 콘솔 또는 gcloud 로 할 수 있어요. 퀵스타트 문서가 VPC 네트워크를 만들고 서브넷을 구성하는 과정을 처음부터 안내해 줘요. 대표적으로 네트워크는 이렇게 만들 수 있어요:

gcloud compute networks create my-network \
    --subnet-mode=custom

여러 네트워크를 연결할 때는 VPC Network Peering을 쓰고, 조직에서 네트워크를 여러 프로젝트가 공유해야 한다면 Shared VPC를 써요. 또 Private Service Connect는 구글 관리형 서비스에 프라이빗 엔드포인트로 접근하게 해주고, Private Google Access는 프라이빗 IP를 쓰는 VM이 구글 API에 접속하게 해줘요. 개인 네트워크에서 구글 서비스로의 연결이 필요하다면 Private services access 문서도 참고하세요.

VPC 설계에 대한 모범 사례와 레퍼런스 아키텍처, 할당량과 가격, 릴리스 노트는 별도 리소스로 정리되어 있어요. 네트워크는 한번 잘못 설계하면 고치기 어려운 편이니, 시작하기 전에 빠르게 전체 구조를 그려 보는 걸 권해요.

더 알아보기

  • VPC 네트워크와 서브넷 이해하기
  • Quickstart: VPC 네트워크 만들고 수정하기
  • VPC Network Peering과 Shared VPC
  • Private Service Connect와 Private Google Access
  • VPC 설계 모범 사례와 레퍼런스 아키텍처