當我嘗試對應 Amazon VPC 端點時,如何解決「端點不支援可用區域」錯誤?

1 分的閱讀內容
0

我使用 Amazon Virtual Private Cloud (Amazon VPC) 建立介面 VPC 端點。但是,我無法為可用區域選取我偏好的子網路。

簡短說明

當您建立介面 VPC 端點以連線 AWS PrivateLink 服務時,可能會收到以下錯誤:

「錯誤: VPC 端點服務 com.amazonaws.vpce.us-east-1.vpce-svc-xxxx 不支援子網路的可用區域:子網路-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 官方已更新 1 年前