brunch

You can make anything
by writing

- C.S.Lewis -

by Master Seo Aug 29. 2020

128. GCP Network 1/6 -기본 개념

<1> GCP 네트워크 기본 개념

<2>  VPC Network Peering   

<3>  Shared  VPC


본 내용은 개인적으로 정리한 내용이라 틀릴 수 있습니다.

AWS와 조금 다른 부분은 빨간색으로 표시해 봤습니다.




<1> GCP 네트워크 기본 개념


1

GCP

GCP에서 프로젝트의 의미?

빌링 과금을 프로젝트로 한다.

계정들이 프로젝트를  만들어 지정하고, 네트워크를 만들고 사용한다.


AWS

AWS는 빌링 과금을 AWS계정으로 한다.

AWS계정을 만들고, 거기에 네트워크를 만들고 사용한다.


2

하나의 프로젝트에 기본 최대 5개의 VPC가 가능하다.

증가 요청을 하여 늘릴 수 있다.



3

VPC는 특정 리전에 제한되지 않는다.

네트워크 VPC자체는 IP주소 지정이 없다.

IP범위는 서브넷 설정 시 지정한다.


서브넷을 만들 때  리전을 선택하고, IP를 지정한다.

서브넷 간 통신이  된다.


4

VPC는  국가 내로  제한되지 않는다.

구글은 글로벌 VPC라  대륙, 국가가 달라도 된다.

1개 VPC는 북미 등 복수개의 서브넷으로 구성 가능하다.


AWS 

미국 VPC

서울 VPC



구글 

1 VPC

미국 서브넷

서울 서브넷


5

VPC종류 3가지


1)

디폴트 VPC가 존재한다.  

// AWS도 동일

하나의 리전에 하나의 서브넷

기본 방화벽이 존재한다.

GCP는 /29까지 서브넷을 지원한다.

자동으로 생성되어 있다.



2.)

오토 모드 VPC

오토 모드와 커스텀 모드는  사용자가  직접 생성한다.

서브넷 자동 생성

최초 /20 서브넷으로 생성된다.

/16까지 가능하다.

줄일 수는 없다.



3)

커스텀 모드 VPC

오토 모드와 커스텀 모드는  사용자가  직접 생성한다.

사용자가 수동으로 직접 하는 것이다.

서브넷을 사용자가 직접 설정한다.

확장도 가능하다.

NON RFC1918 블록인  공인 IP도 설정이 가능하다.



6

구글 클라우드에서 프로젝트과 VPC 관계?

프로젝트  >   VPC 개념이다.

프로젝트 안에  디폴트 VPC가 있다.

VPC안에  서브넷이 있고,  서브넷에서 IP를 할당한다.





<2>  VPC Network Peering   


1

VPC Network Peering

VPC 간  public 통신이 아닌  Private 통신이 가능하도록 한다.

인터넷 대비 저비용

구글 클라우드 안에서 사설 통신하는 것이다.


VPC 피어링

프로젝트와 프로젝트 간  통신.


안 되는 경우 1

IP대역이 중복되는 경우 VPC 피어링을 할 수 없다.

한쪽의 IP대역이 다른 쪽을 포함하는 경우도 중복으로 피어링이 안된다.


안 되는 경우 2

기존에 피어링 되고 있는 IP 블록과 중복될 경우 안된다.


안 되는 경우 3

N1 VPC와 N2 VPC가 피어링 되어 있는 경우.

결론, 피어링 되어 있는 구간의 모든 VPC 피어링의 경우  반드시 범위가 겹치지 않아야 한다.

//  AWS는 바로 연동되는 VPC간만 대역이 겹치지 않으면 된다.


예제 ) 


GCP

10.0.0.0/24--------192.168.0.0/24---------10.0.0.0/24 간 피어링 안됨

// 왜냐하면, 양쪽 구간의 IP 블록이 겹친다.


AWS

10.0.0.0/24--------192.168.0.0/24---------10.0.0.0/24 간 피어링이 가능하다.

// 양쪽 구간 IP 블록은 겹쳐도 된다. 직접 연동되는 VPC만 겹치지 않으면 된다.




<3>  Shared  VPC



최상위 개념

오가니제이션 (조직)


1

조직 내부에서 특정 VPC를 다른 프로젝트들이 사용할 수 있도록 공유하는 것이다.

각 프로젝트는  내부 사설 통신, 호스트 프로젝트에서는 Shard VPC의 네트워크 권한 관리.

호스트 프로젝트에서 네트워크 생성을 하고,   보안정책을 정해서 공유를 하는 것이다.


2

서비스 프로젝트는 할당받은 거 사용한다.


3

오가니제이션 admin 권한으로 작업한다.


계정 A를 만들고, 해당 호스트 프로젝트 admin권한 제공

계정 A로  호스트 프로젝트로 로그인


Shared 프로젝트를 만들다.


서비스 프로젝트에서 사용할  production이라는 VPC생성을 생성한다.

Firewall 생성한다.


4

호스트 프로젝트

VPC network > Shared VPC를  enable에서 공유한다.

호스트의 모든 서브넷을 공유할지, 아니면 일부 서브넷만 공유할지 선택한다.


5

일부  서브넷만 공유한다.

프로젝트가 서비스, 개발 인경우 2개 서브넷을 다 공유한다.

서비스, 개발에서 해당 서브넷 2개를 모두 만들 수 있다.


6

확인

서비스 프로젝트에  개발자 계정으로 로그인한다.

서버 만들어 본다.

서버 만들 때 네트워크를  Sharded 네트워크로 선택해서 만든다.


호스트 프로젝트  admin이 만든 방화벽 정책으로 사용한다.

호스트 프로젝트  admin만  권한을 가진다.

공유받은 개발자는 권한이 전혀 없다.


7

다른 조직 간의 연결

vpc peering으로 가능하다.

sharded vpc는 다른 조직, 도메인 간 연결은 안 된다.  한 조직에서만 가능

프로젝트 내부에서 VPC연결

vpc peering으로 가능하다.

sharded vpc는 불가하다.  호스트 프로젝트와 서비스 프로젝트가 있다.



8

네트워크 관리

vpc peering 은 분산으로 네트워크 관리

sharded vpc는 네트워크 중앙관리를 하는 것이다.  호스트 프로젝트에서 네트워크를 관리한다. 서비스 프로젝트에서는 관리 불가


GCP vpc peering은 아직 트랜싯 피어링을 지원하지 않는다.




다음은 VPC 만들어보자 

https://brunch.co.kr/@topasvga/1250


감사합니다.






매거진의 이전글 127.  커스텀 vpc 만들기

매거진 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari