如何获取AWS自动启动的实例的PEM文件



i有一个Terraform脚本,该脚本启动VPC,子网,数据库,自动计算和其他一些内容。Autoscaling使用默认Windows Server 2012 R2图像来启动新实例(包括初始实例(。每个实例都在启动后执行Chef安装。我需要登录该实例,以便我可以确认已安装Chef,但我没有任何.pem密钥。如何使用Autoscalinglaunch_configuration和输出.pem文件启动实例,以便以后登录?这是我脚本的自动化部分:

resource "aws_autoscaling_group" "asgPrimary" {
  depends_on = ["aws_launch_configuration.primary"]
  availability_zones        = ["${data.aws_availability_zones.available.names[0]}"]
  name                      = "TerraformASGPrimary"
  max_size                  = 1
  min_size                  = 1
  wait_for_capacity_timeout = "0"
  health_check_grace_period = 300
  health_check_type         = "ELB"
  desired_capacity          = 1
  force_delete              = false
  wait_for_capacity_timeout = "0"
  vpc_zone_identifier = ["${aws_subnet.private_primary.id}"]
  #placement_group           = "${aws_placement_group.test.id}"
  launch_configuration      = "${aws_launch_configuration.primary.name}"
  load_balancers = ["${aws_elb.elb.name}"]
}

这是我的启动配置:

resource "aws_launch_configuration" "primary" {
  depends_on = ["aws_subnet.primary"]
  name          = "web_config_primary"
  image_id      = "${data.aws_ami.amazon_windows_2012R2.id}"
  instance_type = "${var.ami_type}"
  security_groups = ["${aws_security_group.primary.id}"]
  user_data = "${template_file.user_data.rendered}"
}

我需要避免使用Amazon CLI或网页本身 - 重点是自动化在我所有其他解决方案中重复使用。

在启动EC2实例期间,未生成用于RDS/SSH进入EC2实例的.pem文件。在使用AWS管理控制台时,可能会出现这种情况,但实际上,首先生成密钥对,然后在启动过程中将密钥对分配给EC2实例。

要获取您的.pem文件,首先:

  1. 生成一个新的密钥对。请参阅Amazon EC2密钥对。当您这样做时,您将能够下载.pem文件。
  2. 使用key_name参数将该密钥对分配给您的自动缩放组的启动配置。

这是一个示例:

resource "aws_launch_configuration" "primary" {
  depends_on = ["aws_subnet.primary"]
  name          = "web_config_primary"
  image_id      = "${data.aws_ami.amazon_windows_2012R2.id}"
  instance_type = "${var.ami_type}"
  security_groups = ["${aws_security_group.primary.id}"]
  user_data = "${template_file.user_data.rendered}",
  key_name = "my-key-pair"
}

请参阅:https://www.terraform.io/docs/providers/aws/r/launch_configuration.html#key_name

最新更新