j9九游会登录/ 云商店/ / / / / 如何避免ecs售罄导致部署失败
更新时间:2025-11-13 gmt 08:00

如何避免ecs售罄导致部署失败-j9九游会登录

应用场景

本文介绍了在华为云云商店如何避免自动部署模板中,需要创建ecsflavor售罄,导致部署失败。

如下图所示,ecsc7.large.4 flavor在可用区3售罄,而在可用区2是有库存的。

操作方法

华为云ecs的每个flavor在各个region和可用区的售卖情况可能不一样,如果模板中直接固定ecsflavor id,可能导致一个模板在同一个region的不同时刻部署结果不一样,或者是在不同region的部署结果不一样。

推荐在开发模板的过程中,先通过data sources查询某个region所有可用区可用的flavor,如下所示。

// query flavors of all az
data "huaweicloud_compute_flavors" "flavors" {
  count = length(data.huaweicloud_availability_zones.az.names)
 
availability_zone = data.huaweicloud_availability_zones.az.names[count.index]
 
  performance_type = var.performance_type
  cpu_core_count   = local.instance_flavor_cpu
  memory_size      = local.instance_flavor_memory
}

然后获取到ecs可用区和该可用区可用ecs flavor的映射关系,如下所示

# az and available flavors map, such as {cn-north-4a = ["ac7.large.2", "c3ne.large.2"]}
available_flavors_id_maps = { for i, flavor_ids in data.huaweicloud_compute_flavors.flavors[*].ids : data.huaweicloud_availability_zones.az.names[i] => flavor_ids if length(flavor_ids) > 0 }
 
# 获取当前region可用的可用区
availability_zone = keys(local.available_flavors_id_maps)[0]
 
# 获取可用的ecs flavor
flavor_id = local.available_flavors_id_maps[local.availability_zone][0]

相关文档

网站地图