首页 > 解决方案 > Terraform aws_instance 指定登录凭据

问题描述

我在 AWS 中使用带有此代码块的 terraform 配置 Centos 7 实例

resource "aws_instance" "my_instance" {
   ami                    = "${var.image-aws-centos7}"
   monitoring             = "true"
   availability_zone      = "${var.aws-az1}"
   subnet_id              = "${var.my_subnet.id}"
   vpc_security_group_ids = ["${aws_security_group.my_sg.id}"]

   tags = {
     Name                  = "my_instance"
     os-type               = "linux"
     os-version            = "centos7"
     no_domainjoin         = "true"
     purpose               = "my test vm"
   }

该实例已成功创建,但由于我明确不会将其加入我的域,因此使用我的域管理员凭据进行的身份验证失败,这是可以理解的。

我使用 ssh 登录,主机已成功永久添加到已知主机。

我在文档中搜索如何在 terraform 中定义本地管理员用户名和密码,以便我可以使用这些凭据登录到实例。

我找不到答案。

任何帮助深表感谢。

标签: amazon-web-servicesamazon-ec2terraform

解决方案


在您的实例上添加新用户应从实例内部执行。为此,您可以aws_instance.

用户数据是一个脚本,将在您的实例首次启动时执行。因此,您无需通过 ssh 手动登录到实例,而是提供脚本user_data来重现您在实例启动后执行的手动步骤。


推荐阅读