VPC Peering
- 다양한 리전과 계정에서 AWS 네트워크를 통해 연결하고 싶을 때 VPC를 생성할 수 있으며
VPC가 모두 같은 네트워크에서 작동하도록 만들기 위해 사용 - VPC는 다른 리전 및 계정 또는 같은 계정에도 있어서 이들을 연결하고 싶다면
VPC 네트워크 CIDR이 서로 멀리 떨어져 있어야 연결했을 때 CIDR이 겹치치 않아 통신을 할 수 있게 됨 - VPC 피어링은 두 VPC 간에 발생하며 전이되지 않으므로 서로 다른 VPC가 통신하려면 VPC 피어링을 활성화해야 함
- 세 개의 VPC인 A, B, C가 있을 때
A와 B 사이에 피어링 연결을 만들 수 있고 이 VPC 피어링을 통해 서로 연결됨
B와 C 사이에 다른 피어링 연결을 생성하면 서로 통신할 수 있음
하지만 A와 B, 그리고 B와 C가 연결되어 있더라도 A와 C의 VPC 피어링 연결을 활성화해야 그 둘이 통신할 수 있음
- VPC 피어링이 있을 때 활성화는 후 VPC 서브넷 상의 루트 테이블도 업데이트해서 EC2 인스턴스가 서로 통신할 수 있게 함
- 예) VPC 피어링 연결을 추가해서 서로 다른 VPC를 연결
VPC Peering – Good to know
- 다른 계정 간에도 VPC 피어링이 가능
예) 계정 A에서 계정 B로 VPC를 연결할 수 있음 - 리전 간 연결도 가능
- 보안 그룹에서 다른 보안 그룹을 참조할 수 있으며
동일 리전의 계정 간 VPC에서도 보안 그룹을 참조할 수 있음 - CIDR이나 IP를 소스로 가질 필요가 없고 보안 그룹을 참조할 수 있음
<VPC 피어링 실습>
- 두 개의 VPC를 피어링하기 전
DemoVPC와 새로 생성하는 DefaultVPC를 피어링할 것이며
이 둘을 피어링하려면 먼저 두 VPC에 연결이 없다는 것을 증명해야 함
이를 위해 DefaultVPCInstance라는 이름의 인스턴스를 생성하고 DefaultVPC에서 실행하도록 설정함
그리고 DefaultVPCInstance를 BastionHost에 연결하고 확인하도록 함
또한 BastionHost와 DefaultVPCInstance의 사설 IPv4 주소를 보게 되면 서로 다르므로 서로 다른 VPC인 것을 알 수 있음
DefaultVPCInstance와 BastionHost에서 Connect를 눌러서 인스턴스를 각각 연결하고
BastionHost에서 curl을 실행하여 DefaultVPCInstance에 연결하면
다른 VPC의 인스턴스에 연결할 방법이 없어 네트워크가 고립되어 있기 때문에 시간초과가 되고 작동하지 않음
그러므로 이 둘을 피어링 연결을 해야함
- 두 개의 VPC 피어링 연결
DemoPeeringConnection이라는 이름으로 피어링 연결을 만들고
피어링할 로컬 VPC로 DemoVPC를 선택하고 연결할 다른 VPC로는 DefaultVPC를 선택하도록 함
이 두 VPC의 CIDR은 서로 겹치지 않기 때문에 따라서 VPC 피어링 연결을 만들 수 있음
생성 후 VPC가 모두 내 계정에 있으므로 생성한 피어링 연결에서 Accept request를 클릭하여 요청을 직접 승인할 수 있음
그 후 VPC 피어링 연결 사이에서 트래픽을 전송하고 수신하려면 하나 이상 VPC 라우팅 테이블에서 VPC Peer로 경로 추가 필요
또한 피어링 연결에 VPC가 있더라고 라우팅 테이블을 수정해야 함
라우팅 테이블에서 공용 라우팅 테이블이 하나 있고 다른 하나를 DefaultVPCMainRouteTable로 지정하도록 함
이후 PublicRouteTable의 경로에서 목적지에 DefaultVPC의 CIDR을 추가하도록 하고
이 IP 주소 범위로 들어오는 모든 트래픽을 DemoPeeringConnection 피어링 연결로 전송하도록 함
다음으로는 라우팅 테이블의 DefaultVPCMainRouteTable의 경로에서 DemoVPC의 CIDR을 추가하도록 하고
이 IP 주소 범위로 들어오는 모든 트래픽을 DemoPeeringConnection 피어링 연결로 전송하도록 함
그 다음 다시 curl을 실행하면 hello world가 뜨게 되어 VPC 피어링 연결이 작동된 것을 확인할 수 있음
'Cloud > AWS' 카테고리의 다른 글
[SAA] VPC Flow 로그 (0) | 2022.04.27 |
---|---|
[SAA] VPC Endpoint (0) | 2022.04.27 |
[SAA] VPC 연결성 분석기 (0) | 2022.04.27 |
[SAA] DNS 확인 옵션 및 Route 53 프라이빗 영역 (0) | 2022.04.27 |
[SAA] NAT Gateway (0) | 2022.04.27 |