有没有人有一套关于从厨师12,基于Linux的OpsWorks实例创建AWS AMI的说明?
AWS发布有关Creating a Custom Linux AMI from an AWS OpsWorks Instance的说明。但看起来它们已经过时了12号基于Linux的OpsWorks堆栈。
例如,他们没有说您应该删除/opt/chef
或/var/chef
个文件夹。
以下是AWS的最新说明:
如果您想使用自定义的AWS OpsWorks Linux实例创建AMI,您应该知道OpsWorks创建的每个Amazon EC2实例都包含唯一标识。如果您从此类实例创建自定义AMI,它将包含该标识,并且基于AMI的所有实例将具有相同的标识。要确保基于自定义AMI的实例具有唯一标识,您必须在创建AMI之前从自定义实例中删除标识。
创建Linux堆栈并添加一个或多个层以定义自定义实例的配置。您可以使用内置图层(根据需要自定义)以及完全自定义图层。有关更多信息,请参阅自定义AWS OpsWorks。
编辑图层并禁用AutoHealing。
将首选Linux发行版的实例添加到图层或层中并启动它。我们建议使用Amazon EBS支持的实例。打开实例的详细信息页面并记录其Amazon EC2 ID以供日后使用。
当实例在线时,使用SSH登录并按顺序运行以下命令:
sudo /etc/init.d/monit stop
sudo /etc/init.d/opsworks-agent stop
sudo rm -rf /etc/aws/opsworks/ /opt/aws/opsworks/ /var/log/aws/opsworks/ /var/lib/aws/opsworks/ /etc/monit.d/opsworks-agent.monitrc /etc/monit/conf.d/opsworks-agent.monitrc /var/lib/cloud/
此步骤取决于实例类型:
通过返回AWS OpsWorks控制台并从堆栈中删除实例来清理堆栈。