教程:使用以下方式记录 Auto Scaling 组的状态:EventBridge - Amazon EventBridge
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

教程:使用以下方式记录 Auto Scaling 组的状态:EventBridge

您可以运行Amazon Lambda记录事件只要 Auto Scaling 组启动或终止一个指示一个事件是否成功的 Amazon EC2 实例,此实例就会发生。

有关更多使用 Amazon EC2 Auto Scaling 事件的方案的信息,请参阅获取CloudWatchAuto Scaling 组扩展时的事件中的Amazon EC2 Auto Scaling 用户指南.

在本教程中,您将创建 Lambda 函数,然后创建规则中的EventBridge控制台,当 Amazon EC2 Auto Scaling 组启动或终止实例时调用该函数。

先决条件

要完成本教程,您将需要以下资源:

第 1 步:创建 Lambda 函数

创建一个 Lambda 函数,以记录您的 Auto Scaling 组的扩展和缩减事件。

创建 Lambda 函数

  1. 打开 Amazon Lambda 控制台,地址:https://console.aws.amazon.com/lambda/

  2. 选择 Create function (创建函数)

  3. 选择 Author from scratch (从头开始创作)

  4. 输入 Lambda 函数的名称。例如,将函数命名为 LogAutoScalingEvent

  5. 将其他选项保留为默认值,然后选择创建函数.

  6. 在存储库的代码双击函数页面的选项卡,双击index.js.

  7. 使用以下代码替换现有代码。

    'use strict'; exports.handler = (event, context, callback) => { console.log('LogAutoScalingEvent'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
  8. 选择 Deploy(部署)。

第 2 步:创建规则

创建一个规则,以运行您在步骤 1 中创建的 Lambda 函数。该规则在您的 Auto Scaling 组启动或停止实例时运行。

创建 规则

  1. 打开亚马逊EventBridge控制台https://console.aws.amazon.com/events/.

  2. 在导航窗格中,选择 Rules (规则)

  3. 选择 Create rule (创建规则)

  4. 为规则输入名称和描述。例如,命名规则TestRule

  5. 适用于事件总线,请选择要与此规则关联的事件总线。如果您希望此规则与来自您的账户的事件匹配,请选择默认. 当您账户中的某个 Amazon 服务发出一个事件时,它始终会发送到您账户的默认事件总线。

  6. 适用于Rule type,选择使用事件模式进行规则.

  7. 请选择 Next (下一步)

  8. 适用于事件源,选择Amazon服务.

  9. 适用于事件模式中,执行以下操作:

    1. 适用于事件源,选择Auto Scaling从下拉列表中选择。

    2. 适用于Event type,选择实例启动和终止从下拉列表中选择。

    3. 选择任何实例事件任何组名称.

  10. 请选择 Next (下一步)

  11. 适用于目标类型,选择Amazon服务.

  12. 适用于选择一个目标,选择Lambda 函数从下拉列表中选择。

  13. 适用于函数选 Lambda 您在第 1 步:创建 Lambda 函数部分。在本例中,选择LogAutoScalingEvent.

  14. 请选择 Next (下一步)

  15. 请选择 Next (下一步)

  16. 查看规则详细信息,然后选择创建规则.

第 3 步:测试 规则

您可以通过手动扩展 Auto Scaling 组来测试您的规则,以便其启动一个实例。等待几分钟,扩展事件发生,然后验证您的 Lambda 函数是否已调用。

使用 Auto Scaling 组测试您的规则

  1. 要增加您的 Auto Scaling 组的大小,请执行以下操作:

    1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

    2. 在导航窗格上,依次选择 Auto ScalingAuto Scaling Groups (Auto Scaling 组)

    3. 选中您的 Auto Scaling 组对应的复选框。

    4. Details 选项卡上,选择 Edit。对于 Desired,将所需容量增加一。例如,如果当前值是2输入3. 理想容量必须小于或等于组的最大容量。如果您的 Desired 新值大于 Max,则必须更新 Max。完成后,选择 Save

  2. 要查看 Lambda 函数的输出,请执行以下操作:

    1. 打开 CloudWatch 控制台 (https://console.aws.amazon.com/cloudwatch/)。

    2. 在导航窗格中,选择日志

    3. 选择您的 Lambda 函数 (/aws/lambda/function-name) 的日志组的名称。

    4. 选择日志流的名称,以查看您启动的实例的函数提供的数据。

  3. (可选)完成后,您可以将所需的容量减一,这样 Auto Scaling 组就会返回到它之前的大小。

第 4 步:确认成功

如 Lambda 你在CloudWatch(日志),您已成功完成本教程。如果活动不在你的CloudWatch日志中,通过验证规则是否成功创建开始故障排除,如果规则看起来正确,请验证 Lambda 函数的代码是否正确。

第 5 步:清除 资源

除非您想要保留为本教程创建的资源,否则可立即将其删除。通过删除Amazon您不再使用的资源,可防止您的产生不必要的费用Amazonaccount.

删除EventBridge规则

  1. 打开规则页面的EventBridge控制台。

  2. 选择您创建的规则。

  3. 选择 Delete

  4. 选择 Delete

删除 Lambda 函数

  1. 打开 Lamba 控制台的 Functions(函数)页面

  2. 选择您创建的函数。

  3. 依次选择 ActionsDelete

  4. 选择 Delete