amazon-web-services - 亚马逊网络服务自动缩放
问题描述
如何使用lambda python 函数来命名我的组实例?
我想按递增顺序命名它们,例如 hello1、hello2、hello3 等。谁能告诉我如何使用 lambda 函数来命名我的 autlscale 组?
我想创建实例..我想要一个函数来创建它们并给它们命名标签..第一个实例名称标签应该是“hello1”第二个实例名称标签应该是“hello2”......等等......如果任何实例都被终止..say hello2 被终止,然后通过形成自动缩放组,最小实例数为 2 ..因此将创建新实例,将其命名为 hello2
解决方案
一种方法是编写一个在实例启动时执行的脚本。将脚本放在实例启动时自动运行的用户数据中。
该脚本将:
- 调用
DescribeInstances()
以获取 EC2 实例列表 - 将列表过滤到 Auto Scaling 组中的实例
- 统计实例数(包括自身)
- 执行必要的逻辑来确定应该分配哪个号码
Name
在新实例上创建标签(有效地标记自己)
请注意,数字可能不连续。例如:
- 启动 4 个实例(1、2、3、4)
- Auto Scaling 可能会删除实例 2 和 3
- Auto Scaling 可能会添加一个实例(称之为 #2)
- 当前实例为:1、2、4
底线:您真的不应该对短暂的编号实例(也就是说,可以随时删除)进行固定。只需了解Auto Scaling 组中有多少实例即可。如果您确实需要唯一 ID,请使用InstanceId
.
推荐阅读
- vba - 如何使用 vba 查找多个项目,然后使用这些值来计算动态数据集的变化?
- python - 如何使用 tensorflow_datasets (tfds) 实现和理解预处理和数据扩充?
- entity-framework-core - SqlServerMetadataExtensions.SqlServer 用于 EntityFrameworkCore 3.x
- java - 膨胀 android.support.v7.widget.CardView 时出错
- r - 仅当标签在r Shiny中活动时仅运行代码(以减少加载时间)
- laravel - Laravel 错误参数 1 传递给 Illuminate\Database\Connection::prepareBindings() 必须是数组类型,给定字符串
- python - 快速创建汇总数据框
- python-3.x - 如何识别第三方 yaml 转储对象 - 无需指定冗余导入状态
- c++ - 网络地址转换 (NAT),C++
- json - 使用 $.ajax 从 Google API 解析几何