AWS Site to Site VPN란?
AWS Site-To-Site VPN은 IPsec VPN 서비스입니다. 운영환경에 이용하기 적합하지는 않지만, 이를 이용하면 온프렘과 네트워크를 연결하고 테스트 환경을 쉽게 구축 할 수 있습니다. 아래와 같이 가상의 온프렘을 AWS VPC와 EC2를 이용해 구축하고, TransitGateway를 통해 VPN과 연결합니다. 기본적으로 Amazon VPC에서 시작하는 인스턴스는 원격 네트워크와 통신할 수 없습니다.
AWS Site-to-site VPN 연결을 통해 트래픽을 전달하도록 라우팅을 구성하여 VPC에서 원격 네트워크에 대한 액세스를 활성화 할 수 있습니다.
1. 개념
- VPN 연결 : 온프레미스 장비와 VPC간의 보안 연결
- VPN 터널 : 데이터가 고객 네트워크에서 AWS와 주고받을 수 있는 암호화된 링크
(각 VPN연결에는 고가용성을 위해 동시에 사용할 수 있는 두개의 VPN터널이 포함) - 고객 게이트웨이 : 고객 게이트웨이 디바이스에 대한 정보를 AWS에 제공하는 AWS 리소스
- 고객 게이트웨이 디바이스 : Site-to-Site VPN 연결을 위해 고객 측에 설치된 물리적 디바이스 또는 소프트웨어 애플리케이션
- 대상 게이트웨이(Target Gateway) : 사이트간 VPN연결의 Amazon측 VPN 엔드포인트
- 가상 프라이빗 게이트웨이 (Virtual Private Gateway)
단일 VPC에 연결할 수 있는 사이트 간 VPN 연결의 Amazon 측 VPN 엔드포인트
- 가상 프라이빗 게이트웨이 (Virtual Private Gateway)
- 전송 게이트웨이(Transit Gateway)
사이트간 VPN 연결의 Amazon 측 VPN 엔드포인트 → 여러 VPC와 온프레미스네트워크를 상호 연결하는데 사용될 수 있는 전송 허브
2. Site-to-site VPN 제한 사항
- 가상 프라이빗 게이트웨이 (Virtual Private Gateway)의 VPN 연결에는 IPv6 지원이 안됨.
- AWS VPN 연결은 경로 MTU 검색을 지원하지 않음.
- VPC를 공통 온프레미스 네트워크에 연결하는 경우 네트워크에 겹치지 않는 CIDR 블록을 사용
3. 단일 및 다중 연결 예
3.1 단일 Site-to-Site VPN 연결
- VPC에는 가상 프라이빗 게이트웨이가 연결
- 온프레미스(원격) 네트워크에는 고객 게이트웨이 디바이스가 존재
- 네트워크로 바인딩되는 VPC의 모든 트래픽이 가상 프라이빗 게이트웨이로 라우팅되도록 라우팅을 설정
3.2 전송 게이트웨이(Transit Gateway)를 통한 단일 Site-to-Site VPN 연결
- VPC에는 전송 게이트웨이(Transit Gateway)가 연결
- 온프레미스(원격) 네트워크에는 고객 게이트웨이 디바이스가 존재
- 네트워크로 바인딩되는 VPC의 모든 트래픽이 가상 프라이빗 게이트웨이로 라우팅되도록 라우팅을 설정
3.3 다중 Site-to-Site VPN 연결
- VPC에는 가상 프라이빗 게이트웨이가 연결
- 여러 온프레미스 위치에 여러 Site-to-Site VPN 연결
- 네트워크로 바인딩되는 VPC의 모든 트래픽이 가상 프라이빗 게이트웨이로 라우팅되도록 라우팅을 설정
3.4 전송 게이트웨이(Transit Gateway)를 통한 다중 Site-to-Site 연결
- VPC에는 전송 게이트웨이가 연결
- 여러 온프레미스 위치에 여러 Site-to-Site VPN 연결
- 네트워크로 바인딩되는 VPC의 모든 트래픽이 가상 프라이빗 게이트웨이로 라우팅되도록 라우팅을 설정
3.5 AWS Direct Connect로 Site-to-Site VPN 연결
- VPC에는 가상 프라이빗 게이트웨이가 연결
- AWS Direct Connect를 통해 온프레이스 네트워크에 연결
- 가상 프라이빗 게이트웨이를 통해 네트워크와 퍼블릭 AWS 리소스 간에 전용 네트워크 연결 설정
- 네트워크에 바인딩되는 VPC의 모든 트래픽이 가상 프라이빗 게이트웨이로 라우팅되도록 라우팅을 설정
3.6 AWS Direct Connect로 프라이빗 IP Site-to-Site VPN 연결
- 프라이빗 IP Site-to-Site VPN을 통해, 퍼블릭 IP 주소를 사용하지 않고 온프레미스 네트워크와 AWS 간의 AWS Direct Connect 트래픽을 암호화할 수 있습니다. AWS Direct Connect를 통한 프라이빗 IP VPN을 사용하면 AWS와 온프레미스 네트워크 간의 트래픽이 프라이빗 연결로 안전하게 제공되므로 고객이 규제 및 보안 규정을 준수할 수 있습니다.
4. AWS VPN CloudHub
- 다수의 AWS Site-to-Site VPN 연결을 사용하는 경우 AWS VPN CloudHub로 사이트 간에 보안 통신을 제공
- 이를 통해 원격 사이트가 VPC 뿐만 아니라 사이트간 서로 통신할 수 있음.
- 여러 지사가 있고 기존 인터넷 연결을 사용하는 사용자가 원격 지사간에 기본 또는 백업 연결을 구현하고자 할 때 적합.
- 각 사이트의 IP 범위가 서로 중복되면 안됨.
- 단일 가상 프라이빗 게이트웨이를 생성
- 각각 게이트웨이의 퍼블릭IP를 사용하여 여러 고객 게이트웨이를 생성
- 각 고객 게이트웨이에서 공통 가상프라이빗게이트웨이로 동적으로 라우팅된 Site-to-Site VPN 연결을 생성
- 사이트에 특정한 접두사 (예: 10.0.0.0/24, 10.0.1.0/24)를 가상 프라이빗 게이트웨이에 알리도록 고객 게이트웨이 디바이스를 구성
- VPC의 인스턴스가 사이트와 통신할 수 있도록 서브넷 라우팅 테이블의 경로를 구성
가상 on-prem 생성
1. VPC 생성 : cidr - 10.10.10.0/24
2. ec2 생성 : Amazon linux 2 로 생성
3. elastic ip 붙임(옵션)
4. strongswan 설치
5. 이후 strongswan 설정은 aws 측 설정파일을 바탕으로 진행해야 하므로 aws 환경설정을 먼저 진행해야 한다.
예>
AWS 환경 생성
- VPC 생성 : cidr - 10.10.20.0/24
- ec2 생성 - private subnet에 연결
- 고객 게이트웨이 생성 - 온프레미스 환경의 elastic ip 입력 (터너링을 설정을 위한 것이므로 반드시 public ip를 넣어주어야 한다.
- transit gateway 생성
- site to site vpn 설정
- 위에서 생성한 고객게이트 웨이 id
- 위에서 생성한 transit gateway id
- global Acceleration 여부
- 위 설정이 끝나면 다음과 같이 aws 측 터널링을 위한 ip를 할당 받을수 있음.
터널을 위한 ip 2개와 PSK 설정이 필요하므로 site to site vpn 탭에서 download configraion을 클릭.
7. download 버튼을 클릭하여 설정파일을 다운.
on-prem 환경설정 진행
다시 on-prem ec2 환경으로 들어와서 strongswan 설정을 마무리.
1. 터널링 ip 입력(2개)
2. PSK 입력
3. systemctl restart strongswan
터널링 연결 확인
이런식으로 status 가 UP이 되어야 함.
마지막으로 transit gateway에 vpc를 붙이고 라우팅 설정을 진행하면 전체적인 설정이 완료.
보안그룹도 한번 살펴봄.
- onprem vpc -> public subnet의 가상 ec2 -> private subet
- private subet -> 모든 트랙픽이 가상 onprem ec2로 향하도록
aws측
모든 트래픽이 트랜짓 게이트웨이로 향하도록
트랜짓게이트웨이 라우팅 설정을 적당히 진행
'고기 대신 SW 한점 > Public Cloud' 카테고리의 다른 글
Kubernets 구조, Yaml file 이해하기 (0) | 2023.08.04 |
---|---|
AWS CloudFront 뽀개기 (0) | 2023.06.27 |
Kafka,카푸카 알아보기 (0) | 2023.04.26 |
AWS Secrets Manager 사용하기 (0) | 2023.03.08 |
Glue, Athena를 활용한 Data 정합성 구성 (0) | 2023.03.07 |