VPC Peering
2개의 VPC간 연결을 구성합니다.
Last updated
2개의 VPC간 연결을 구성합니다.
Last updated
Peering Connection은 서로 다른 두 개의 VPC간에 네트워크 터널을 구성하여 VPC 내의 인스턴스들 간에 프라이빗 IP통신을 제공하는 기능을 제공합니다. VPC Peering Connection을 통해 마치 동일한 네트워크 내에 있는 것 처럼 서로 통신을 할 수 있습니다.
특장점 및 고려사항
VPC Peering을 사용하면 발생하는 트래픽은 AWS 백본 네트워크를 통하여 전달되므로, 암호화 및 전송 비용 절감의 이점이 있습니다.
동일 계정내 VPC Peering 구성 뿐만이 아닌, 타 계정간에도 VPC Peering 을 지원하여 리소스 중복 사용을 최소화 하여 데이터의 공유 효과를 얻을 수 있습니다.
중국 리전을 제외한 타 리전에 있는 VPC 간에도 Peering 구성을 제공합니다.
VPC Peering을 구성하기 위해서는 VPC에 할당된 IP 주소 CIDR는 동일하거나 겹치지 않아야 합니다.
VPC간에 Transit Routing을 지원하지 않으므로 Peering된 VPC의 인터넷 게이트웨이, NAT 게이트웨이, VPN, Direct Connect 을 사용하지는 못합니다.
VPC Peering은 1:1 연결만 가능하므로, 다수의 VPC를 서로 연결하는 경우 전송 게이트이(Transit Gateway)의 사용을 권장합니다.
VPC Peering 참고 링크 : https://docs.aws.amazon.com/ko_kr/vpc/latest/peering/what-is-vpc-peering.html
본 Lab은 VPC Peering을 통하여 2개의 VPC 간에 프라이빗 IP 통신을 확인합니다.
Peering VPC에 사용될 새로운 VPC 환경 및 EC2 인스턴스를 CloudFormation으로 생성합니다.
아래 링크에서 "VPCPeering.yaml" 파일을 다운 받습니다.
AWS Management Console의 서비스 찾기에서 “Cloudformation”를 검색하고 선택합니다.
[Create Stack] 을 클릭합니다.
[Template is ready] 선택
[Upload a template file] 선택
[Chose file] 을 클릭하여 다운 받은 "VPCPeering.yaml" 파일 선택
Stack name tag - "VPCPeeringlab" 입력
KeyName - "IMD-PUB-PPK" 선택 (VPC Create에서 생서한 Keypair를 선택함)
Configure stack options 에서는 그대로 [Next]를 클릭합니다. Review VPCPeeringlab 에서 [Create stack]를 클릭하여 프로비저을 수행합니다.
프로비저닝이 완료되면 "CREATE_COMPETE"를 확인할 수 있습니다. (약 5분이 소요됩니다.)
CloudFormation을 수행하면 실습을 위한 추가 VPC가 생성됩니다. 생성된 자원을 확인합니다.
Cloudformation 참고 링크 : https://docs.aws.amazon.com/ko_kr/AWSCloudFormation/latest/UserGuide/Welcome.html
VPC Peering 구성 전에 각 EC2 Instance에 접속하여 프라이빗 IP 통신을 확인합니다.
각 EC2 Instance로 ping 테스트로 확인 합니다.
VPC 메뉴의 Peering Connection 으로 이동합니다. [Create Peering Connection]을 클릭합니다.
Peering connection name tag : " VPCPeeringlab " 입력
VPC (Requester) : " IMD-VPC " 선택
VPC (Accepter) : " VPCPeering " 선택
Tags - Key: Name , Value: VPCPeeringlab 입력
[Create Peering Connection]을 클릭하여 Peering 연결을 생성합니다.
생성된 Peering 연결을 확인합니다.아직 상대 VPC에서 연결을 수락하지 않았으므로, 상태는 "Pending Acceptance"로 확인이 됩니다.
별도의 수락 절차를 수행하는 이유는 타 계정과의 연결 시 서로 간의 운영 관리가 다르기 때문입니다.
[Action]에 Accept Request를 클리하여 Peering 연결을 수락합니다. 그후 상태가 " Active " 로 변경되게 됩니다.
VPC간에 Peering 연결은 되었으나, 네트워크 트래픽에 대한 경로를 지정하기 위하여 각 VPC의 Public Route Table을 수정합니다.
VPC 메뉴의 Route Tables 로 이동합니다. " PUBLIC-RT "와 "VPCPeering-Public-RT"에 상대 VPC로 향하는 경로를 추가합니다.
Route Table
Destination
Target
PUBLIC-RT
10.2.0.0/16
Peering Connection -> pcx-XXXXXXXXXXXX
VPCPeering-Public-RT
10.1.0.0/16
Peering Connection -> pcx-XXXXXXXXXXXX
각 EC2 Instance에 접속하여 프라이빗 IP 통신을 확인합니다.
각 EC2 Instance로 ping 테스트로 프라이빗 통신을 확인합니다.
본 Lab에서는 Security Group의 허용(Inbound) 규칙이 모두 허용을 되어 있습니다.실제 환경에서는 Security Group에서 상대방의 VPC IP 대역 또는 특정 EC2 Instance의 IP에 대한 허용 규칙이 추가되어야 합니다.
VPC Peering 연결 속성에서 "요청자 & 수락자 DNS 확인"이 비활성화 되어 있다면, 서로 다른 VPC의 인스턴스 간에 VPC DNS (=인스턴스 Public DNS)와 통신 시 퍼블릭 IP로 접근합니다.
반대로 VPC Peering 연결 속성에 "요청자 & 수락자 DNS 확인이 활성화 되어 있으면, 서로 다른 VPC내 인스턴스 간에 VPC DNS 통신 시 Private IP로 통신을 합니다.
VPC Peering Lab을 성공적으로 완료하였습니다.