为什么我无法为 Amazon VPC 接口端点选择可用区?

上次更新时间:2022 年 7 月 27 日

我正在使用 Amazon Virtual Private Cloud(Amazon VPC)创建接口 VPC 端点。但是,我无法为可用区选择首选子网。为什么我无法为接口 VPC 端点选择该可用区?

简短描述

在创建接口 VPC 端点以连接 AWS PrivateLink 服务时:

  • 您必须为启动弹性网络接口的相同可用区选择子网。
  • 不同 AWS 账户的可用区映射可能不同。例如,子网在一个账户中映射为 us-east-1a,而在另一个账户中,它可能映射为 us-east-1c

在您的账户中创建接口终端节点时:

  • 您只能选择一个与提供商 VPC 的网络负载均衡器上启用的可用区对应的可用区。
  • Amazon VPC 控制台会自动执行可用区映射。
  • 如果某个可用区尚未为提供商 VPC 的网络负载均衡器启用,则会收到错误消息 Service not supported in this Availability Zone(服务在此可用区不受支持)。

解决方法

注意:如果您在运行 AWS 命令行界面(AWS CLI)命令时遇到错误,请确保您使用的是最新版本的 AWS CLI

检查提供商 VPC 的网络负载均衡器上启用了哪些可用区。使用命令 describe-vpc-endpoint-services

aws ec2 describe-vpc-endpoint-services --service-names SERVICE-NAME

例如,使用此命令来查看已启用的可用区:

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

在此示例中,输出显示您可以选择 us-east-1b 子网:

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

此输出会映射到正在运行命令的 AWS 账户的值。因此,即使服务提供商账户和服务使用者账户位于不同的可用区,也都能运行上述命令。对于使用者账户,请确保允许将这些账户作为端点服务上的 AWS 主体


这篇文章对您有帮助吗?


您是否需要账单或技术支持?