跳至内容

如何解决我在创建 Amazon VPC 接口端点时收到的错误?

2 分钟阅读
0

我想解决我在创建 Amazon Virtual Private Cloud (Amazon VPC) 接口端点时收到的错误。

简短描述

创建 Amazon VPC 接口端点时,您可能会由于以下原因收到错误:

  • 您超过了端点的 Amazon VPC 服务配额限制。
  • API 发生节流。
  • 私有 DNS 命名空间重叠。
  • 您的 AWS Identity and Access Management (IAM) 权限不足。

解决方法

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

**先决条件:**在 your AWS CloudTrail events(您的 AWS CloudTrail 事件)中找到 CreateVpcEndpoint API 调用。

对超出 Amazon VPC 服务配额的接口端点进行故障排除

**重要事项:**共享子网中的 VPC 端点总数不能超过拥有者的 AWS 账户的配额。

默认情况下,每个 VPC 的接口端点和网关负载均衡器端点的配额为 50,其中包括参与者账户创建的 VPC 端点。有关详细信息,请参阅 AWS PrivateLink quotas(AWS PrivateLink 配额)。

您超过了端点的 Amazon VPC 服务配额限制

如果您创建的端点数量超过了服务配额允许的数量,您可能会在 CloudTrail 事件中收到以下错误:

"errorCode": "Client.VpcEndpointLimitExceeded",

"errorMessage": "Limit of VPC endpoints per VPC exceeded."

要解决此问题,请 request a service quota increase(申请增加服务配额)。

您在共享 Amazon VPC 中使用参与者账户创建了 Amazon VPC 端点

**注意:**参与者账户无法在共享子网中创建接口端点。但是,如果参与者账户在 VPC 的共享子网中配置了支持的服务,该服务将在共享子网中创建接口端点。

如果您利用参与者 AWS 账户创建端点,则会发生以下错误:

"errorCode": "Client.UnauthorizedOperation"

"errorMessage": "This operation does not support shared VPCs."

运行 describe-subnets 命令,验证子网所有权并检查 SubnetArn

aws ec2 describe-subnets --subnet-ids example-subnet-id

**注意:**请将 example-subnet-id 替换为您的子网 ID。

要解决此错误,请从 Amazon VPC 拥有者账户创建端点。有关详细信息,请参阅管理 VPC 资源

您在共享 Amazon VPC 中使用拥有者账户创建的 Amazon VPC 端点包含参与者账户拥有的安全组

如果您使用拥有者账户创建的端点包含参与者账户拥有的安全组,则会出现以下错误:

"errorCode": "Client.InvalidParameter",

"errorMessage": "You are not authorized to perform CreateNetworkInterface operation.A subnet in this vpc is shared but the provided object is not owned by you"

运行 describe-security-groups 命令,检查安全组的 OwnerId

aws ec2 describe-security-groups --group-id security-group-id

**注意:**请将 security-group-id 替换为您的安全组 ID。

要解决此错误,请使用与拥有者账户属于同一账户的安全组。

API 发生节流

如果您的 API 调用发生节流,您的 CloudTrail 事件中会出现以下错误:

"errorCode": "Client.RequestLimitExceeded",

"errorMessage": "Request limit exceeded."

要解决此错误,请执行以下操作:

  • 使用回退机制重试失败的 API 请求。
  • 处理多个资源。
  • 延长请求之间的休眠间隔以降低请求率。
    **注意:**最佳做法是使用递增或可变的休眠间隔。

有关详细信息,请参阅 Request throttling for the Amazon Elastic Compute Cloud (Amazon EC2) API(Amazon Elastic Compute Cloud (Amazon EC2) API 的请求节流)。

私有 DNS 命名空间重叠

如果您的私有 DNS 命名空间重叠,您的 CloudTrail 事件中会出现以下错误:

"errorCode": "Client.InvalidParameter",

"errorMessage": "private-dns-enabled cannot be set because there is already a conflicting DNS domain for in VPC "

以下问题会导致此错误:

  • Amazon VPC 中存在带有私有 DNS 的现有接口端点,可用于相同服务。
  • 服务名称相同的私有托管区与 Amazon VPC 相关联。

要解决此错误,请在创建端点时停用 PrivateDNSEnabled 并使用默认的 Amazon VPC 端点 DNS。对于具有私有托管区且命名空间重叠的 Amazon VPC,使用默认 Amazon VPC 端点 DNS 手动创建 ALIAS 记录。

与 Amazon VPC 关联的 Amazon Route 53 私有托管区可以位于不同的账户中。要查看有关所有私有托管区关联的详细信息,请运行 list-hosted-zones-by-vpc 命令:

aws route53 list-hosted-zones-by-vpc --vpc-id example-vpc-ID --vpc-region example-region

**注意:**请将 example-vpc-ID 替换为您的 VPC ID,将 example-region 替换为您的 AWS 区域。

IAM 权限不足

如果您没有足够的 IAM 权限来创建 Amazon VPC 端点,则会收到“AccessDenied”错误。要解决此错误,请查看发起 API 调用的 IAM 角色的权限。然后,更新 IAM 角色,使其具备所需权限。

相关信息

拥有者和参与者的责任和权限

Amazon VPC 配额

AWS 官方已更新 1 年前