从AWS OpsWorks,Chef 12,Linux实例

时间:2016-04-15 21:10:12

标签: amazon-web-services chef aws-opsworks

有没有人有一套关于从厨师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

如果您想使用自定义的AWS OpsWorks Linux实例创建AMI,您应该知道OpsWorks创建的每个Amazon EC2实例都包含唯一标识。如果您从此类实例创建自定义AMI,它将包含该标识,并且基于AMI的所有实例将具有相同的标识。要确保基于自定义AMI的实例具有唯一标识,您必须在创建AMI之前从自定义实例中删除标识。

从AWS OpsWorks实例创建自定义AMI

  1. 创建Linux堆栈并添加一个或多个层以定义自定义实例的配置。您可以使用内置图层(根据需要自定义)以及完全自定义图层。有关更多信息,请参阅自定义AWS OpsWorks。

  2. 编辑图层并禁用AutoHealing。

  3. 将首选Linux发行版的实例添加到图层或层中并启动它。我们建议使用Amazon EBS支持的实例。打开实例的详细信息页面并记录其Amazon EC2 ID以供日后使用。

  4. 当实例在线时,使用SSH登录并按顺序运行以下命令:

    1. sudo /etc/init.d/monit stop
    2. sudo /etc/init.d/opsworks-agent stop
    3. 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/
    4. 如果您要创建基于Amazon Linux 2014.09的AMI,请运行rpm -e opsworks-agent-ruby以确保代理正在运行。
    5. 如果要基于Ubuntu创建AMI,请运行dpkg -r opsworks-agent-ruby以确保代理正在运行。
  5. 此步骤取决于实例类型:

    • 对于Amazon EBS支持的实例,请使用AWS OpsWorks控制台停止实例并创建AMI,如创建Amazon EBS支持的Linux AMI中所述。
    • 对于实例存储支持的实例,按创建实例存储支持的Linux AMI中所述创建AMI,然后使用AWS OpsWorks控制台停止实例。 创建AMI时,请确保包含证书文件。例如,您可以调用ec2-bundle-vol命令并将-i参数设置为-i $(查找/ etc / usr / opt -name' .pem'-o -name'。 crt'-o -name'* .gpg'| tr'\ n'',')。捆绑时不要删除apt公钥。默认的ec2-bundle-vol命令处理此任务。
  6. 通过返回AWS OpsWorks控制台并从堆栈中删除实例来清理堆栈。

0 个答案:

没有答案