跳至内容

当我尝试映射 Amazon VPC 端点时,如何解决“endpoint does not support the Availability Zone”错误?

1 分钟阅读
0

我使用 Amazon Virtual Private Cloud (Amazon VPC) 创建了接口 VPC 端点。然而,我无法为可用区选择我的首选子网。

简短描述

当您创建接口 VPC 端点来连接 AWS PrivateLink 服务时,出现以下错误:

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

您收到上述错误消息是因为服务提供商没有在 VPC 的网络负载均衡器上激活您选择的可用区。

**注意:**有关您可以与 AWS PrivateLink 一起使用的服务列表,请参阅与 AWS PrivateLink 集成的 AWS 服务。当您使用 Amazon VPC 控制台创建接口 VPC 端点时,您还可以查看可用服务列表。

解决方法

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

要检查服务提供商在网络负载均衡器上激活的可用区,请运行以下 describe-vpc-endpoint-services AWS CLI 命令:

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

**注意:**将 service-names 替换为您的服务名称。服务提供商账户和服务使用者都可以运行 describe-vpc-endpoint-services 命令,即使它们位于不同的可用区也是如此

以下示例输出显示 us-east-1b 子网可供您选择:

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

确保服务提供商配置权限,允许服务使用者作为端点服务的 AWS 主体。

重要事项:

  • 当您检索端点服务信息时,只能查看服务提供商激活的可用区。
  • 对于所有 AWS 账户,可用区 ID (AZ ID) 是可用区的唯一且始终如一的标识符。
  • 可用区名称映射在不同账户中可能会有所不同。例如,在一个账户中映射为 us-east-1a 的子网可能在另一个账户中映射为 us-east-1c
  • 您可以使用 AZ ID 来识别资源相对于账户的位置。
  • 只有当可用区与服务提供商 VPC 的网络负载均衡器上的活动可用区相对应时,您才能选择该可用区。
  • Amazon VPC 控制台自动执行可用区名称映射。

相关信息

通过 AWS PrivateLink 共享您的服务

AWS 官方已更新 2 个月前