【问题标题】:How to launch an EC2 instance without key pair via Terraform?如何通过 Terraform 启动没有密钥对的 EC2 实例?
【发布时间】:2020-06-22 06:05:42
【问题描述】:

我想使用我的 Terraform 配置启动一个没有密钥对的 EC2 实例。我在互联网上找不到任何表明 Terraform 中使用“无密钥对”的信息。有人将 Terraform 配置为以这种方式使用吗?

【问题讨论】:

  • 只是不提供key_name 参数?你试过什么?您能否编辑您的问题以显示您编写的 Terraform 代码并解释您遇到的问题?
  • 这是我的问题的解决方案。我尝试在没有密钥对参数的情况下运行我的 EC2 实例 terraform 代码,并且它在没有密钥对的情况下启动了实例。谢谢!

标签: amazon-web-services amazon-ec2 terraform terraform-provider-aws infrastructure-as-code


【解决方案1】:

这是一个 Terraform 脚本,它可以在没有密钥的情况下创建 t2.micro 类型的 EC2 实例并输出其 IP 地址。

terraform.tf:

provider "aws" {
  profile = "default"
  region  = "us-west-2"
}

variable "instance_type" {
 default = "t2.micro"
}

resource "aws_instance" "ec2_instance" {
 ami = "ami-0d1cd67c26f5fca19"
 instance_type = "var.instance_type"
}

output "ip" {
 value = "aws_instance.ec2_instance.public_ip"
}

将它放在一个目录中并使用此命令terraform apply 运行它。 您可以使用terraform plan 进行测试。

注意:不要忘记将您的 access_keysecret_key 添加到您的本地 aws 配置 (aws configure) 以使其正常工作。您还可以使用aws-vault 来避免错误地暴露您的凭据。

【讨论】:

  • "注意:不要忘记将您的 access_keysecret_key 添加到文件中"。这是一种通过将凭据提交给版本控制来意外暴露凭据的简单方法。最好使用 AWS CLI 的 aws configure 命令设置凭证,或使用 aws-vault 之类的工具安全地获取临时凭证。 github.com/99designs/aws-vault
猜你喜欢
  • 2020-10-09
  • 2020-03-10
  • 2020-12-29
  • 2017-02-08
  • 1970-01-01
  • 2018-03-13
  • 2021-05-21
  • 2011-12-14
  • 1970-01-01
相关资源
最近更新 更多