【问题标题】:How to work through Terraform resource error UnauthorizedOperation: This operation does not support shared VPCs如何解决 Terraform 资源错误 UnauthorizedOperation: This operation does not support shared VPCs
【发布时间】:2020-10-10 01:52:32
【问题描述】:

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

这里是示例代码

resource "aws_vpc_endpoint" "NewVPCEndpoint" {..}

但是,在调用 terraform apply 时,出现错误

Error creating VPC Endpoint: UnauthorizedOperation: This operation does not support shared VPCs.
    status code: 403

我收到此错误的确切原因是什么?

我在不同的 VPC 中尝试了完全相同的 .tf 脚本,它运行良好。 这是 VPC 本身的设置吗?这可能是什么设置?

关于 VPC 和子网,VPC/子网的先决条件属性/设置是什么

resource "aws_vpc_endpoint" "NewVPCEndpoint" 

要成功吗?

【问题讨论】:

    标签: amazon-web-services terraform amazon-vpc


    【解决方案1】:

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

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

    解决方法是部署单独的 VPC(非共享)并设置 VPC 与共享 VPC 对等。然后,您可以在非共享对等 VPC 中部署 VPC Endpoint Service,并从所有参与账户的共享 VPC 访问它。

    【讨论】:

    • 我看到的东西看起来与这种对等方法相矛盾“您在 VPC A 和 VPC B 之间有一个 VPC 对等连接。VPC A 也有一个站点到站点 VPN 连接或一个 AWS Direct Connect 连接到公司网络。不支持边缘到边缘路由;您不能使用VPC A扩展对等关系存在于VPC B和公司网络之间。例如,来自公司网络的流量不能通过使用直接访问VPC B VPN 连接或与 VPC A 的 AWS Direct Connect 连接"
    • 没错。那不是这个问题的一部分。关于你的另一个问题,我正在尝试确定一个中转 VPC 是否会解决这个问题。否则,您需要在共享 VPC 中部署像 haproxy 或 nginx 这样的代理,或者使用 NLB 进行一些基于 IP 的 TG 黑客攻击,以提供应用层跃点以避免传递路由限制。
    • 本地系统如何与 VPC 端点交互的话题会是您认为的第三个问题吗?
    • 不,我认为你的另一个问题是公平的游戏。不过,您应该快速将该问题从“是否可能”修改为“我该怎么做”。我还没有找到可行的解决方案,但希望有人会。
    • 你到底为什么认为我应该这么快地修改问题? (也许您可以在单独的问题中发布您对此的回复以保持该线程的一致性?)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    • 2021-10-28
    • 2012-01-29
    • 1970-01-01
    相关资源
    最近更新 更多