如何通过 Terraform 启动没有密钥对的 EC2 实例?
Posted
技术标签:
【中文标题】如何通过 Terraform 启动没有密钥对的 EC2 实例?【英文标题】:How to launch an EC2 instance without key pair via Terraform? 【发布时间】:2020-06-22 06:05:42 【问题描述】:我想使用我的 Terraform 配置启动一个没有密钥对的 EC2 实例。我在互联网上找不到任何表明 Terraform 中使用“无密钥对”的信息。有人将 Terraform 配置为以这种方式使用吗?
【问题讨论】:
只是不提供key_name
参数?你试过什么?您能否编辑您的问题以显示您编写的 Terraform 代码并解释您遇到的问题?
这是我的问题的解决方案。我尝试在没有密钥对参数的情况下运行我的 EC2 实例 terraform 代码,并且它在没有密钥对的情况下启动了实例。谢谢!
【参考方案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_key
和secret_key
添加到您的本地 aws 配置 (aws configure
) 以使其正常工作。您还可以使用aws-vault 来避免错误地暴露您的凭据。
【讨论】:
"注意:不要忘记将您的access_key
和 secret_key
添加到文件中"。这是一种通过将凭据提交给版本控制来意外暴露凭据的简单方法。最好使用 AWS CLI 的 aws configure
命令设置凭证,或使用 aws-vault 之类的工具安全地获取临时凭证。 github.com/99designs/aws-vault以上是关于如何通过 Terraform 启动没有密钥对的 EC2 实例?的主要内容,如果未能解决你的问题,请参考以下文章
github中的Jenkinsfile和terraform模块:如何通过密钥进行身份验证?
通过 terraform 创建 IAM 用户并在 S3 存储桶中上传密钥和访问密钥
Azure 磁盘加密 - 通过带有密钥保管库的 Terraform - VmExtensionProvisioningError