brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Aug 29. 2020

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

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

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



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

<2>  VPC Network Peering   

<3>  Shared  VPC



<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 통신이 가능하도록 한다.

인터넷 대비 저비용

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


2

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는 네트워크 중앙관리를 하는 것이다.  호스트 프로젝트에서 네트워크를 관리한다. 서비스 프로젝트에서는 관리 불가



9

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



다음은 VPC 만들어보자

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




다음 공부

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




감사합니다.






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