GCP
VPC(Virtual Private Cloud)는 Google의 프로덕션 네트워크 내에서 구현되는 물리적 네트워크의 가상 버전으로 GCP 리소스 및 서비스를 관리하는 네트워킹 기능을 제공합니다. 광역 글로벌 네트워크로 연결된 유연한 글로벌 리소스이기도 하죠, VPC는 실제 네트워크와 동일한 방식으로 적용됩니다.
VPC는 Compute Engine 가상 머신(VM) 인스턴스에 대한 연결을 제공하며 여기에는 Google Kubernetes Engine(GKE) 클러스터, App Engine 가변형 환경 인스턴스 및 Compute Engine VM에 내장된 기타 Google Cloud 제품이 포함됩니다.
VPC는 네트워크를 구분해 각기 다른 설정을 할 수 있는데요, VPC 없이 인스턴스를 생성하게 된다면 구분하기가 힘들어져 다소 복잡해질 수도 있습니다.
또한 가상화된 네트워크 인터페이스를 지원, 이를 통해 IP 주소 및 별칭 IP 범위 역시 지정이 가능합니다. 따로 공개 IP 주소 없이도 구글 서비스에 비공개로 액세스할 수 있으며 실시간으로 흐름을 모니터링하는 것이 가능합니다.
공개 인터넷으로 통신하지 않아도 단일 VPC를 여러 리전으로 확장할 수 있습니다. 온프레미스의 경우 VPC와 온프레미스 리소스 간의 연결을 단일 VPC의 모든 리전과 공유할 수 있습니다.
조직에서 하나의 VPC만 사용해 프로젝트 내에서 팀을 분리할 수 있는데요, 이를 통해 비공개 IP 공간을 계속 유지하며 공통으로 사용하는 서비스에 액세스할 수 있습니다.
VPC의 특징을 정리하면 다음과 같습니다.
VPC 네트워크는 연결된 라우터와 방화벽 규칙을 포함하여 전역 리소스입니다. VPC 네트워크는 특정 리전 또는 영역과 연결되지 않습니다.
서브넷은 리전 리소스입니다. 각 서브넷은 IP 주소 범위를 정의합니다.
인스턴스에서 송수신되는 트래픽은 네트워크 방화벽 규칙으로 제어할 수 있습니다. 규칙은 VM 자체에서 구현되므로 VM에서 나가거나 도착할 때만 트래픽을 제어하고 로깅할 수 있습니다.
VPC 네트워크 내의 리소스는 관련 네트워크 방화벽 규칙에 따라 내부 IPv4 주소를 사용하여 서로 통신할 수 있습니다.
내부 IP 주소가 있는 인스턴스는 Google API 및 서비스와 통신할 수 있습니다.
Identity and Access Management(IAM) 역할을 사용하여 네트워크 관리를 보호할 수 있습니다.
조직에서는 공유 VPC를 사용하여 VPC 네트워크를 공용 호스트 프로젝트에 유지할 수 있습니다. 동일한 조직의 다른 프로젝트에서 승인된 IAM 주 구성원은 공유 VPC 네트워크의 서브넷을 사용하는 리소스를 만들 수 있습니다.
VPC 네트워크 피어링을 사용하여 VPC 네트워크를 다른 프로젝트 또는 조직의 다른 VPC 네트워크에 연결할 수 있습니다.
Cloud VPN이나 Cloud Interconnect를 사용하여 하이브리드 환경에서 VPC 네트워크를 안전하게 연결할 수 있습니다.
그럼 이번엔 VPC의 네트워크와 서브넷 개념에 대해 알아보도록 합시다.
VPC 네트워크는 각기 하나 이상의 서브넷을 가집니다. IP 주소 범위가 이 서브넷에 의해 결정되기 때문에 1개 이상의 서브넷이 반드시 존재해야 합니다.
이 서브넷은 두 가지 모드로 나눌 수 있습니다
자동모드 : 네트워크가 생성될 때 각 리전에 자동으로 서브넷이 하나씩 생성됩니다. 이 서브넷은 ‘사전 정의된 IP 집합’을 사용하게 되며, 서브넷의 IP 범위가 겹치지 않습니다.
커스텀모드 : 개발자가 직접 서브넷과 IP 범위를 설정하게 됩니다. 직접 제어할 수 있는 부분이 많지만 따라서 서브넷의 IP 범위가 겹칠 수도 있습니다.
서브넷은 리전 객체이므로 리소스에 선택한 리전에 따라 리소스에서 사용할 수 있는 서브넷이 결정됩니다. 따라서 따로 설정하지 않으면 default 네트워크(사전 정의된 자동 모드 네트워크)로 시작하게 됩니다.
서브넷을 만들 때 서브넷의 기본 IP 주소 범위를 정의해야 합니다. VM 인스턴스, 내부 부하 분산기, 내부 프로토콜 전달 등의 리소스에 대한 기본 내부 주소는 서브넷의 기본 범위에서 가져옵니다. 원하는 경우 별칭 IP 범위에서만 사용되는 보조 IP 주소 범위를 서브넷에 추가할 수 있습니다. 하지만 서브넷의 기본 또는 보조 범위에서 인스턴스의 별칭 IP 범위를 구성할 수 있습니다. 이 기본 IP 주소 범위는 최대 5개까지 정의가 가능합니다.
이는 또 두가지로 나눠볼 수 있는데요.
유효한 범위 : 서브넷의 기본 IP 주소 범위는 비공개 IP 주소 RFC 1918 블록 선택 가능.
제한된 범위 : Google 공개 IP 주소 및 일반적으로 예약되는 RFC 범위 포함, 최대 5개까지 정의가능하며 별칭 IP 주소에만 사용 가능.
로 볼 수 있습니다.
다음은 방화벽(Firewall)과 경로(Routing) 규칙인데요.
먼저 VPC 네트워크는 각기 사용자가 구성할 수 있는 가상 방화벽을 구현합니다. 이 방화벽 규칙을 사용하면 패킷을 허용 하거나 거부할 수 있으며(둘 중 하나만 가능합니다.) 수신이나 송신 트래픽 모두에 적용되도록 정의할 수 있습니다.
방화벽 규칙은 VPC 네트워크 수준에서 정의되고, 네트워크 간에 규칙이 공유될 수는 없습니다.
좀 더 자세한 방화벽 규칙에 대해 알고싶으시면 방화벽 규칙 로깅 문서를 참고해주세요.
경로는 인스턴스에서 나가는 패킷(이그레스 트래픽)의 경로를 나타냅니다. 새로운 네트워크는 두 가지 유형의 시스템 생성 경로로 시작합니다. GCP의 경로는 총 두가지로 나뉘는데요. 각 카테고리마다 2개의 유형으로 또 나뉘기 때문에 총 4가지 종류의 경로 타입을 갖게 됩니다.
기본 경로 : 네트워크의 모든 인스턴스에 적용, 일반적인 인터넷 엑세스 기능 제공
서브넷 경로 : 서브넷 경로는 트래픽이 서브넷을 사용하는 VM에 도달하는 경로를 정의, 수동으로 삭제 불가능
정적 경로 : 네트워크의 모든 인스턴스에 적용 가능(특정 인스턴스로 제한하지 않는 경우에만), 이름을 통해서 경로 식별
동적 경로 : 하나 이상의 클라우드 라우터에서 관리, 항상 VPC 네트워크와 외부의 IP 범위를 나타내며, 홉은 항상 BGP 피어 주소
이 외에도 VPC 를 통해 전달 규칙, IP 주소, VPC 네트워크 피어링 등이 가능한데요.
이처럼 VPC를 사용하면 하드웨어 비용과 작업 시간을 절감할 수 있고, 여러 보안 정책과 세분화된 접근 제어로 안전하게 사용하실 수 있습니다.
하이프마크에서는 기업의 웹앱로그데이터의 클라우드 적재와 ETL 파이프라인 구성 그 외 클라우드 내 데이터분석 환경 구축 및 분석 시각화 서비스를 함께 제공하고 있습니다.
AWS, GCP등 클라우드 이전 매니지드서비스 및 웹앱로그데이터 태깅 적재 관련 문의사항이 있으시면 하이프마크에 문의 주세요
감사합니다.