VPC, Projects, Networks, and Subnetworks

VPC

GCP를 사용하면

  • GCP 리소스를 프로비저닝 할 수 있다.
  • GCP 리소스를 서로 연결할 수 있다.
  • VPC에서 리소스를 서로 분리할 수 있다.
  • GCP와 온프레미스 사이에서 세분화된 네트워킹 정책을 정의할 수 있다.

VPC objects

프로젝트에는 네트워크를 포함하여 사용하는 모든 단일 서비스가 포함된다.

Subnetworks

서브 네트워크를 사용하면 사용자의 환경을 나누거나, 분리할 수 있다.

Region & Zone

Google의 데이터센터를 나타내며, 지속적인 데이터 보호 및 고가용성을 나타낸다.

(메모: Zone이 반드시 물리적인 데이터센터를 가리키지 않을 수도 있다. 코세라 Core Infrastructure 강의 초반부에 그리 나와있음. 흔히, Zone과 데이터센터가 일치한다는 것은 편의상 그렇게 부르는 것으로 이해하면 될 듯하다.)

VPC

세분화된 IP범위 선택과 함께, internal IP, external IP 주소를 제공한다.

Projects, networks, and subnetworks

Projects

  • 서비스를 billing과 연결한다.
  • 네트워크를 5개까지 포함한다.
    • 콘솔로 간단하게 할당량 증가를 요청할 수 있다.

Networks

  • 네트워크를 다른 프로젝트와 공유하거나, 다른 프로젝트의 네트워크와 peering 할 수 있다.
  • GCP의 네트워크는 전세계에 걸쳐져 있다.
    • 즉, 아시아, 유럽, 아메리카 등 전세계 어디에서나 단일 네트워크를 동시에 사용할 수 있다.
  • 단일 네트워크 안에서 리소스와 서브네트워크를 분리할 수 있다.
  • 네트워크 종류
    • Default
    • Auto mode
    • Custom mode

Default Network

  • 모든 프로젝트에는 Default network가 제공된다.
    • 사전 정의된(pre-defined) subnet, 방화벽 규칙 포함
  • region 1개당 subnet 1개가 할당된다.
    • region들은 CIDR 블록이 겹치지 않는다.
  • Default 방화벽 규칙이 있다.
    • allow ingress : default network
      • 모든 protocol
      • 모든 port
    • allow ingress : Anywhere
      • ICMP
      • RDP
      • SSH

Auto mode

  • 위의 Default network는 실제로 Auto mode Network다.
  • region 1개당, subnet 1개가 할당된다.
  • 자동으로 생성된 subnet은 ‘/20 마스크’와 함께 사전 정의된(pre-defined) IP 범위 세트를 사용한다.
    • ‘/16’까지 확장 가능함
    • 이 자동으로 생성된 subnet들은 모두 ‘10.128.0.0/9’CIDR 블록에 들어맞음
  • 새 region이 사용 가능해지면, 해당 region의 새 subnet이 해당 블록의 IP범위를 사용하여 Auto mode 네트워크에 자동으로 추가된다.

Custom mode

  • 자동으로 subnet을 사용하지 않는다.
    • 즉, subnet과, IP범위를 완벽하게 제어 가능함
  • 순서
    • ① 리전 선택
    • ② 서브넷 결정
    • ③ IP 범위 사용해서 RFC1918 주소 공간 내에서 지정
      • IP 범위는 동일 네트워크의 subnet 간에 겹칠 수 없다.
  • Auto mode 네트워크 → Custom mode 네트워크 로 변환 가능
    • Custom mode의 제어 기능을 사용할 수 있다.
  • Custom mode → Auto mode 네트워크 로 변환 불가능

Networks isolate systems

  • 다른 region, 동일 네트워크
    • internal IP로 통신할 수 있다.
  • 동일 region, 다른 네트워크
    • internal IP로 통신할 수 없다.
    • external IP로 통신해야 한다.

Google’s VPC is global

  • 동일 네트워크 내의 VM 인스턴스들은 글로벌 규모로 Private하게 통신 가능하다.
    • 단일 VPN이 온프렘 네트워크를 GCP네트워크에 안전하게 연결할 수 있다.
  • 두개의 VM이 다른 region에 있어도, VPN Gateway를 사용하면
    • Google의 Private 네트워크를 사용하여 서로 통신할 수 있다.
    • 온프레미스 네트워크와 통신할 수 있다.
    • 비용 절감, 네트워크 관리가 보다 간결해진다.

Subnetworks cross zones

  • 서브 네트워크는 region 규모로 작동한다.
  • region에는 여러 zone이 있으므로, 
    • 서브 네트워크는 여러 zone들에 걸칠 수 있다.
    • 서브 네트워크는 동일 region 안에서 여러 zone들로 확장할 수 있다.
  • 서브넷은 단순히 IP주소 범위이며, 사용자는 해당 IP주소 범위 내에서 IP주소를 사용할 수 있다.
  • 모든 서브넷에는 Primary IP 범위에 4개의 예약된(reserved) IP 주소가 있다.
    • ‘.0’ 범위의 첫번째 주소 : 네트워크
    • ‘.1’범위의 두번째 주소 : 서브넷 게이트웨이
    • 마지막에서 두번째 주소
    • 마지막 주소 : Broadcast
  • 따라서 위 그림의 VM인스턴스들에 할당된 첫번째와 두번째 사용 가능 주소는 ‘.2’와 ‘.3’이다.
  • 위 그림의 두 VM은 다른 zone에 있어도, 동일한 subnet IP 주소를 사용하여 통신이 가능하다.
    • 즉, 단일 방화벽 규칙이 두 VM 모두에게 적용할 수 있다.

Expand subnets without re-creating instances

  • GCP의 VPC를 사용하면 워크로드 중에 종료(shutdown)이나 중단 시간(downtime) 없이, subnet의 IP 공간을 늘릴 수 있다.
  • 새 서브넷은
    • 모든 리전의 동일한 VPC네트워크에 있는 다른 서브넷과 겹치지 않아야 한다.
    • RFC1918 주소 공간에 있어야 한다.
  • 새 네트워크 범위는 원본보다 길어야 한다. 즉, prefix 길이가 더 작아야 한다.
  • 확장 취소 불가!
  • Auto mode 네트워크는 ‘/16’ IP 범위까지 확장할 수 있다.
    • 대안으로, Auto mode 네트워크를 Custom mode 네트워크로 변환하여 IP범위를 추가로 늘릴 수 있다.
  • 필요 이상으로 큰 서브넷을 만들지 마라. 너무 큰 서브넷은 CIDR 범위 충돌을 일으킬 수 있다.
    • 여러 네트워크 인터페이스를 사용하는 경우
    • VPC 네트워크 피어링을 사용하는 경우
    • VPN 사용하는 경우
    • 기타 온프레미스 네트워크 연결하는 경우