如何解决 Terraform 资源错误 UnauthorizedOperation: 此操作不支持共享 VPC

joe*_*oey 2 amazon-web-services amazon-vpc terraform

我正在运行 terraform .tf 脚本来创建 aws_vpc_endpoint

这是示例代码

resource "aws_vpc_endpoint" "NewVPCEndpoint" {..}
Run Code Online (Sandbox Code Playgroud)

但是,在调用 terraform apply 时,我收到错误

Error creating VPC Endpoint: UnauthorizedOperation: This operation does not support shared VPCs.
    status code: 403
Run Code Online (Sandbox Code Playgroud)

我收到此错误的具体原因是什么?

我在不同的 VPC 中尝试了完全相同的 .tf 脚本,效果很好。这是VPC本身的设置吗?这究竟是什么设置?

对于 VPC 和子网,VPC/子网的先决属性/设置是什么?

resource "aws_vpc_endpoint" "NewVPCEndpoint" 
Run Code Online (Sandbox Code Playgroud)

为了成功?

Ala*_*Dea 5

VPC 可以是共享 VPC,此时它不支持部署 VPC 端点服务:

VPC 共享允许多个 AWS 账户将其应用程序资源(例如 Amazon EC2 实例、Amazon Relational Database Service (RDS) 数据库、Amazon Redshift 集群和 AWS Lambda 函数)创建到共享、集中管理的 Amazon Virtual Private Clouds (VPC) 中。在此模型中,拥有 VPC 的账户(所有者)与属于 AWS Organizations 中同一组织的其他账户(参与者)共享一个或多个子网。共享子网后,参与者可以查看、创建、修改和删除共享子网中的应用程序资源。参与者无法查看、修改或删除属于其他参与者或 VPC 所有者的资源。

修复方法是部署单独的 VPC(非共享)并设置与共享 VPC 的 VPC 对等。然后,您可以在非共享对等 VPC 中部署 VPC 终端节点服务,并从所有参与账户的共享 VPC 访问它。