我正在尝试使用terraform创建一个Ec2实例,并试图传递我的键值。 我知道我想念一些东西。这是我正在尝试的:
resource "aws_instance" "packer-yellowpages" {
ami = "ami-03ec9965cffdc1ef7"
instance_type = "t3.micro"
key_name = "yp-web-dev"
tags ={
Name = "packer-yellowpages-tr"
}
}
当我使用ssh客户端腻子登录到创建的计算机时,出现超时错误。 我觉得我的Terraform无法找到该键,并且在编写它时缺少此步骤。
有人可以帮助我解决我的问题吗?
答案 0 :(得分:1)
您错过了将安全组添加到EC2实例的操作。
您需要在Terraform文档中使用vpc_security_group_ids属性。没有连接安全组,您将无权访问该实例。
如果您没有现有的安全组,则可以使用aws_security_group资源类型在terraform中创建一个。
答案 1 :(得分:0)
对于key_name = yp-web-dev
,aws会将相应的公钥添加到实例默认登录帐户
例如,基于debian的操作系统,用户登录名将为ubuntu
用户。
如果要ssh到ec2实例,则需要yp-web-dev
的私钥。
ssh -i yp-web-dev.pem <username>@<ip>
当然,您需要从网络到VPC的端口22打开!
telnet <ip> 22
,以检查您的网络是否可以访问实例22。