我为AWS配置了我的terraform。我已经自动化了2个EC2实例和2个ECS优化实例。
我正在申请所有4个实例**Error launching source instance: timeout while waiting for the state to become 'success' (timeout: 15s)**
。
我在某些博客上发现可能是由于AMI不一致或AMI ID拼写错误。
因此,我已经修复了我的AMI id中的拼写错误并能够启动2个实例。但是,我仍然得到了其他两个实例的超时错误。
我使用的是terraform版本:0.9.6 我创建ec2的TF代码:
resource "aws_instance" "node1" {
# ECS-optimized AMI for us-west-2
ami = "ami-62d35c02"
instance_type = "t2.medium"
availability_zone = "us-west-2a"
security_groups = [
"${aws_security_group.sg.name}"
]
key_name = "key"
tags {
Name = "Node Server 1"
}
user_data = <<EOF
#!/bin/bash
echo ECS_CLUSTER=uat >> /etc/ecs/ecs.config
EOF
iam_instance_profile = "${aws_iam_instance_profile.ecs.name}"
}
resource "aws_instance" "node2" {
# ECS-optimized AMI for us-west-2
ami = "ami-62d35c02"
instance_type = "t2.medium"
availability_zone = "us-west-2b"
security_groups = [
"${aws_security_group.sg.name}"
]
key_name = "key"
tags {
Name = "Node Server 2"
}
user_data = <<EOF
#!/bin/bash
echo ECS_CLUSTER=uat >> /etc/ecs/ecs.config
EOF
iam_instance_profile = "${aws_iam_instance_profile.ecs.name}"
}
resource "aws_instance" "mongo" {
ami = "ami-63ad4b1b"
instance_type = "t2.medium"
availability_zone = "us-west-2c"
security_groups = [
"${aws_security_group.sg.name}"
]
key_name = "key"
tags {
Name = "MongoDB Server"
}
}
resource "aws_instance" "mysql" {
ami = "ami-22ac4a5a"
instance_type = "t2.medium"
availability_zone = "us-west-2c"
security_groups = [
"${aws_security_group.sg.name}"
]
key_name = "key"
tags {
Name = "MySQL Server"
}
}
有人可以帮帮我吗。
提前致谢。
答案 0 :(得分:2)
可以使用平台调试日志来识别根本问题。当我遇到此错误时,我的问题是,AWS没有足够的容量供我在配置的可用性区域中选择的实例类型。
以下是调试此错误的一种好方法:
TF_LOG
环境变量以启用Terraform调试日志。在Linux或Mac上,可以使用以下命令完成此操作:export TF_LOG=DEBUG
terraform apply
命令。yes
,如果计划适合您,请按Enter
。[DEBUG]
条目,以识别潜在的问题。举个例子,在我的情况下,我发现了以下内容:[DEBUG] plugin.terraform-provider-aws_v1.58.0_x4:
<Response>
<Errors>
<Error>
<Code>InsufficientInstanceCapacity</Code>
<Message>We currently do not have sufficient t3.medium capacity in the Availability Zone you requested (us-west-1a). Our system will be working on provisioning additional capacity. You can currently get t3.medium capacity by not specifying an
Availability Zone in your request or choosing us-west-1b.</Message>
</Error>
</Errors>
<RequestID>...</RequestID>
</Response>