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 |