我今天从AWS收到以下错误。 “我们目前在您请求的可用区域中没有足够的m3.large容量(us-east-1a)。我们的系统将负责配置额外的容量。您现在可以通过不指定可用区来获得m.3大容量您的要求或选择我们 - east-1e,us-east-1b。“
这究竟是什么意思?听起来AWS没有物理资源来为我分配我需要的虚拟资源。这看起来令人难以置信。
解决方案是什么?有没有简单的方法来更改实例的可用区域? 或者我是否需要创建AMI并将其恢复到新的可用区域?
答案 0 :(得分:1)
这不是一个新问题。您无法更改可用区域。正如您已经说过的,最好的选择是创建一个AMI并在新的AZ中重新启动实例。你会有一切都到位。如果您想浏览某些地区,请参阅此内容 - http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html
答案 1 :(得分:0)
您可以尝试获取reserved instances,这可以保证您始终获得实例。
答案 2 :(得分:0)
我通过修复aws_region和Availability_zone值来解决此错误。添加aws_subnet_ids之后,错误消息会向我准确显示我的ec2正在创建的区域。
variable "availability_zone" {
default = "ap-southeast-2c"
}
variable "aws_region" {
description = "EC2 Region for the VPC"
default = "ap-southeast-2c"
}
data "aws_vpc" "default" {
default = true
}
data "aws_subnet_ids" "all" {
vpc_id = "${data.aws_vpc.default.id}"
}
resource "aws_instance" "ec2" {
....
subnet_id = "${element(data.aws_subnet_ids.all.ids, 0)}"
availability_zone = "${var.availability_zone}"
}