AWS Site-to-Site VPN 구성 연재 3편으로, 앞서 만든 IDC 와 AWS 환경을 실제로 연결한다. AWS 콘솔에서 고객 게이트웨이·가상 프라이빗 게이트웨이·VPN 연결을 만들고, 내려받은 구성 파일을 Openswan 설정으로 옮기는 과정을 화면 단위로 따라간다.
핵심 포인트- 연결 전 상태를 먼저 확인한다. EC2 인스턴스 4대에서 서로 ping 을 날려 보면 같은 리전 안에서만 통신되는 것을 확인할 수 있다.
- 실습 구성은 IDC 역할의 오레곤 리전(cgw·server)과 AWS 역할의 도쿄 리전(bastion·server)이다.
- VPN 연결을 만든 직후에는 터널 2개가 모두 '작동 중지' 인데, 이는 IDC 쪽 Openswan 설정을 아직 안 했기 때문이다.
- 라우팅 테이블에서 '라우팅 전파' 가 기본적으로 '아니요' 라 public·private 양쪽 모두 전파를 활성화해야 한다.
- AWS 가 주는 Openswan 구성 파일은 그대로 쓸 수 없다. 수정이 필요하다.
상세 정리- 고객 게이트웨이 생성: 이름을 지정하고 라우팅은 정적으로, IP 주소에는 Openswan 을 설치할 EC2(vpntest-idc-cgw)의 주소를 넣는다.
- 가상 프라이빗 게이트웨이 생성 후 작업 메뉴에서 AWS 쪽 VPC 에 연결한다.
- 사이트 간 VPN 연결 생성: 대상 게이트웨이 유형은 가상 프라이빗 게이트웨이, 고객 게이트웨이는 앞서 만든 것, 라우팅 옵션은 정적, 정적 IP 접두사에는 IDC 쪽 VPC CIDR(10.60.0.0/16)을 넣는다. 터널 옵션은 별도 설정하지 않는다.
- 구성 다운로드: VPN 연결을 선택하고 공급업체를 Openswan 으로 골라 내려받는다. 파일에는 터널 설정이 2개 있지만 이 글에서는 1개만 연결한다.
- Openswan 설치: IDC 쪽 Public subnet 의 cgw 인스턴스에 접속해 root 권한을 얻고 설치한다.
- 네트워크 설정: `/etc/sysctl.conf` 에 필요한 내용을 추가하고 반영 명령을 실행한다.
- IPSec 설정: `/etc/ipsec.conf` 에서 해당 부분이 주석 처리돼 있지 않은지 확인하고, `/etc/ipsec.d/aws.conf` 를 만들어 내려받은 내용을 넣는다.
- 수정이 필요한 세 곳을 짚는다. `auth=esp` 라인은 삭제(또는 주석)하고, `leftsubnet` 을 IDC 의 Private CIDR(10.60.0.0/16)로, `rightsubnet` 을 AWS 의 Private CIDR(10.50.0.0/16)로 고친다.
- 비밀 키는 `/etc/ipsec.d/aws.secrets` 에 저장하며, conf 파일과 **파일 이름이 같아야 한다**는 조건이 붙는다.
- 마지막으로 IPSec 서비스를 재시작하고 정상적으로 active 됐는지 확인한 뒤, cgw EC2 의 네트워크 설정을 수정한다.
왜 읽나온프레미스와 AWS 를 VPN 으로 붙여야 하는 인프라 담당자에게, 콘솔 설정과 Openswan 쪽 수정 지점을 빠짐없이 짚어 준다.