Amazon web services 关闭之前,请检查自动缩放组中的EC2实例,以确定是否有任何用户正在使用它

Amazon web services 关闭之前,请检查自动缩放组中的EC2实例,以确定是否有任何用户正在使用它,amazon-web-services,amazon-ec2,aws-lambda,autoscaling,Amazon Web Services,Amazon Ec2,Aws Lambda,Autoscaling,我需要在AWS中进行自动缩放,如果cpu阈值达到80%(例如…),则自动启动新实例…(这是通常的过程) 但在这种情况下,旧实例(当前实例,cpu限制达到上述阈值)将被关闭,而不管用户(开发人员)在其上工作/登录;这会导致数据丢失。 避免这种情况的解决方案是什么。? 有没有办法通过使用AWS Lambda以及自动缩放概念或任何其他方式来解决这个问题?在博客中,您将找到一个关于如何使用自动缩放生命周期挂钩通过SNS触发Lambda并执行自定义操作的示例 例如,您可以在登录过程中有一个片段(.bash

我需要在AWS中进行自动缩放,如果cpu阈值达到80%(例如…),则自动启动新实例…(这是通常的过程) 但在这种情况下,旧实例(当前实例,cpu限制达到上述阈值)将被关闭,而不管用户(开发人员)在其上工作/登录;这会导致数据丢失。 避免这种情况的解决方案是什么。? 有没有办法通过使用AWS Lambda以及自动缩放概念或任何其他方式来解决这个问题?

在博客中,您将找到一个关于如何使用自动缩放生命周期挂钩通过SNS触发Lambda并执行自定义操作的示例


例如,您可以在登录过程中有一个片段(
.bashrc
.profile
…),它向给定实例的SQS发送消息,并在注销时将其删除,然后触发的Lambda可以检查该实例是否标记为“已使用”,并等待释放。

使用AWS自动缩放,以下是避免数据丢失的五种策略:

1-Cloudwatch 你应该熟悉一下。Cloudwatch将允许您。例如,创建CPU利用率指标和用户数指标。您将自动缩放策略设置为不终止(aka)自动缩放组中的EC2实例,除非指标低于50%的CPU并且有0个用户。此外,Cloudwatch可以让您知道您是否超出了预算

生命周期钩子中的2-尺度 在终止和EC2实例时,可以使用来执行定义的操作。具体来说,可以将autoscaling:EC2_INSTANCE_TERMINATING lifecycle钩子设置为在实例终止之前运行脚本从实例复制用户数据(或日志文件等)

3-避免实例存储 当您为实例选择AMI时。这允许您的数据在实例终止后保持不变。或者将数据存储在S3或AWS数据存储中

避免将用户数据存储在实例存储(也称为临时存储)上

4-手动自动缩放 使用控制台或CLI。可以帮助避免意外数据丢失。从实例中删除用户数据后,可以手动缩小比例。当您决定/测试应用程序的新设计时,手动扩展可以是一种安全的扩展回退策略

5-应用程序重新设计
使用云计算时,最好随时将实例视为可替换的。努力使您的系统尽可能无状态。无状态设计可减少实例存储(通常),并可在自动缩放组中实现您所需的水平缩放。(在中搜索“无状态应用程序”)

我需要在堆栈中配置此应用程序的可能副本;如何在AWS CFTHow关于CFT中配置此功能?请查看此页面:更具体地说,此示例:-非常适合您使用CFT!请随时在此提出新问题。您在问题描述中提供的详细信息越多,我们就越能帮助您解答问题。请参阅:。AWS论坛还可以帮助: