2026-04-08 VPN 팔로알토 AWS 네트워크 보안

팔로알토와 AWS간 VPN 설정

팔로알토 방화벽과 AWS Site-to-Site VPN을 연동하는 방법을 단계별로 정리했습니다. 정적 라우팅과 BGP 동적 라우팅을 모두 다룹니다.

개요

AWS Site-to-Site VPN은 온프레미스 환경과 AWS VPC를 IPSec 터널로 연결하는 관리형 서비스입니다. 이번 포스트에서는 팔로알토(Palo Alto) 방화벽을 고객 게이트웨이(Customer Gateway)로 사용해 AWS와 VPN을 구성하는 전 과정을 설명합니다. 라우팅 방식은 정적 라우팅BGP 동적 라우팅 두 가지를 모두 다룹니다.

AWS는 터널 오버헤드가 적고 헬스체크 기능이 강화된 IKEv2 사용을 권장합니다.

아키텍처

AWS Site-to-Site VPN은 터널을 두 개 제공해 고가용성을 보장합니다. 팔로알토는 두 터널 각각에 IKE 게이트웨이와 IPSec 터널 인터페이스를 생성해 연결합니다.

  • 가상 프라이빗 게이트웨이(VGW) 또는 Transit Gateway(TGW) — AWS 측 VPN 엔드포인트
  • 고객 게이트웨이(CGW) — 팔로알토 방화벽의 공인 IP와 ASN을 등록
  • 터널 인터페이스 — 링크로컬 대역(169.254.0.0/16)의 /30 블록 사용
팔로알토-AWS VPN 아키텍처 개요

온프레미스 팔로알토 방화벽 → VPN 터널 → AWS Transit Gateway → VPC

1단계 — AWS 측 구성

고객 게이트웨이(CGW) 생성

  1. AWS 콘솔 → VPC > 고객 게이트웨이고객 게이트웨이 생성
  2. 라우팅: 동적(BGP) 또는 정적 선택
  3. BGP ASN: 팔로알토에서 사용할 ASN 입력 (예: 65512)
  4. IP 주소: 팔로알토 방화벽의 공인 IP 입력
AWS 고객 게이트웨이 생성 화면

고객 게이트웨이 생성 — 이름, BGP ASN, 방화벽 공인 IP 입력

가상 프라이빗 게이트웨이(VGW) 생성 및 연결

  1. VPC > 가상 프라이빗 게이트웨이가상 프라이빗 게이트웨이 생성
  2. 생성 후 해당 VGW를 VPC에 연결(Attach)

Site-to-Site VPN 연결 생성

  1. VPC > Site-to-Site VPN 연결VPN 연결 생성
  2. 대상 게이트웨이: VGW 또는 Transit Gateway 선택
  3. 고객 게이트웨이: 위에서 생성한 CGW 선택
  4. 라우팅 옵션: 정적(온프레미스 CIDR 입력) 또는 동적(BGP) 선택
  5. 터널 IP는 자동 할당하거나 169.254.x.x/30 대역에서 직접 지정 가능
AWS VPN 연결 생성 화면

VPN 연결 생성 — Transit Gateway 선택, Dynamic(BGP) 라우팅 옵션

생성 완료 후 구성 다운로드 → 벤더: Palo Alto Networks, 플랫폼: PAN-OS 선택. 이 파일에 사전 공유 키(PSK), 터널 IP, BGP 피어 IP 등 모든 값이 포함되어 있습니다.

VPN 연결 생성 직후 터널 상태는 Down으로 표시됩니다. 팔로알토 설정을 완료해야 Up으로 전환됩니다.

2단계 — 팔로알토 구성

IKE 암호화 프로파일

Network > Network Profiles > IKE Crypto에서 새 프로파일 생성:

  • DH 그룹: group19, group20, group21 중 선택
  • 암호화(Encryption): aes-128-gcm 또는 aes-256-gcm
  • 인증(Authentication): sha384 또는 sha512
  • 수명(Lifetime): 1일
팔로알토 IKE Crypto Profile 설정

IKE Crypto Profile — DH Group, 암호화 알고리즘, 수명 설정

IPSec 암호화 프로파일

Network > Network Profiles > IPSec Crypto에서 새 프로파일 생성:

  • IPSec 프로토콜: ESP
  • 암호화: aes-128-gcm 또는 aes-256-gcm
  • 인증: none (GCM 사용 시) 또는 sha384
  • DH 그룹: group20
  • 수명: 1시간
팔로알토 IPSec Crypto Profile 설정

IPSec Crypto Profile — ESP, 암호화 알고리즘, DH Group, 수명 설정

터널 존(Zone) 생성

  1. Network > Zones → 새 존 생성, 이름 예: VPN, 유형: Layer3
  2. Zone Protection Profile은 Strict IP Address Check를 비활성화하거나 프로파일을 연결하지 않습니다.
터널 IP 대역인 169.254.0.0/16은 링크로컬 주소입니다. Strict IP 체크가 활성화되어 있으면 PBF(정책 기반 전달)가 동작하지 않습니다.

터널 인터페이스 생성

터널 두 개(AWS 터널1, 터널2)에 각각 인터페이스를 생성합니다.

Network > Interfaces > Tunnel → 추가:

  • 가상 라우터: default
  • 보안 존: VPN
  • IPv4 주소: AWS 구성 파일의 Customer Gateway Tunnel IP 입력 (예: 169.254.0.6/30)
  • MTU: 1427
팔로알토 터널 인터페이스 설정

터널 인터페이스 — 가상 라우터 및 보안 존 할당

IKE 게이트웨이 생성

