GCP에서는 기본적으로 VPC간 통신을 할 수 없습니다.

VPC 간 통신을 할 수 있는 방법 중 하나인 VPC 피어링 연결에 대해 설명합니다.

아래 그림과 같이 GCP에 2개의 프로젝트와 각각의 프로젝트 내에 VPC와 subnet 그리고 VM 인스턴스를 생성합니다.

VPC 생성 시 vpc 피어링 설정 후 통신 여부를 확인하기 위해서 icmp와 ssh에 대해 0.0.0.0/0 에 대한 접속을 허용하도록 VPC 방화벽 규칙을 적용합니다. 

 

 

VPC 네트워크 피어링 설정

GCP 메뉴 중 "VPC 네트워크 피어링"을 클릭한 후 "연결 만들기"를 클릭합니다. 

아래 화면이 나타나면 [계속] 버튼을 클릭합니다.

아래 화면이 나타나면

  • 이름 : peering 이름을 입력(예시 peer-vpc-a-vpc-b)
  • 내 VPC 네트워크 : 연결하고자 하는 VPC를 선택(vpc-a 선택)
  • 피어링된 VPC 네트워크 : 동일한 프로젝트 VPC일 경우와 다른 프로젝트 VPC를 선택할 수 있다. 본 문서에서는 "다른 프로젝트 내"를 선택
  • 프로젝트 ID : 연결 대상 프로젝트 ID 입력(예시 project-b)
  • VPC 네트워크 이름 : 연결대상 VPC 네트워크 이름 입력(vpc-b)

[만들기] 버튼을 클릭하여 VPC 네트워크 피어링을 생성합니다.

아래와 같이 생성된 결과 화면에서 "상태" 컬럼을 보면 비활성으로 표시되는 것을 확인할 수 있습니다. 이는 피어링할 상대 VPC에서도 동일한 설정을 해줘야 활성 상태로 변경됩니다.

 

Project-B를 선택합니다.

GCP 메뉴 중 "VPC 네트워크 피어링"을 클릭한 후 "연결 만들기"를 클릭합니다. 

아래 화면이 나타나면 [계속] 버튼을 클릭합니다.

아래 화면이 나타나면

  • 이름 : peering 이름을 입력(예시 peer-vpc-b-vpc-a)
  • 내 VPC 네트워크 : 연결하고자 하는 VPC를 선택(vpc-b 선택)
  • 피어링된 VPC 네트워크 : 동일한 프로젝트 VPC일 경우와 다른 프로젝트 VPC를 선택할 수 있다. 본 문서에서는 "다른 프로젝트 내"를 선택
  • 프로젝트 ID : 연결 대상 프로젝트 ID 입력.(예시 project-a) 주의사항 : 프로젝트 이름이 아닌 프로젝트 ID를 입력
  • VPC 네트워크 이름 : 연결대상 VPC 네트워크 이름 입력(vpc-a)

[만들기] 버튼을 클릭하여 VPC 네트워크 피어링을 생성합니다.

아래와 같이 생성된 결과 화면에서 "상태" 컬럼을 보면 활성으로 표시되는 것을 확인할 수 있습니다. 이는 위에서 생성한 네트워크 피어링과 정상적으로 연결이 되었기 때문에 활성 상태로 표시되는 것입니다. 

Project-A를 선택한 후 VPC 네트워크 피어링을 조회하면 상태가 "활성" 상태로 바뀐 것을 확인할 수 있습니다.

 

최종적으로 통신확인을 위해 subnet-a 에 생성한 인스턴스에 접속한 후 ping을 수행합니다.

instance-a 에서 instance-b로 ping 테스트 결과

 

instance-b 에서 instance-a로 ping 테스트 결과

 

'GCP' 카테고리의 다른 글

GCP - GKE 애플리케이션 배포  (0) 2022.03.23
GCP-interconnect  (0) 2022.03.22
GCP - gcloud 설치 on linux  (0) 2022.03.13
GCP VM ID/Password 접속  (0) 2022.03.11
GCP VM ssh keypair 접속  (0) 2022.03.11

+ Recent posts