Amazon VPC 엔드포인트를 매핑하려고 할 때, "endpoint does not support the Availability Zone" 오류를 해결하려면 어떻게 해야 하나요?

2분 분량
0

Amazon Virtual Private Cloud(VPC)를 사용하여 인터페이스 VPC 엔드포인트를 생성했습니다. 하지만 가용 영역에 사용할 기본 서브넷을 선택할 수 없습니다.

간략한 설명

인터페이스 VPC 엔드포인트를 생성하여 AWS PrivateLink 서비스에 연결할 때 다음 오류가 발생할 수 있습니다.

"Error: The VPC endpoint service com.amazonaws.vpce.us-east-1.vpce-svc-xxxx does not support the Availability Zone of the subnet: subnet-xxxx."

이 오류는 서비스 제공업체 VPC의 Network Load Balancer에 대해 가용 영역이 활성화되지 않은 경우에 발생할 수 있습니다.

인터페이스 VPC 엔드포인트를 생성할 때는 다음 모범 사례를 따릅니다.

  • 서비스 소비자가 엔드포인트 서비스 정보를 생성하고 검색할 때는 서비스 제공업체와 공통된 가용 영역만 볼 수 있습니다.
  • 가용 영역 ID(AZ ID)는 모든 AWS 계정의 가용 영역에 대한 고유하고 일관된 식별자입니다.
  • 가용 영역 매핑은 AWS 계정마다 다를 수 있습니다. 예를 들어, 한 계정에서 us-east-1a로 매핑된 서브넷이 다른 계정에서는 us-east-1c로 매핑될 수 있습니다.
  • AWS에서는 AZ ID를 사용하여 계정을 기준으로 리소스의 실제 위치를 식별할 수 있습니다.
  • 가용 영역은 제공업체 VPC의 Network Load Balancer에 있는 활성 가용 영역에 해당하는 경우에만 선택할 수 있습니다.
  • Amazon VPC 콘솔은 가용 영역 매핑을 자동으로 수행합니다.

해결 방법

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면, AWS CLI 오류 문제 해결을 참조합니다. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인합니다.

제공업체 VPC의 Network Load Balancer에서 어떤 가용 영역이 활성화되었는지 확인합니다. describe-vpc-endpoint-services AWS CLI 명령을 실행합니다.

$aws ec2 describe-vpc-endpoint-services —service-names com.amazonaws.vpce.us-east-1.vpce-svc-xxxx

참고: service-names는 서비스 이름으로 바꿉니다.

이 예의 출력을 통해, us-east-1b 서브넷을 선택할 수 있음을 알 수 있습니다.

{    
    "ServiceDetails": [
         .............................
            "ServiceName": " com.amazonaws.vpce.us-east-1.vpce-svc-xxxxxxxxxx ",
            "VpcEndpointPolicySupported": false,
            "Owner": "##########",
            "AvailabilityZones": [
                "us-east-1b"
            ],
        ..............................
}

위의 출력은 명령을 실행하는 계정의 값에 매핑됩니다. 따라서 서비스 제공업체 계정과 서비스 소비자 계정이 서로 다른 가용 영역에 있어도 describe-vpc-endpoint-services 명령을 실행할 수 있습니다. 소비자 계정의 경우 해당 계정이 엔드포인트 서비스에서 AWS 보안 주체로 허용되는지 확인합니다.

관련 정보

AWS PrivateLink를 통해 서비스 공유

AWS 리소스의 가용 영역 ID

AWS 공식
AWS 공식업데이트됨 6달 전