일반적으로 AWS 운영을 할 때는 기타 여러 다른 요건으로 인해 각 서비스별로 VPC을 구분하고 이를 연결하여 많이 사용한다.
Why? VPC를 분리하면, 무분별한 인스턴스간의 통신을 제어할 수 있고 이를 모니터링하기가 쉽다고 한다.(아마도..)
그렇다면, 서로 다른 VPC끼리는 통신이 불가능한것인가?
결론부터 말하면 그렇지 않다! 기본적으로는 통신이 불가능한 구조이나 VPC Peering 또는 TransitGateway 서비를 이용하면
각 VPC 끼리 통신이 가능하다.
VPC Peering 란?
VPC Peering은 Privacy IPv4 or IPv6의 주소를 사용하는 서로 다른 VPC간에 트래픽을 라우팅해주는 VPC 네트워크 연결이다.
다른 VPC에 위치하고 있는 Instance간 통신을 하기 위해서 많이 사용하며, 자체 VPC 또는 다른 Account의 VPC와 연결할 수 있다.
위 그림은 2개의 VPC에 대해 VPC Peering했을 떄의 구성도이다. 그렇다면 VPC가 많이지면 어떻게 될까?
VPC Peering은 Mesh 형태로 연결하기 때문에 VPC가 많아지면 많아질수록 복잡한 구조이고,
각 VPC에서는 연결할 VPC에 대한 설정을 모두 해줘야하는 불편함이 따른다.
Transit Gateway란?
Transit Gateway도 결과적으로 하는 역할은 VPC Peering과 동일하다. 여러 VPC Pair를 연결하는 기능을 한다.
다만, 기존의 VPC Peering의 문제점으로 대두되었던, 지점간 연결 정책을 중앙에서 관리할 수 있는 장점이 있다.
위는 Transit Gateway의 기본 개념도이다. VPC Peering과 비교해보면 구성도가 매우 간단해짐을 알 수 있다.
Transit Gateway는 온프로미스 네트워크 환경에서 약간의 B/B의 역할을 한다고 볼 수 있다.
VPC 통신을 위해 기본 Gateway가 Transit Gateway가 되고, 해당 Gateway에서 각 IP에 대한 라우팅을 처리한다.
VPC Peering 과 Transit Gateway는 각 VPC 또는 서로 다른 AWS Account간의 VPC를 연결한다는 공통점이 있으나,
그 외 대역폭/최대 구성 가능 개수/요금 등의 차이점이 존재한다.
Transit Gateway 설정 방법
Transit Gateway를 설정하는 방법은 아래와 같이 매우매우 간단하다.
Transit Gateway를 생성한 다음에 내가 연결한 VPC만 지정해주면 된다.
그리고 각 VPC에서는 특정 IP 또는 최하단의 기본 라우팅을 Transit Gateway로 지정하면 된다.
VPC Peering과 Transit Gateway의 공통점
두 서비스 모두 서로 다른 VPC를 연결한다는 공통의 목표를 가지고 만들어진 서비스이다.
구분 | VPC Peering | Transit Gateway | 비고 |
역할 | 서로 다른 VPC를 연결 또는 서로 다른 Account를 연결 |
서로 다른 VPC를 연결 또는 서로 다른 Account를 연결 |
동일 기능을 함 |
VPC Peering과 Transit Gateway의 차이점
구분 | VPC Peering | Transit Gateway | 비고 |
대역폭 | 제한 없음 | 50Gbps | VPC 모든 통신은 암호화 됨 |
최대 구성 가능 개수 | 125개 - Mesh 구조 - VPC n개당 n(n-1)/2개의 VPC Peering 필요 |
5,000개 | 대규모 통신은 Transit Gateway 고려 |
VPC 연결 비용 | 없음 | 0.07$/1h | |
VPC 데이터 송신 비용 | 0.02$/1GB(송/수신 각 0.01$) | 0.02$/1GB(송신 비용만 측정) | |
VPN 연결 비용 | 0.05$/1h | 0.05$/1h | |
VPN 데이터 송신 비용 | 0.126$/GB | 0.126$/GB |
정리하자면,
Transit Gateway를 사용하는것이 구조적이나 관리적인 측면에서 용이하다.
하지만, VPC Peering을 사용하는 것보다 비용이 더 많이 들기 때문에, 대폭폭에 제한이 있거나 소수의 VPC를 운영하는 경우에는 VPC Peering을 사용하는 것이 더 용이할 때도 있다.
얼핏보면 Transit Gateway가 VPC Peering의 상위버전의 서비스처럼 보이긴하나, 환경 그리고 비용에 따라 선택을 하면 된다.
또한, 보안적인 측면에서는 과연 모든 VPC를 다 Transit Gateway에 연결하는게 맞을지하는 의문점이 생기기도 한다.
'기술 이모저모 > [AWS] Workshop' 카테고리의 다른 글
[AWS] Traffic은 어떻게 통제해야 할까? (0) | 2022.08.18 |
---|---|
[AWS][Macie] S3 Bucket 주민등록번호 찾기 (0) | 2022.07.08 |
[AWS][SNS] Cloudwatch 경보 Slack 연동[2/2] (0) | 2022.05.06 |
[AWS][SNS] Cloudwatch 경보 Slack 연동[1/2] (0) | 2022.05.06 |
[AWS][WAF] WEB SERVER WAF 설정 (0) | 2022.05.02 |