AWS와 온프레미스(IDC) 간 네트워크 연결을 구축하기 위한 방법으로 Site-to-Site VPN이 있습니다. 특히 BGP(Border Gateway Protocol)를 활용한 Active-Active 설정을 적용하면 고가용성과 부하 분산이 가능해집니다. 이 글에서는 AWS에서 IDC와 Site-to-Site VPN을 구성하는 전 과정을 단계별로 설명합니다. 이를 통해 기업 환경에서 보다 안정적이고 효율적인 네트워크 연결을 구축할 수 있습니다.
구성 순서
- Customer Gateway(CGW) 생성
- Transit Gateway 생성
- Site-to-Site VPN 연결
- Transit Gateway attachment 생성
- Transit Gateway 라우팅 테이블 생성
- VPC Subnet에서 라우팅 생성
- VPN Tunnel 통신 확인 (+ECMP)
Customer Gateway(CGW) 생성
Site-to-Site VPN 구성을 위한 첫 번째 스텝으로 CGW를 구성합니다.
CGW는 VPN 연결을 위해 미리 IDC VPN 장비 정보를 입력하는 것 입니다.
VPC → VPN → 고객 게이트웨이(Customer Gateways) 탭으로 이동해 생성 버튼을 눌러줍니다.
CGW 이름과 IDC VPN의 IP정보를 입력하여 생성합니다.
Transit Gateway 생성
다음은 CGW와 연동하기 위한 Transit Gateway(TGW)를 생성합니다.
Site-to-Site VPN 연동 시 두 개의 터널이 생성되며 이번 실습은 두 터널을 Active-Active 구성으로 사용 할 것입니다.
그러기 위해서는 ECMP 기능을 사용해야 하기에 VGW가 아닌 TGW를 생성합니다.
TGW 생성 시 TGW이름, VPN ECMP 지원 옵션을 체크 후 생성합니다.
ASN(AS Number)은 BGP 연동 시 꼭 필요한 요소이며 미 작성 시 Default 64512로 지정됩니다.
# 옵션 설명
- ASN(Autonomous System Number, 자율 시스템 번호)
- AS(Autonomous System)는 일관된 라우팅 정책을 가지고 있는 라우터의 집단입니다.
- AS간에 연결하는데 있어서 유일한 통신규약이 BGP(Border Gateway Protocol, TCP 179)인데 이 BGP를 사용하기 위해서는 ASN을 지정해줘야 합니다. 쉽게 말해 각각의 시스템을 식별하기 위한 식별 번호라고 생각하시면 됩니다.
- 지정 가능한 ASN의 범위는 64512~65534 혹은 4200000000~4294967294 입니다.
- 지정하지 않을 경우 default ASN(64512)이 부여됩니다.
- DNS support(DNS 지원)
- 해당 옵션을 활성화하면 인스턴스의 Public IPv4 DNS가 가르키는 IP를 Public IP에서 Private IP로 전환합니다.
- 인터넷을 통해 외부로 통신하는 것이 아닌 내부로 통신하기 때문에 보안성을 향상시킬 수 있습니다.
- 해당 옵션을 사용하기 위해서는 VPC 옵션에서 DNS hostnames 옵션을 활성화 해야합니다.
- VPN ECMP support(VPN ECMP 지원)
- 해당 옵션을 활성화하면 VPN 터널 간에 ECMP(Equal Cost Multipath, 동일 비용 다중 경로) 라우팅을 지원합니다.
- 예를 들어 동일한 CIDR를 가진 2개의 VPN 터널을 통해 트래픽을 전송하려 하는 경우 트래픽을 1:1로 균등하게 분산하여 전송합니다.
- Default route table association(기본 라우팅 테이블 연결)
- 해당 옵션을 활성화하면 Transit Gateway 라우팅을 위한 기본 라우팅 테이블이 생성됩니다.
- Transit Gateway의 연결되는 attachment를 자동으로 Default route table에 연결합니다.
- Default route table propagation(기본 라우팅 테이블 전파)
- 해당 옵션을 활성화하면 association 된 대상(VPC, VPN, DX)의 IP 대역을 자동으로 Default Route Table에 전파합니다.
- VPN attachment와 함께 동적 라우팅을 사용하는 경우 VPN attachment와 연결된 라우팅 테이블의 경로가 BGP를 통해 CGW(Customer Gateway)에 전달됩니다.
- Auto accept shared attachments(공유 첨부 파일 자동 수락)
- AWS Resource Access Manager를 사용해 Transit Gateway를 다른 계정과 공유할 수 있습니다.
- 다른 계정과 Transit Gateway를 공유하기 위해 공유를 요청한 경우 해당 옵션을 활성화하면 별도의 수락을 하지 않아도 자동으로 수락됩니다.
- Transit Gateway CIDR Block(선택 사항)
- 지정한 CIDR의 범위에 해당되는 VPC만 Transit Gateway와 연결할 수 있습니다.
- 169.254.0.0/16 과 온프레미스 네트워크와 겹치는 CIDR는 지정할 수 없습니다.
+ Default route table association, propagation을 비활성화 하고 TGW를 생성할 경우, default route table은 생기지 않습니다.
+ 1개의 Attachment는 1개의 route table과 매핑됩니다. 1개의 Attachment는 여러개의 route table을 가질 수 없습니다.
+ 1개의 transit gateway는 여러 개의 route table을 가질 수 있습니다.
+ propagations를 활성화 하면 routes에 propagations에 지정한 VPC의 CIDR이 자동으로 등록됩니다.
TGW 생성이 완료되었습니다.
TGW 생성이 완료되었습니다.
TGW 상세 내용
Site-to-Site VPN 연결
Site-to-Site VPN은 사전에 생성한 CGW↔VGW/TGW의 리소스로 실질적인 IPsecVPN Tunnel 구성을 진행합니다.
하나의 연결 당 2개의 터널이 생성되며 IPsecVPN Tunnel 연결 절차에 따라 CGW↔VGW/TGW 간 Phase1(IKE), Phase2(IPsec) 협상 절차를 거친 후 BGP Peering을 연결하게 됩니다.
터널 협상은 서로 가지고 있는 Public IP를 사용하지만 BGP는 터널 내부 IP인 169.254.x.x/30를 이용해 Peering을 맺습니다.
생성한 CGW와 TGW의 터널링 연동을 위해 Site-to-Site VPN을 생성합니다.
아래 정보를 입력하여 VPN 연결을 생성합니다.
- 이름 : [Name] 정보 입력
- 대상 게이트웨이 유형 : Transit Gateway
- 고객 게이트웨이 : 기존 생성 연결
- 라우팅 옵션 : 동적 - Dynamic(BGP)
여기서 라우팅을 동적으로 생성하는 이유는 VPN 터널을 Active-Active로 구성하기 위해서는 TGW:ECMP 기능이 필요합니다. 그러나 TGW:ECMP 기능은 Dynamic Routing VPN에서만 지원하기 때문입니다.
VPN 연결을 생성했다면 Pending 상태에서 몇분 후 Available 상태로 변하는 것을 볼 수 있습니다.
구성 다운로드 버튼 클릭 후 CGW 벤더 사에 맞는 컨피그를 다운로드 하면 VPN 연동에 필요한 설정 정보를 받을 수 있습니다.
컨피그 파일 다운 시 해당 벤더사에서 설정할 수 있도록 컨피그가 작성되어 있습니다.
대부분의 컨피그는 그대로 적용하면 되지만 포트 번호 등 일부 설정은 환경에 맞게 변경이 필요하니 확인하면서 적용합니다.
다음 포스팅으로 이어집니다~!!
https://chan-it-note.tistory.com/169
'AWS' 카테고리의 다른 글
[AWS] IDC/AWS Site-to-Site VPN 구성하기 (with BGP, Active-Active) (2) (0) | 2025.03.10 |
---|---|
[AWS][EC2] 클라우드 컴퓨팅으로 게임하기 (2) | 2024.02.22 |
[AWS][VPC] Traffic Mirroring으로 패킷 확인하기 (0) | 2024.01.25 |
[AWS][CloudWatch] 데이터 전송량 → Bps단위로 변환해서 네트워크 모니터링 하기 (0) | 2024.01.05 |
[AWS] CloudTrail을 이용해 Console 엑세스 로그 확인하기 (0) | 2024.01.05 |