티스토리 뷰

Cloud/Google Cloud Platform

[GCP] Shared VPC

Reo Dongmin Lee 2019. 5. 3. 00:07

Shared VPC

Shared VPC

Shared VPC 는 말 그대로 여러 프로젝트가 공유해서 사용할 수 있는 VPC network 다.

GCP의 경우 리소스 hierarchy 최상위 단위가 organization이기 때문에 서로 다른 organization이 VPC를 공유하는 것은 불가능하고 같은 organization 하위의 프로젝트들은 VPC를 공유할 수 있다.

Shared VPC를 사용하려면 host project를 지정해야 한다. Host project의 VPC를 Shared VPC로 사용하게 되는데 다음과 같이 설정할 수 있다. 

1. Shared VPC Admin role로 로그인 한다. [Shared_VPC_Admin]

gcloud auth login [SHARED_VPC_ADMIN]

 

2. Host Project로 지정할 Project ID를 지정하고 Shared VPC를 enable 시킨다. (프로젝트 레벨에서는 할수없고 organization 레벨에서 해야한다. 개인 계정이라 organization이 없다면 테스트 할 수 없다.)

gcloud compute shared-vpc enable [HOST_PROJECT_ID]

 

3. Host Project 목록에 잘 들어가있는지 확인. [ORG_ID]를 자신의 Organization ID로 바꿔서 다음 명령어를 실행한다.

gcloud compute shared-vpc organizations list-host-projects [ORG_ID]

 

위 그림의 경우 Web Application Server를 Host Project로 지정하였고 3개의 각기 다른 서비스 프로젝트를 Shared VPC를 이용하여 통신하도록 구성하였다. 서비스 프로젝트를 Shared VPC에 붙이는 방법은 다음 링크를 참고한다.

https://cloud.google.com/vpc/docs/provisioning-shared-vpc#enable-shared-vpc-host

위 Shared VPC를 사용할 경우 가장 큰 장점은 효율성과 보안이다. Shared VPC 안의 리소스들은 서로 같은 네트워크 안의 internal IP address로 통신하기 때문에 프로젝트 간 통신 데이터가 public internet을 거치지 않는다. 그렇기 때문에 빠르고 안전하고 효율적이다.

댓글