내용으로 건너뛰기

GCP와 AWS 간 VPN 연결에 문제가 있어 문의

0

안녕하세요,

GCP와 AWS 간 VPN 연결에 문제가 있어 문의드립니다.

[문제 증상]

  • VPN 터널 상태: ESTABLISHED (2개 터널 모두)
  • 하지만 AWS에서 GCP로의 데이터 통신이 되지 않음
  • ICMP (ping) 및 TCP 연결 모두 실패

[환경 정보]

  • Project ID: alphacar-483502
  • Network: apc-gke-network
  • VPN Gateway: apc-aws-vpn-gateway
  • VPN Tunnel 1: apc-aws-vpn-tunnel1 (asia-northeast3)
  • VPN Tunnel 2: apc-aws-vpn-tunnel2 (asia-northeast3)
  • Peer IP (AWS): 15.164.82.184, 15.164.192.208
  • Source IP (AWS): 10.10.0.33
  • Destination IP (GCP): 172.20.8.2 (apc-mongodb-primary-new)

[라우팅 설정]

  • AWS → GCP: 10.10.0.0/16 → VPN 터널 (우선순위 1000)
  • GCP 내부: 172.20.8.0/22 → 로컬 네트워크 (기본 라우팅)

[방화벽 규칙]

  • test-allow-all-from-aws-no-tags: 10.10.0.0/16에서 모든 트래픽 허용 (우선순위 50)
  • allow-aws-icmp: 10.10.0.0/16에서 ICMP 허용 (우선순위 999)
  • allow-aws-vpc-traffic: 10.10.0.0/16에서 모든 트래픽 허용 (우선순위 1000)

[확인한 사항]

  1. VPN 터널 상태: ESTABLISHED (상세 상태: "Tunnel is up and running")
  2. IKE 버전: 2
  3. 트래픽 셀렉터: 0.0.0.0/0 (양방향)
  4. 라우팅: AWS로 가는 경로는 정상 설정됨
  5. 방화벽: AWS에서 오는 트래픽 허용 규칙 확인
  6. 대상 인스턴스: apc-mongodb-primary-new (172.20.8.2) 실행 중

[테스트 결과]

  • AWS에서 ping 172.20.8.2: 100% packet loss
  • AWS에서 nc -zv 172.20.8.2 27017: TIMEOUT
  • AWS에서 traceroute: 첫 번째 홉에서 응답 없음

[추가 정보]

  • 이전에 apc-aws-to-gcp-route (172.20.0.0/16 → VPN 터널) 라우팅이 있었으나, 이것이 잘못된 설정이어서 삭제했습니다.
  • VPN 터널1을 재생성했지만 문제가 해결되지 않았습니다.

[요청 사항] VPN 터널이 ESTABLISHED 상태인데도 데이터가 전달되지 않는 원인을 확인해주시고, 해결 방법을 제시해주시기 바랍니다.

감사합니다.

2개 답변
0

안녕하세요, AWS와 GCP 간 VPN 연결 문제에 대해 도움드리겠습니다.

VPN 터널이 ESTABLISHED 상태임에도 불구하고 데이터 통신이 되지 않는 주요 원인으로 다음 사항들을 확인해 볼 필요가 있습니다:

  1. IP 주소 범위 중복 확인: AWS VPC와 GCP 네트워크 간에 IP 주소 범위가 중복되지 않는지 확인하세요. AWS VPC와 온프레미스(이 경우 GCP) 네트워크는 반드시 별도의 IP 주소 범위를 가져야 합니다.

  2. VPN 구성 및 정책 설정 검토:

  • AWS 측 VPN 구성, 정책, 네트워크 주소 변환(NAT) 설정이 올바르게 구성되었는지 확인하세요.
  • 상위 장치들이 트래픽을 허용하는지 확인하세요.
  1. 라우팅 테이블 검토:
  • AWS 측에서 GCP로 가는 라우팅이 올바르게 설정되었는지 확인하세요.
  • 특히 "apc-aws-to-gcp-route (172.20.0.0/16 → VPN 터널)"를 삭제하셨는데, 현재 AWS 측에서 172.20.8.0/22 서브넷으로 가는 라우팅이 제대로 설정되어 있는지 확인하세요.
  1. 보안 그룹 및 ACL 확인:
  • AWS 측 보안 그룹과 네트워크 ACL이 GCP로의 아웃바운드 트래픽을 허용하는지 확인하세요.
  1. BGP 설정 확인:
  • BGP를 사용하는 경우, BGP 피어링 세션이 활성화되어 있고 올바른 경로를 광고하고 있는지 확인하세요.
  1. AWS VPN 요구사항 확인:
  • AWS Site-to-Site VPN은 라우트 기반 구현을 사용하며, 한 번에 각 방향으로 하나의 활성 보안 연결(SA)만 지원합니다.
  • 여러 CIDR 블록을 처리하기 위해 0.0.0.0/0을 온프레미스(GCP) 측 CIDR로 구성하는 것이 좋습니다.

해결 방안:

  1. AWS 측에서 172.20.8.0/22 또는 더 넓은 범위(172.20.0.0/16)로 가는 라우팅이 VPN 게이트웨이를 가리키도록 다시 설정하세요.

  2. 양쪽 VPN 게이트웨이의 구성을 검토하고, 특히 트래픽 셀렉터가 올바르게 설정되었는지 확인하세요.

  3. AWS 측에서 traceroute 결과가 첫 번째 홉에서 응답이 없다는 것은 라우팅 문제일 가능성이 높습니다. AWS 라우팅 테이블을 다시 확인하세요.

  4. 방화벽 규칙은 적절해 보이지만, AWS 측 보안 그룹과 네트워크 ACL도 확인하세요.

  5. 문제가 지속된다면, AWS 지원팀에 VPN 연결 로그를 검토해달라고 요청하는 것도 도움이 될 수 있습니다.
    Sources
    Troubleshoot VPN tunnel connectivity | AWS re:Post
    Troublehsoot connectivity between SIte-to-Site VPN and VPC | AWS re:Post
    Many Subnets in AWS VPN Connection | AWS re:Post

답변함 3달 전
0

안녕하세요. 말씀주신 내용만으로 모든 것을 유추해보긴 어렵다고 생각되어 아래 추가 확인을 요청드립니다.

  1. AWS 에서 확인 명령어 aws ec2 describe-instances
    --instance-id i-< instance id>
    --query 'Reservations[].Instances[].SubnetId'

명령어 결과 확인 Destination: 172.20.8.0/22 Target: vgw-<vgw id> 또는 tgw-<tgw-id>

  1. AWS VPN Connection Static Route 확인 (Static VPN일 경우 필수) aws ec2 describe-vpn-connections
    --vpn-connection-ids vpn-<vpn id>

  2. GCP 라우팅 확인 gcloud compute routes list
    --filter="network=apc-gke-network"

AWS Route Table에 172.20.8.0/22 으로 VPN 없거나 VPN Connection Static Route 미등록되었는지 먼저 확인이 필요해보입니다.

답변함 3달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.