본 내용은 개인적으로 정리한 내용이라 틀릴 수 있습니다.
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
감사합니다.