我需要为CI / CT创建一组c5.12xlarge EC2 Linux实例。我正在使用Terraform和AWS Spot实例创建这些实例。 几天以来,由于AWS中实例的不可用,我看到我的Terraform应用失败,并显示“没有可用的容量满足您的请求”错误。
如何摆脱这种情况并创建实例?在terraform中,如果现货EC2实例不可用,我是否可以创建按需EC2实例。
答案 0 :(得分:0)
竞价型实例有一个限制,我不确定创建后terraform是否取消订阅?因为有警告提示。
注意:因为他们的行为取决于现场的实时状态 市场,竞价型实例请求具有独特的生命周期,这使它们 行为与其他Terraform资源不同。最重要的是: 无法保证存在竞价型实例来满足 在任何给定时间点的请求。查看AWS Spot实例 文档以获取更多信息。
竞价请求限制
默认情况下,每个地区的帐户限制为
20 Spot Instances
。 如果您终止竞价型实例,但不取消请求,则 请求将以此为限,直到Amazon EC2检测到 终止并关闭请求。竞价型实例限制是动态的。新帐户时,您的限额 开始时可能会低于20,但随着时间的推移会增加。在 此外,您的帐户可能对特定竞价型实例有限制 类型。如果您提交竞价型实例请求并且收到错误 超过了最大竞价实例数量,您可以完成AWS支持 中心创建案例表格以请求增加竞价型实例限制。对于 限制类型,选择“ EC2竞价型实例”。有关更多信息,请参见 Amazon EC2服务限制。
您可以按需创建实例
# Create a new instance of the latest Ubuntu 14.04 on an
# t2.micro node with an AWS Tag naming it "HelloWorld"
provider "aws" {
region = "us-west-2"
}
data "aws_ami" "ubuntu" {
most_recent = true
filter {
name = "name"
values = ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"]
}
filter {
name = "virtualization-type"
values = ["hvm"]
}
owners = ["099720109477"] # Canonical
}
resource "aws_instance" "web" {
ami = "${data.aws_ami.ubuntu.id}"
instance_type = "t2.micro"
tags = {
Name = "HelloWorld"
}
}