【问题标题】:creating a ec2 instance in terraform using already created ppk key使用已创建的 ppk 密钥在 terraform 中创建 ec2 实例
【发布时间】:2020-10-07 11:54:07
【问题描述】:

我正在尝试使用 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 客户端 putty 登录到创建的机器时,我收到超时错误。 我觉得我的 terraform 无法找到该密钥,并且在编写它时我错过了这一步。

谁能帮我解决我的问题?

【问题讨论】:

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


    【解决方案1】:

    您错过了向 EC2 实例添加安全组。

    您需要在 terraform 文档中使用 vpc_security_group_ids 属性。如果没有附加安全组,您将无法对实例进行入站访问。

    如果您没有现有的安全组,那么您可以使用 aws_security_group 资源类型在 terraform 中创建一个。

    【讨论】:

    • 如果您添加 vpc_security_group_ids 属性,您应该能够从您的 AWS 控制台复制安全组 ID 并附加它们,例如 vpc_security_group_ids=["sg-abcdefg"]
    • 我厌倦了使用它得到了这个错误“属性“vpc_security_group_ids”的值不合适:需要一组字符串。”
    • 您是否在安全组周围使用了方括号?
    【解决方案2】:

    对于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 是否可以从您的网络访问实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-14
      • 2021-08-19
      • 2017-04-03
      • 1970-01-01
      • 2020-07-19
      • 2020-11-30
      • 2014-08-16
      • 1970-01-01
      相关资源
      最近更新 更多