내용으로 건너뛰기

Amazon Bedrock PrivateLink 연결 실패 및 간헐적 타임아웃 트러블슈팅

0

사내 보안 정책에 따라 Amazon Bedrock을 VPC 내부에서만 호출하도록 PrivateLink(Interface VPC Endpoint)를 구성했습니다. com.amazonaws.ap-northeast-2.bedrock-runtime 엔드포인트를 생성하고 Private DNS도 활성화했습니다.

그런데 다음과 같은 문제가 발생하고 있습니다:

  • 일부 AZ의 EC2/ECS에서 Bedrock API 호출 시 간헐적 타임아웃 발생
  • 같은 VPC 내에서도 서브넷별로 정상/실패 상황이 다름
  • nslookup bedrock-runtime.ap-northeast-2.amazonaws.com 결과가 프라이빗 IP 또는 퍼블릭 IP로 불규칙하게 나타남

어떤 부분을 점검해야 하나요?

2개 답변
1
수락된 답변

설명해주신 증상은 VPC Endpoint 구성에서 자주 발생하는 몇 가지 원인이 복합적으로 작용하는 경우입니다. 아래 순서대로 점검해보시기 바랍니다.

  1. 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에 추가해야 합니다.
  1. 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 소스로만 제한되어 있을 수 있습니다.
  1. 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로 설정되어 있는지 확인하세요.
  1. Endpoint 상태 확인
  • aws ec2 describe-vpc-endpoints --vpc-endpoint-ids vpce-<your_vpc_endpoint_id> --query "VpcEndpoints[].State" 명령으로 Endpoint 상태가 available인지 확인합니다.
  • pending 또는 failed 상태라면 서브넷 또는 Security Group 설정에 문제가 있을 수 있습니다.
  1. 연결 테스트

위 항목들을 점검한 후 다음 명령으로 연결을 테스트하세요:

  • 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가 반환됩니다.
AWS
답변함 한 달 전
1

공유해 주신 증상들은 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 설정) 이 원인입니다. 위 항목들을 우선 점검 해보시고, 이 후에도 문제가 지속되면 위 조치 사항과 함께 나타나는 증상에 대한 추가 상세 정보를 함께 댓글로 남겨주세요.

AWS
전문가
답변함 한 달 전

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

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