2017-06-21 103 views
0

我試圖通過auto_scaling_group上terraform創建EC2實例如何在我的情況下通過terraform創建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) 
實例庫存

最終tim Ë出來,說

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屬性。

我不知道如何解決這個問題,有人可以幫我嗎?非常感謝!

回答

1

這個等待是因爲autoscalling組正在等待至少有一個ec2實例可以按照自動縮放組中定義的方式啓動並運行,但不存在。這導致錯誤提到了根本原因「此用戶沒有默認VPC」。所以基本上,沒有ec2啓動和運行,因爲沒有與autoscaling組相關聯的VPC,子網和/或VPC標識符。

要解決:

  • 首先,如果你還沒有這樣做,你將需要創建一個VPC與VPC資源「aws_vpc」
  • 下一頁創建子網資源子網「aws_subnet」
  • 接着準的VPC標識符「vpc_zone_identifier」與自動縮放組中「aws_autoscaling_group」資源REA

標識符應該如下,其中「aws_subnet.main公開-1」是一步創建的子網ID 2

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

我希望幫助

相關問題