【问题标题】:How to create an ec2 instance through terraform in my case?在我的情况下,如何通过 terraform 创建一个 ec2 实例?
【发布时间】:2017-11-25 01:02:29
【问题描述】:

我正在尝试通过 terraform 上的 auto_scaling_group 创建 ec2 实例

我有类似的东西:

resource "aws_ecs_cluster" "my_cluster" {
    name = "my-cluster"
}

resource "aws_autoscaling_group" "my_instances" {
    name = "my-instances"

    min_size = 1
    max_size = 2
    availability_zones = ["us-east-1a"]
    launch_configuration = "${aws_launch_configuration.my_ecs_instance.id}"

}

resource "aws_launch_configuration" "my_ecs_instance" {
    name_prefix = "my-ecs-instance"
    instance_type = "t2.micro"
    image_id = "ami-19e8cc0e"
}

Terraform plan -var-file=mykey.tfvars

工作正常,但是

Terraform apply -var-file=mykey.tfvars

将在创建实例时存货

aws_autoscaling_group.my_instances: Still creating... (9m20s elapsed)
aws_autoscaling_group.my_instances: Still creating... (9m30s elapsed)
aws_autoscaling_group.my_instances: Still creating... (9m40s elapsed)

最终超时并说

aws_autoscaling_group.my_instances: "my-instances"
Waiting up to 10m0s: Need at least 1 healthy instances in ASG, have 0. Most recent activity:
..more..
StatusMessage: "No default VPC for this user. Launching EC2 instance failed."

我想我需要指定 vpc id 但我没有发现 auto_scaling_group 有 vpc_id 属性。

我不知道如何解决这个问题,有人可以帮我解决这个问题吗?非常感谢!

【问题讨论】:

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


    【解决方案1】:

    此等待是因为自动伸缩组正在等待至少一个 ec2 实例按照自动伸缩组中的定义启动并运行,但没有。这导致了错误,其中提到了根本原因“此用户没有默认 VPC”。所以基本上,没有 ec2 启动和运行,因为没有与自动缩放组关联的 VPC、子网和/或 VPC 标识符。

    解决:

    • 首先,如果您还没有这样做,您需要使用 vpc 资源创建一个 VPC"aws_vpc"
    • 接下来使用子网资源创建一个子网“aws_subnet”
    • 接下来将 VPC 标识符 “vpc_zone_identifier”“aws_autoscaling_group” 资源区中的 Auto Scaling 组关联

    标识符应如下所示,其中 "aws_subnet.main-public-1" 是在步骤 2 中创建的子网 ID

    vpc_zone_identifier  = ["${aws_subnet.main-public-1.id}"
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      错误信息是:StatusMessage: "No default VPC for this user. Launching EC2 instance failed."

      您需要创建带有子网的 VPC,并在创建自动伸缩组时提供子网 ID。

      考虑加vpc_zone_identifier

      vpc_zone_identifier(可选)要在其中启动资源的子网 ID 列表。

      https://www.terraform.io/docs/providers/aws/r/autoscaling_group.html#vpc_zone_identifier

      【讨论】:

        猜你喜欢
        • 2021-03-30
        • 2020-06-13
        • 2022-01-18
        • 2021-02-04
        • 1970-01-01
        • 2021-12-09
        • 2020-07-19
        • 2017-02-08
        • 1970-01-01
        相关资源
        最近更新 更多