터널 두 개 각각에 IKE 게이트웨이를 생성합니다. Network > Network Profiles > IKE Gateways:

  • 버전(Version): IKEv2 only mode
  • 인터페이스: 팔로알토 외부(공인) 인터페이스 (예: ethernet1/1)
  • 피어 IP 주소: AWS 구성 파일의 Virtual Private Gateway Tunnel Outside IP
  • 인증: Pre-Shared Key → AWS 구성 파일의 PSK 입력
  • IKE 암호화 프로파일: 위에서 생성한 프로파일 선택
  • 고급(Advanced Options): NAT Traversal 활성화
팔로알토 IKE 게이트웨이 설정

IKE Gateway — IKEv2 only, Pre-Shared Key 인증, AWS 터널 피어 IP 입력

IPSec 터널 생성

Network > IPSec Tunnels에서 터널 두 개 생성:

  • 터널 인터페이스: tunnel.1 / tunnel.2
  • IKE 게이트웨이: 위에서 생성한 IKE 게이트웨이 선택
  • IPSec 암호화 프로파일: 위에서 생성한 프로파일 선택
팔로알토 IPSec 터널 설정

IPSec Tunnel — 터널 인터페이스, IKE 게이트웨이, IPSec Crypto Profile 연결

3단계 — 라우팅 설정

정적 라우팅 + 터널 모니터링(Failover)

정적 라우팅 사용 시 PBF(Policy-Based Forwarding)로 터널 페일오버를 구현합니다.

터널 모니터 프로파일 생성 (Network > Monitor Profiles):

  • 인터벌: 2
  • 임계값: 5회 (10초 후 페일오버)

PBF 규칙 생성 (Policies > Policy Based Forwarding) — 상위 규칙부터 순서대로 평가됩니다:

  • 규칙1 — 소스: 온프레미스 서브넷, 목적지: AWS VPC CIDR, 액션: tunnel.1로 전달, 넥스트홉: AWS 터널1 IP, 모니터 프로파일 연결
  • 규칙2 — 소스: 온프레미스 서브넷, 목적지: AWS VPC CIDR, 액션: tunnel.2로 전달, 넥스트홉: AWS 터널2 IP, 모니터 프로파일 연결

BGP 동적 라우팅

Network > Virtual Routers > [라우터 선택] > BGP 탭:

  1. BGP 활성화
  2. AS 번호: 65512 (CGW 생성 시 입력한 값과 동일)
  3. 라우터 ID: 루프백 IP 또는 외부 인터페이스 IP 입력

재분배 프로파일 (Redistribution Profile) 생성 — 온프레미스 경로를 BGP로 광고하기 위해:

  • 프로토콜: Connected
  • 서브넷: 온프레미스 CIDR (예: 10.10.0.0/24)

BGP 피어 그룹 (AmazonBGP) — 터널 두 개에 각각 피어 추가:

  • 유형: EBGP
  • 피어 주소: AWS 구성 파일의 Virtual Private Gateway BGP IP
  • 로컬 주소: 터널 인터페이스 IP (예: 169.254.0.6)
  • 원격 AS: 64512 (AWS 기본 ASN)
  • Keep Alive: 10초 / Hold Time: 30
팔로알토 BGP 피어 그룹 설정

BGP Peer Group — EBGP 유형, AmazonBGP 그룹명, 피어 추가

Transit Gateway를 사용하고 ECMP를 활성화하면 두 터널에 트래픽을 분산할 수 있습니다. TGW에서 VPN ECMP support를 활성화하고 팔로알토 BGP 설정에서도 ECMP를 켜주세요.

4단계 — 보안 정책

Policies > Security에서 아래 규칙을 추가합니다:

  • 온프레미스 → AWS: 소스 존 Trust, 목적지 존 VPN, 애플리케이션 any, 액션 허용
  • AWS → 온프레미스: 소스 존 VPN, 목적지 존 Trust, 애플리케이션 any, 액션 허용
  • BGP: 터널 인터페이스 간 BGP 트래픽 허용 규칙 별도 추가
팔로알토 보안 정책 설정

Security Policy — IPv4, BGP, VPN 트래픽 허용 규칙

설정 완료 후 Commit.

5단계 — 연결 확인

AWS 콘솔: Site-to-Site VPN 연결 → 터널 상태가 Up으로 전환되는지 확인

팔로알토 IPSec 터널 상태 및 BGP 라우팅 확인

IPSec 터널 상태 및 BGP 라우팅 테이블 확인

팔로알토 CLI에서 아래 명령으로 검증합니다:

# IPSec 터널 상태 확인
show running ipsec

# BGP 피어 상태 확인
show routing protocol bgp peer

# BGP 수신 경로 확인
show routing protocol bgp rib

# 라우팅 테이블 확인
show routing route

# 핑 테스트 (온프레미스 → AWS EC2)
ping host 10.200.10.x

주요 트러블슈팅

  • 터널이 Up이 되지 않는 경우: PSK 값, 피어 IP, IKE/IPSec 프로파일의 암호화 알고리즘이 AWS 구성 파일과 일치하는지 확인
  • PBF가 동작하지 않는 경우: VPN 존의 Zone Protection Profile에서 Strict IP Address Check가 비활성화되어 있는지 확인. 169.254.x.x 링크로컬 주소가 차단될 수 있음
  • BGP 피어가 Established되지 않는 경우: 터널 인터페이스 IP, AS 번호, 피어 IP가 AWS 구성 파일과 일치하는지 확인
  • MTU 관련 패킷 손실: 터널 인터페이스 MTU를 1427로 설정했는지 확인

비용 참고

  • VPN 연결: 약 $0.05/시간 (연결당)
  • 데이터 전송: AWS 표준 아웃바운드 요금 적용

참고 자료