【问题标题】:Attach IAM role to existing EC2 instance using terraform使用 terraform 将 IAM 角色附加到现有 EC2 实例
【发布时间】:2021-03-01 11:16:09
【问题描述】:

我正在尝试使用 terraform 将 IAM 角色附加到 EC2 实例。但是看了一些网页后发现可以在创建ec2实例时进行附加。

resource "aws_instance" "web" {
  ami           = data.aws_ami.ubuntu.id
  instance_type = "t3.micro"
  iam_instance_profile = "${aws_iam_instance_profile.ec2_profile.name}"
  tags = {
    Name = "HelloWorld"
  }
}

如上部分,可以清楚地看到,AMI 正在被传递,这将创建一个新实例。 是否有可能我们可以提供实例而不是使用 AMI id,以便它可以将角色附加到该实例?

我发现一个来自 terraform 社区的链接指出此功能尚未发布。 https://github.com/hashicorp/terraform/issues/11852

请提供有关如何完成此任务的意见。 提前致谢

【问题讨论】:

  • 您是说唯一的问题是数据源返回的 AMI 与您导入的现有实例不同,因此它想要销毁并重新创建实例?如果您不想替换实例,您是否考虑过对 AMI 进行硬编码或使用ignore_changes = [ami]?将您的计划输出编辑到问题中会很有用。
  • 如果我传递 AMI id,它将始终创建一个新实例并将新角色附加到该实例。但是如果我们以某种方式传递实例 id,那么我们可以直接将 IAM 角色附加到它。
  • 我不确定我是否听懂了你的意思。您可以编辑问题以包含您的计划的输出吗?

标签: amazon-web-services amazon-ec2 terraform amazon-iam


【解决方案1】:

正如您所指出的,这不受支持。但如果您真的想为此使用 terraform,您可以考虑两个选项

【讨论】:

    猜你喜欢
    • 2019-12-17
    • 2020-09-02
    • 2019-06-22
    • 2019-08-23
    • 2021-07-24
    • 2019-09-20
    • 1970-01-01
    • 2018-11-10
    • 2022-01-13
    相关资源
    最近更新 更多