1. 개요
Public Cloud에서 가장 많이 사용되고 있는 AWS와 Azure간의 Site to Site VPN 연동 예제이며, Transit Gateway를 통해 진행하겠다.
- AWS
- Site to Site VPN
- Transit Gateway
- Customer Gateway
- Resource Access Manager
- Azure
- Virtual Network Gateway : Azure측 VPN 장비
- Local Network Gateway : AWS의 CGW와 동일한 개념
- Connection : Virtual Network Gateway와 Local Network Gateway를 연결하는 리소스
2. 아키텍처
- AWS
- VPC : 10.0.0.0/16
- Subnet : 10.0.0.0/24
- EC2
- Azure
- Virtual Network : 10.2.0.0/16
- Region : South Central US
- Subnet : 10.2.0.0/24
- VM
- AWS와 Azure 간의 VPN 연결을 하기 위해서는 각 Cloud에서 서로의 VPN 장비 공인 IP를 알고 있어야 한다.
- Azure에서는 Virtual Network Gateway 생성 시 Public IP 1개 생성되며, AWS에서는 Site to Site VPN 생성 시 2개의 Tunnel에서 각각의 Tunnel Endpoint가 생성됨
전체 과정 요약
1. [Azure] Virtual Network Gateway 생성
Azure측 VPN 장비이며, 생성까지 대략 20분 ~ 30분 소요
Public IP가 1개 생성되며, AWS측 CGW에 기입
2. [AWS] Customer Gateway, Transit Gateway 생성
3. [AWS] Site to Site VPN 생성
기 생성한 CGW, TGW 입력, Pre-SharedKey 입력
4. [Azure] Local Network Gateway 생성
AWS Site to Site VPN에서 2개 Tunnel 중 활성화하고자 하는 Tunnel의 Endpoint 기입
5. [Azure] Connection 배포
Local Network Gateway – Virtual Network Gateway 연결 작업
6. [AWS – Azure] 테스트
7. 타 계정 VPC에서 Azure VM과의 VPN 통신 테스트
3. 연동 과정
1. [Azure] Virtual Network Gateway 생성
A. ‘Create a resource’ 클릭
B. ‘virtual network gateway’ 입력 후 클릭
A. Virtual network gateway 생성
Region, SKU, Virtual Network, Public IP Address name 등은 사용자가 지정하여 설정,
VPN Type이랑 Gateway Type은 Route-based, VPN 으로 설정해주었다.
배포 완료까지 대략 약 20 ~ 30분 소요되며, 최대 45분까지 걸립니다.
2. Customer Gateway, Transit Gateway 생성
A. Customer Gateway : Azure측의 VPN 장비가 어느 Public IP를 가지고 있는지 명세
B. Transit Gateway : VPC, VPN 간의 라우팅해주는 중앙 관리형 Hub
* TGW 대신 Virtual Private Gateway(VGW)를 사용해도 무방합니다.
- TGW 생성
- TGW Attachment (해당 계정 VPC와 연결)
3. Site to Site VPN 생성
A. Create VPN Connection
기 생성한 Transit Gateway와 Customer Gateway를 선택해주고, Routing Options으로는 Static을 체크해준다. 또한 Pre Shared Key의 경우 HelloWorld라고 기입해주었다. (추후 Azure 쪽에서 설정할 때 필요하며, 만약 아래와 같이 별도로 지정하지 않았다면 Configuration 파일 다운로드하여 확인할 수 있다.)
Tunnel Endpoint를 기입해두자. (Outside IP Address)
=> Azure Local network gateway를 설정할 때 필요함
4. Local Network Gateway 생성
=> IP Address는 AWS Site to Site VPN 터널의 Endpoint 주소 기입하고, Address Sapce는 AWS VPC CIDR 대역을 입력해주면 된다.
생성까지 1~2분 소요된다.
5. Connection 배포
Site to Site (IPSec)으로 커넥션 타입 변경
기 생성해 두었던 Virtual Network Gateway와 Local network gateway를 연결해준다.
PSK는 AWS Site to Site VPN 신규 생성 때 만든 Pre-Shared Key를 입력해준다.
Connection 생성까지 대략 1분 가량 소요되며, 최초 Connection 생성 시 Status가 Unknown이지만 약 3~5분 정도가 지난 후 연결되면 Status가 Connected로 표시된다.
AWS쪽 Site to Site VPN 터널 또한 Status : UP으로 변경된 것을 확인할 수 있다.
6. AWS – Azure 테스트
1) 라우트 설정
2) TGW Static 라우트 설정
CIDR : 10.2.0.0/16 (Azure CIDR 대역, Subnet CIDR로 설정하여도 무방하다.)
Attachment : 기 생성한 VPN
Azure VM -> AWS EC2
Azure VM에 대해서만 ICMP 오픈하였으며, Ping 테스트 잘 성공하였다.
AWS EC2 -> Azure VM
7. TGW로 연결된 다른 VPC에서의 VPN을 통한 Azure VM과의 통신
각 계정의 VPC에 대해 Transit Gateway를 연결해주면 서로 통신이 가능하며, 이를 통한 타 계정에서의 VPN 통신 또한 가능하다.
다른 계정의 두 VPC를 우선 연결해야 하며, AWS의 Resource Access Manager를 사용하여 TGW를 공유 가능
A. 계정 A의 [Resource Access Manager] -> [리소스 공유] -> [리소스 공유 생성]에서 기 생성한 Transit Gateway를 공유
B. B 계정의 Account ID 입력 후 추가
C. 공유된 리소스 확인
D. B 계정에서의 설정 작업
1) Transit Gateway Attachment
2) 공유 리소스
3) 라우트 테이블
E. 접속 테스트
1) B 계정 VPC EC2 -> Azure VM
2) Azure VM -> B 계정 VPC 내의 EC2
local network gateway -> configuration 탭에서 Address Space에 B 계정의 CIDR 대역 추가
'AWS' 카테고리의 다른 글
[AWS] IAM Policy JSON 알아보기 (0) | 2021.07.24 |
---|---|
[AWS] Root Volume을 다른 EC2 Instance에 붙이기 (2) | 2021.07.21 |
[AWS] Amazon EC2 Instance 유형 알아보기 (1) | 2021.06.05 |
[WEB, WAS] 앞단에 ALB가 있을 때 Apache, Tomcat의 Log에서 Client IP 노출 설정 (1) | 2021.05.29 |
[AWS] CloudFront Behavior을 통한 S3, ELB 연동 실습 (0) | 2021.05.25 |