我对 AWS ELB 还很陌生,正在阅读有关如何通过 ebextensions 脚本从快照自动挂载 EBS 卷的信息。我发现这篇文章可以作为参考:https://aws.amazon.com/blogs/devops/customize-ephemeral-and-ebs-volumes-in-elastic-beanstalk-environments/
但基本上,我的问题是,如何在选项设置中设置让它自动提取最新的快照 id?因为快照将每天更新,而我只想获取最新的快照,而不必每次都编辑 ebextensions 脚本。
我认为 ebextensions 脚本如下:
commands:
01mkdir:
command: "mkdir /mnt/ebs_snapshot"
02mount:
command: "mount /dev/sdh /mnt/ebs_snapshot"
option_settings:
- namespace: aws:autoscaling:launchconfiguration
option_name: BlockDeviceMappings
value: /dev/sdh=(how to put latest snapshot id?)
我还发现了这个帖子:http://www.commandlinefu.com/commands/view/13514/find-the-most-recent-snapshot-for-an-aws-ebs-volume
但不确定如何将其合并到 ebextensions 脚本文件中......
答案1
无法在 中动态指定块设备映射.ebextensions
。
相反,您需要创建自己的脚本来:
- 找到最新的快照,
- 从 分离任何现有卷
/dev/sdh
, - 从快照创建一个新卷,最后
- 将卷附加到您的实例。
files
您可以在文件和commands
秒内创建/指定此脚本.ebextensions
。