【问题标题】:Can I get the on-demand EC2 instances if spot instances are not available in AWS如果 Spot 实例在 AWS 中不可用,我可以获取按需 EC2 实例吗
【发布时间】:2020-01-25 11:53:07
【问题描述】:

我需要为我的 CI/CT 创建一组 c5.12xlarge EC2 Linux 实例。我正在使用 terraform 和 aws spot 实例创建这些实例。 几天以来,由于 AWS 中的实例不可用,我看到我的 terraform 应用失败并出现“没有可用的 Spot 容量与您的请求相匹配”错误。

如何摆脱这种情况并创建实例?如果没有现货 EC2 实例,我可以在 terraform 中创建按需 EC2 实例。

【问题讨论】:

  • 我不知道 terraform,但您可能会查看 EC2 Fleets - 它们似乎允许您基于基于可用资源。

标签: amazon-web-services amazon-ec2


【解决方案1】:

spot instance有限制,不知道terraform创建后是否取消订阅?因为有警告说明。

注意:因为他们的行为取决于现场的实时状态 市场,Spot 实例请求具有独特的生命周期,使它们 行为不同于其他 Terraform 资源。最重要的是: 不保证存在 Spot 实例来满足 在任何给定时间点请求。查看 AWS Spot 实例 文档以获取更多信息。

spot_instance_request

Spot 请求限制

默认情况下,每个区域的帐户限制为 20 Spot Instances。 如果您终止您的 Spot 实例但不取消请求,则 请求计入此限制,直到 Amazon EC2 检测到 终止并关闭请求。

Spot 实例限制是动态的。当您的帐户是新帐户时,您的限制 开始时可能低于 20,但会随着时间的推移而增加。在 此外,您的账户可能对特定 Spot 实例有限制 类型。如果您提交 Spot 实例请求并收到错误 超过最大 Spot 实例数,您可以完成 AWS Support 中心创建案例表单以请求提高 Spot 实例限制。为了 限制类型,选择 EC2 Spot Instances。有关详细信息,请参阅 Amazon EC2 服务限制。

using-spot-limits

您可以按需创建实例

# 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"
  }
}

instance aws terraform

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-06
    • 2016-11-15
    • 1970-01-01
    • 1970-01-01
    • 2019-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多