在 Auto Scaling 中挂载 EBS 快照

Mount back an EBS snapshot in Auto Scaling

我正在使用带有负载均衡器的 Auto Scaling 并附加了 2 个 EBS 卷。

现在,每当实例终止时,它都会存储 EBS 卷的快照。

我浏览了几个链接,但找不到如何在启动配置启动新实例时retrieve/mount EBS 卷。

我能否获得任何参考或 PowerShell 脚本以通过卷列表中的标签名称识别卷并在实例启动时安装它?

当 Auto Scaling 启动实例时,没有自动设施 来挂载现有的 EBS 快照或卷。

Auto Scaling 的最佳做法是将数据存储在实例外,例如在 Amazon S3 或 Amazon EFS 中。这样,所有实例都可以同时访问数据,并且可以由启动的新实例使用。

当 Auto Scaling 实例终止时,也没有自动创建 EBS 快照的工具。相反,有一个选项 Delete on Termination,它控制在实例终止时是否应删除 EBS 卷。如果此选项为 off,则 EBS 卷将在实例终止后保留。您可以编写一些代码(例如在用户数据脚本中)将 EBS 卷重新附加到 Auto Scaling 启动的新实例,但这可能会变得混乱。 (例如:附加哪个实例?如果启动更多实例会怎样?)

底线:是的,您可以编写脚本来执行此操作,但这是一个糟糕的架构设计。

是的,您可以使用 AWS CLI 命令行工具将 EBS 卷附加(装载)到 EC2 实例。您 运行 在实例启动时在 EC2 用户数据中执行此命令。

Running Commands on Your Linux Instance at Launch

AWS CLI attach-volume

注意:这个策略有问题。 ASG 启动配置用于创建相同的新 EC2 实例。这意味着您将尝试将相同的 EBS 卷附加到每个将失败的实例。您可能需要考虑改用 EFS。

Amazon Elastic File System

Mount EFS on EC2 using the AWS CLI

注意:使用 IAM 角色为您的实例提供凭据,而不是将凭据存储在 EC2 实例上。

配置好 "master" EC2 实例后,为您的 ASG 启动配置创建一个新的 AMI。

当安装在 Amazon EC2 实例上时,Amazon EFS 文件系统提供标准文件系统接口和文件系统访问语义,使您可以将 Amazon EFS 与现有应用程序和工具无缝集成。多个 Amazon EC2 实例可以同时访问一个 Amazon EFS 文件系统,从而允许 Amazon EFS 为多个 Amazon EC2 实例上的工作负载和应用程序提供通用数据源运行。