오늘 할 실습 아키텍처
VPC Peering 연결을 생성해서 private ec2끼리 ping을 주고 받을 수 있는지 확인해보자
준비사항
서울 리전에 각각 다른 VPC를 생성해 VPC Peering을 해볼 것이다.
- VPC A : 10.0.0.0/16
- public subnet : 10.0.10.0/24
- private subnet : 10.0.11.0/24
- public 라우팅 테이블
- private 라우팅 테이블
- private subnet 내에 있는 ec2가 외부와 통신 해야하기 때문에 nat gateway를 생성해 연결했다
또다른 VPC를 준비하자
- VPC B : 10.50.0.0/16
- public subnet : 10.50.0.0/24
- private subnet : 10.50.11.0/24
- public 라우팅 테이블
- private 라우팅 테이블
각 VPC 내부에 Bastion 인스턴스, private 인스턴스를 한 개씩 생성한다
- VPC A의 Bastion host 인스턴스
- TCP / 22를 열어준다
- VPC A의 private 인스턴스
- private 인스턴스의 보안그룹
- ping 테스트를 위해 ICMP 포트를 열어주는데 '에코요청(echo request)'로 열어준다
- VPC B의 Bastion host 인스턴스
- private 인스턴스
- private 인스턴스의 보안그룹
VPC Peering 연결
그리고 [VPC] - [VPC peering connection(피어링 연결)]에서 다음과 같이 피어링 연결을 생성한다
- 요청 VPC를 VPC A인 peering-vpc로,
- 수락 VPC를 VPC B인 peering-b-vpc로 지정한다
- 생성 후엔, 상태가 [수락 대기 중]으로 뜬다
- 현재는 수락 대기 중 상태여서 수락을 기다리고 있다
- [작업] - [요청 수락]
- 상태가 Active 되었다
이제 라우팅 테이블을 수정한다
- VPC A의 private 라우팅 테이블을 다음과 같이 수정한다
- 라우팅 테이블에 10.50.0.0/16으로의 피어링 연결이 설정되었다
- VPC B의 private 라우팅 테이블도 똑같이 수정한다
- 10.0.0.0/16으로 피어링 연결이 되도록 설정한다
결과 및 ping 테스트
ping 테스트를 통해 알아보자. 각 VPC의 private 인스턴스에서 상대 VPC의 private 인스턴스로 ping을 보냈다
- VPC A에서 B로
- VPC B에서 A로
이전에 했을 때 안 된 이유는
1. VPC 생성 시 [VPC 등]으로 생성해서
2. private 인스턴스의 보안그룹에서 ICMP 열 때, 에코 요청이 아닌 에코 응답으로 지정해서 그렇다...ㅎ
끗
'AWS > PROJECT' 카테고리의 다른 글
AWS Client VPN 설정 및 연결 (0) | 2023.03.24 |
---|---|
AWS Amplify, API Gateway, Lambda, DynamoDB를 이용해 웹 애플리케이션 구축 (0) | 2023.03.17 |
AWS CloudFront, S3, ALB, Route53 몽땅 연동하기 (0) | 2023.02.21 |
EC2 인스턴스가 인터넷 연결이 되지 않을 때... (0) | 2022.12.23 |
AWS IoT Greengrass 구성요소로 기계학습 추론 수행하기 (0) | 2022.12.13 |