고기 대신 SW 한점/Public Cloud

AWS Site to Site VPN 연결해 보기

지식한점 2023. 6. 28. 12:21
반응형

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 엔드포인트

 

  • 전송 게이트웨이(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 범위가 서로 중복되면 안됨.

 

  1. 단일 가상 프라이빗 게이트웨이를 생성
  2. 각각 게이트웨이의 퍼블릭IP를 사용하여 여러 고객 게이트웨이를 생성
  3. 각 고객 게이트웨이에서 공통 가상프라이빗게이트웨이로 동적으로 라우팅된 Site-to-Site VPN 연결을 생성
  4. 사이트에 특정한 접두사 (예: 10.0.0.0/24, 10.0.1.0/24)를 가상 프라이빗 게이트웨이에 알리도록 고객 게이트웨이 디바이스를 구성
  5. 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 환경 생성

  1. VPC 생성 : cidr - 10.10.20.0/24
  2. ec2 생성 - private subnet에 연결
  3. 고객 게이트웨이 생성 - 온프레미스 환경의 elastic ip 입력 (터너링을 설정을 위한 것이므로 반드시 public ip를 넣어주어야 한다.
  4. transit gateway 생성
  5. site to site vpn 설정
    1. 위에서 생성한 고객게이트 웨이 id
    2. 위에서 생성한 transit gateway id
    3. global Acceleration 여부
  6. 위 설정이 끝나면 다음과 같이 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를 붙이고 라우팅 설정을 진행하면 전체적인 설정이 완료.

보안그룹도 한번 살펴봄.

  1. onprem vpc -> public subnet의 가상 ec2 -> private subet
  2. private subet -> 모든 트랙픽이 가상 onprem ec2로 향하도록

aws측

모든 트래픽이 트랜짓 게이트웨이로 향하도록

트랜짓게이트웨이 라우팅 설정을 적당히 진행

반응형