【问题标题】:How can I connect to the AWS IAM API in a private VPC?如何连接到私有 VPC 中的 AWS IAM API?
【发布时间】:2019-11-14 10:07:31
【问题描述】:

我正在尝试使用 AWS 提供商在私有 VPC 中运行 Terraform。 Terraform supports overriding various AWS endpoints,因此我一直在使用 VPC Endpoints 在我的 VPC 中公开相关服务,并在我的提供程序配置中覆盖这些端点。

很遗憾,VPC 端点不支持 IAM - 我需要此 API 来创建一些资源,例如 AWS 角色,那么如何在 Terraform 的私有 VPC 中使用此 API?

$ terraform -v
Terraform v0.11.13
+ provider.aws v2.17.0

【问题讨论】:

  • 您是否必须从 VPC 内部运行 Terraform 才能创建这些 IAM 资源? VPC 是否必须是绝对私有的(例如根本没有公共子网或 NAT)?
  • 它可以通过另一个对等 VPC 访问互联网,但我不希望必须配置/支持它 - 我觉得应该有一种无需互联网访问即可访问 API 的方法
  • 如果 VPC 终端节点无法使用该终端节点,那么您不需要能够通过 Internet 或通过可以访问 Internet 的对等 VPC 访问 IAM 终端节点。

标签: amazon-web-services terraform amazon-iam terraform-provider-aws


【解决方案1】:

Cloudformation 支持 VPC 端点。因此,您可以制作一个 Cloudformation 模板来创建 IAM 资源。然后通过 terraform 应用该 cloudformation 堆栈。然后执行另一个 Terraform 模块,将这些资源称为数据源。

鉴于您的问题的限制,只能间接解决。

文档:Terraform Docs for Cloudformation Docs for AWS Cloudformation VPC Endpoints

【讨论】:

    猜你喜欢
    • 2018-08-08
    • 2022-12-23
    • 1970-01-01
    • 2020-06-13
    • 2017-01-28
    • 1970-01-01
    • 2020-02-13
    • 2019-06-24
    • 2020-09-07
    相关资源
    最近更新 更多