- 최신
- 최다 투표
- 가장 많은 댓글
설명해주신 증상은 VPC Endpoint 구성에서 자주 발생하는 몇 가지 원인이 복합적으로 작용하는 경우입니다. 아래 순서대로 점검해보시기 바랍니다.
- VPC Endpoint의 서브넷(AZ) 구성 확인
Interface VPC Endpoint는 지정한 서브넷에만 ENI(Elastic Network Interface)가 생성됩니다. 만약 3개 AZ를 사용하는데 Endpoint를 2개 AZ에만 생성했다면, 나머지 1개 AZ의 리소스는 Cross-AZ로 통신하거나 실패할 수 있습니다.
- aws ec2 describe-vpc-endpoints --vpc-endpoint-ids vpce-<your_vpc_endpoint_id> --query "VpcEndpoints[].SubnetIds" 명령으로 Endpoint가 어느 서브넷에 배치되어 있는지 확인하세요.
- EC2/ECS가 배포된 모든 AZ에 Endpoint 서브넷이 포함되어 있는지 확인하고, 누락된 AZ가 있다면 해당 AZ의 서브넷을 Endpoint에 추가해야 합니다.
- Security Group 설정 확인
VPC Endpoint의 ENI에 연결된 Security Group이 인바운드 HTTPS(443)를 허용하는지 확인하세요.
- 인바운드: TCP 443, Source를 호출 측 EC2/ECS의 Security Group 또는 VPC CIDR로 허용
- 호출 측 Security Group: 아웃바운드 TCP 443이 Endpoint SG 또는 0.0.0.0/0으로 허용되어 있는지 확인
- 특히 Endpoint에 기본 VPC Security Group이 연결되어 있으면 인바운드가 같은 SG 소스로만 제한되어 있을 수 있습니다.
- Private DNS 해석 불일치 문제
nslookup 결과가 프라이빗 IP와 퍼블릭 IP를 번갈아 반환하는 증상은 다음 원인 중 하나일 가능성이 높습니다:
- Private DNS가 정상 활성화되지 않은 경우: VPC의 enableDnsSupport와 enableDnsHostnames가 모두 true여야 합니다. aws ec2 describe-vpc-attribute --vpc-id vpc-<your_vpc_endpoint_id> --attribute enableDnsSupport 명령으로 확인하세요.
- DNS 캐시: EC2 인스턴스 또는 컨테이너의 로컬 DNS 캐시가 Private DNS 활성화 이전의 퍼블릭 IP를 캐싱하고 있을 수 있습니다. systemd-resolved 캐시를 플러시하거나 인스턴스를 재시작해보세요.
- 커스텀 DNS 서버 사용: EC2에서 VPC DNS(AmazonProvidedDNS)가 아닌 외부 DNS 서버(예: 8.8.8.8)를 사용하고 있다면 Private Hosted Zone을 조회하지 못합니다. /etc/resolv.conf에서 VPC DNS IP(VPC CIDR의 +2 주소, 예: 10.0.0.2)가 nameserver로 설정되어 있는지 확인하세요.
- Endpoint 상태 확인
- aws ec2 describe-vpc-endpoints --vpc-endpoint-ids vpce-<your_vpc_endpoint_id> --query "VpcEndpoints[].State" 명령으로 Endpoint 상태가 available인지 확인합니다.
- pending 또는 failed 상태라면 서브넷 또는 Security Group 설정에 문제가 있을 수 있습니다.
- 연결 테스트
위 항목들을 점검한 후 다음 명령으로 연결을 테스트하세요:
- DNS 해석 확인: nslookup bedrock-runtime.ap-northeast-2.amazonaws.com — 프라이빗 IP가 반환되어야 정상
- 실제 API 호출 테스트: aws bedrock-runtime invoke-model 명령으로 실제 Bedrock 호출을 확인합니다.
- 정상이라면 DNS가 vpce-<your_vpc_endpoint_id>.bedrock-runtime.ap-northeast-2.vpce.amazonaws.com 형태의 Endpoint DNS로 해석되고, 모든 AZ에서 일관되게 프라이빗 IP가 반환됩니다.
공유해 주신 증상들은 VPC Endpoint 구성에서 자주 발생하는 몇 가지 원인으로 좁혀볼 수 있습니다. 아래 항목들을 순서대로 점검해 보시기 바랍니다.
1. VPC Endpoint 서브넷(AZ) 매핑 확인
VPC Endpoint 생성 시 선택한 서브넷이 모든 AZ를 커버하는지 확인해보세요. 예를 들어, Endpoint 를 ap-northeast-2a, ap-northeast-2c 가용 영역들에서만 생성했다면, ap-northeast-2b 에 있는 EC2/ECS 에서는 해당 AZ에 ENI가 없어 연결이 실패하거나 타임아웃이 발생할 수 있습니다.
확인 방법: VPC 콘솔 → Endpoints → 해당 Endpoint 선택 → Subnets 탭 → 워크로드가 배포된 모든 AZ에 서브넷이 매핑되어 있는지 확인
워크로드가 존재하는 모든 AZ에 Endpoint 서브넷을 추가하는 것이 가장 흔한 해결책입니다.
2. Private DNS 설정 확인
Private DNS를 활성화하면 bedrock-runtime.ap-northeast-2.amazonaws.com 이 VPC 내부에서 프라이빗 IP 주소로 resolve 되어야 합니다. nslookup 결과가 퍼블릭 IP와 프라이빗 IP로 불규칙하게 나타난다면 다음을 확인하세요:
- VPC DNS 설정 : VPC의 enableDnsSupport와 enableDnsHostnames 가 모두 true인지 확인
CLI 명령어를 통한 확인 방법: · aws ec2 describe-vpc-attribute --vpc-id vpc-oooo --attribute enableDnsSupport · aws ec2 describe-vpc-attribute --vpc-id vpc-oooo --attribute enableDnsHostnames
- Private DNS 활성화 여부 : Endpoint의 PrivateDnsEnabled가 true인지 확인
CLI 명령어를 통한 확인 방법: · aws ec2 describe-vpc-endpoints --vpc-endpoint-ids vpce-oooo --query 'VpcEndpoints[].PrivateDnsEnabled'
두 VPC DNS 설정 중 하나라도 false 이면 Private DNS 가 정상 동작하지 않아 퍼블릭 IP 로 resolve 되는 경우가 발생합니다.
3. 라우팅 테이블 확인
Interface VPC Endpoint 는 별도의 라우팅 테이블 항목이 필요하지 않지만, 워크로드 서브넷의 라우팅 테이블에 NAT Gateway 나 Internet Gateway 를 통한 0.0.0.0/0 경로가 있고 Private DNS 가 제대로 동작하지 않는 경우, 트래픽이 퍼블릭 경로로 빠질 수 있습니다. Private DNS 가 정상이라면 이는 문제가 되지 않습니다.
대부분의 경우 1번 (AZ별 서브넷 매핑 누락) 과 2번 (VPC DNS 설정) 이 원인입니다. 위 항목들을 우선 점검 해보시고, 이 후에도 문제가 지속되면 위 조치 사항과 함께 나타나는 증상에 대한 추가 상세 정보를 함께 댓글로 남겨주세요.
