안녕하세요 오늘은 AWS VPC Peering 에 대해 알아보고 실제로 Peering을 맺는 과정을 설명드리도록 하겠습니다.
VPC Peering 이란 무엇일까요??
VPC Peering이란 서로 다른 VPC간 통신이 가능하도록 연결하는 것을 말합니다.
어떤 경우에 VPC Peering을 맺나요?
VPC Peering을 맺는 이유는 여러가지가 있는데요.
대표적으로 서비스 구분이나 관리 목적에 따라 VPC를 구분해놓았는데 부득이하게 각 VPC간 통신이 필요할때
또는 구성해놓은 VPC 에 더 이상 사용할 수 있는 IP가 없을때 사용하기도 합니다.
VPC Peering 을 맺을때 제약사항이 무엇이 있나요?
서로다른 VPC간의 VPC Peering을 맺을때 제약사항은 각 VPC의 CIDR 대역이 겹치면 안됩니다.
예를들어 아래와 같이 192.168.10.0/24 대역과 192.168.10.0/16 대역을 갖고 있는 VPC 간에는 Peering자체가 불가능합니다.
또, VPC Peering은 다른 계정간 생성도 가능하며 다른 리전간에도 생성이 가능합니다.
정리를 해보면 VPC Peering은 각각 다른 VPC와 다른 CIDR대역간의 연결을 위해 사용하는 것 이죠.
VPC Peering 연결 이후에 각 VPC간 실제 통신을 하기 위해서는 AWS 콘솔의 VPC의 Route Table에서 별도의 설정이 필요합니다.
Route Table이 뭐냐구요? Route Table은 VPC의 서브넷들이 어떻게 통신되는지 정의해놓은 테이블입니다.
[링크 생성 예정 - AWS RouteTable 이란?]
그럼 이제 VPC Peering을 실제로 한번 생성해보도록 하겠습니다.
AWS 콘솔을 통한 VPC Peering 생성
* AWS 콘솔은 영문으로 진행하였고, 언어 설정은 AWS콘솔의 왼쪽 최하단에서 선택이 가능합니다.
AWS콘솔에서 VPC - Peering Connection 을 선택하면 아래와 같은 화면이 나오고 Local VPC와 또다른 VPC를 선택하게 됩니다. 위에 설명드린 것과 같이 VPC Peering은 다른 계정간 그리고 다른 리전간의 VPC와 연결이 가능합니다.
설정은 비교적 간단하므로 생략하도록 하겠습니다. 이렇게 Create Peering Connection을 클릭하여 VPC피어링 생성하면 아래와 같이 상태값이 Pending Acceptance로 생성이 됩니다.
생성한 VPC Peering을 선택하여 상단 Actions에서 Accept Request를 누르면 생성이 완료 됩니다.
여기까지 VPC 생성이 완료 되었습니다.
그러면 어떻게 VPC간 통신이 가능하도록 설정을 해야할까요??
바로 Route table을 설정해야합니다. 여기서 부터는 Route table과 subnet에 대해 어느정도 이해가 있어야 합니다.
AWS콘솔 VPC에서 Route table을 선택하여 통신 하고자하는 VPC의 Route table을 선택합니다.
저는 현재 192.168.10.0/24 대역의 kym-test-vpc 와 172.20.0/24대역의 kym-test-vpc-2를 갖고 있습니다.
또, kym-test-vpc에는 kym-test-private-route를 갖고 있습니다.
kym-test-private-route에는 kym-test-private-subnet-1 부터4 가 포함되어있죠.
192.168.10.0/24 대역을 사용하는 kym-test-vpc의 kym-test-private-route설정을 통해
kym-test-private-subnet-1 부터 4에 있는 서버들이 172.20.0.0/24 대역과 통신이 가능하도록 설정해보겠습니다.
해당 route table을 선택하여 하단의 Routes 카테고리 선택 후, Edit routes를 선택합니다.
그리고 Add route를 선택하여 Peering Connection의 생성한 Peering을 선택합니다.
자 이렇게 설정하면 생성한 VPC peering 포인트를 통해 완전히 다른 VPC 대역인 172.20.0.0/24 과 통신을 할 수가 있게 되는 것입니다.
물론 당연히 통신하고자하는 대상 서버(EC2 instance)의 방화벽(securitr group)에서 방화벽이 허용이 되어있어야 겠죠?
오늘은 여기까지 VPC가 무엇인지 그리고 실제로 VPC생성은 어떻게 하고 통신을 위해 어떤설정이 필요한지 알아보았습니다. 제 포스팅이 AWS를 사용하는 분들에게 조금이나마 도움이 되었으면 좋겠습니다. 감사합니다.
'IT > AWS' 카테고리의 다른 글
[AWS]EKS란? EKS생성 하기(AWS Console, AWS CLI사용) (0) | 2020.01.19 |
---|---|
[AWS] AWS클라우드 에서 NAT구축하기 (0) | 2019.11.05 |
[AWS] AWS에서의 보안 구성은 어떻게 해야할까요? (2) | 2019.10.17 |
[AWS] Nitro system 이란?(AWS 5세대 인스턴스) (0) | 2019.10.16 |
[AWS] AWS에서 네트워크 설계 하는 방법(VPC, Subnet) (1) | 2019.10.04 |