EC2 Image Builderで SSMエージェント がインストールされた状態でAMIを作成する方法

2021.07.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

概要

Image Builder がイメージの構築とテストの実行に使用するインスタンスには、System Managerサービスにアクセスできる必要があります。
Amazon EC2 Linuxインスタンスの場合、Image BuilderはSSMエージェントをビルドインスタンスにインストールし、イメージを作成する前に削除します。そのため、作成されたAMIにSSMエージェントがインストールされておらず、AMI作成時にSSMエージェントがインストールされている状態にするには Image Builder のビルドコンポーネントに下記を追加する必要がありました。

- name: RetainSSMAgentInstallation
    action: ExecuteBash
    inputs:
      commands:
        - sudo rm -rf /tmp/imagebuilder_service/ssm_installe

*ちなみにAmazon Linux2で作成したAMIにはデフォルトでSSMエージェントがインストールされていたため、上記のような追加ステップは不要でした。

追加された機能

ビルド後に、作成されたAMIからSSMエージェントを削除するか残しておくかをイメージレシピの作成時に選択できるようになりました。

「インスタンスの設定」にてパイプライン実行後のSSMエージェントについて設定が可能となっています。

デフォルトでは「パイプライン実行後にSSMエージェントを削除する」にチェックは入っていません。つまり、デフォルトで新しいイメージにはSSMエージェントが含まれている状態です。

SSMエージェントが不要の場合は、チェックボックスをオンにしてパイプライン実行後にSSMエージェントが削除されるようにします。

分かりやすくなっていてとても良いです!

参考情報

Create image recipes and versions