State Managerを利用してみる
State Managerとは、AWS System Managerで用意されている機能の1つとなります。マニュアルの記載によると、
以下のリストは、ステートマネージャー で実行できるタスクの種類を示しています。
・起動時に特定のソフトウェアを使用してインスタンスをブートストラップする
・定義済みのスケジュールに従ってエージェント (SSM エージェント など) をダウンロードして更新する
・ネットワーク設定を構成する
・インスタンスを Windowsドメインに結合する (Windows インスタンスのみ)
・ライフサイクルを通じてソフトウェアの更新でインスタンスをパッチする
AWS Systems Manager ステートマネージャー
色々書いてあるので分かりにくいのですが、ざっくり言ってしまうと、 SSMドキュメントを利用したcronジョブ的機能
となっています。指定したスケジュールで、指定のSSMドキュメントを実行してくれる、機能みたいな。
設定
公式のチュートリアルでも紹介されている下記内容を試してみます。
対象とするのは、適当に作成したEC2です。SSMを利用するので、EC2にもSSM Agentが動作中であり、SSM利用のためのIAM RoleがInstanceに付与されている必要があります。
必要となる作業は 関連付けの作成
を行うだけです。関連付けの作成では、以下の内容を定義することになります。
以下がサンプルとなります。
$ aws ssm create-association \ --name "AWS-UpdateSSMAgent" \ --parameters "allowDowngrade=false" \ --targets "Key=tag:target,Values=sample" \ --schedule-expression "cron(0 30 23 ? * SAT *)" \ --output-location "S3Location={OutputS3BucketName=voiceloid,OutputS3KeyPrefix=sample/}" \ --max-errors "0" \ --max-concurrency "1"
各パラメータの説明は、以下のリファレンスにて。
必要設定は以上となります。