SSM Automationを試すときに使いたいステップ実行の紹介

こんにちは、臼田です。

みなさん、自動化してますか?(挨拶

AWS Systems Managerの機能の一つ、様々な処理を束ねて自動化するAutomation機能を使うときに役に立つステップ実行の機能を紹介したいと思います。

Automation機能自体については下記を参照してください。

Amazon EC2 Systems Manager の Automation をやってみた #reinvent

Automationの問題点について

AutomationはEC2の起動や停止、バックアップの取得などの簡単な操作から、それを組み合わせた複雑な操作までデフォルトのドキュメントが用意されていたり、自分で作成することが可能です。

しかしながら、このドキュメントを読むのはぼちぼち辛かったり、書いたものがちゃんと動くか不安だったりします。

例えばデフォルトのドキュメントにはCloudFormationテンプレートからLambdaをデプロイし、ササッと実行してテンプレート自体削除されるようなものも多く、自動化されているため処理の確認などがし辛いです。

そんなAutomationのドキュメントを試す場合にちょうどいいのがステップ実行機能です。

ステップ実行機能とは

今回は名前をわかりやすくステップ実行機能と表現していますが、日本語コンソールでは現在「手動の実行」、英語では「Manual Execution」と表現されています。手動で実行する場合に利用する画面で、下記のように「シンプルな実行」と「手動の実行」が並んでおり違いが分かりづらいためステップ実行機能と表現しました。

「シンプルな実行」は文字通り一発ボンと実行するだけですが、「手動の実行」の方はドキュメントで定義されている各処理を1つずつステップ実行できる機能です。

そのため、CloudFormationでデプロイされたLambdaをゆっくり覗いたり、実行後にどうなっているのか確かめたり、なんだったらLambdaを手動で書き換えて実行することもできます。

実際に「手動の実行」を選んで開始すると下記のような画面になります。ドキュメントで定義されていた処理が1つずつステップとして表示され、一番最初の処理から待機状態となっていて、「このステップを実行」で開始できます。

ステップのバーをクリックすると詳細が表示され、ステータスやパラメータ等が確認できます。

実行が完了すると、次に実行できるステップのボタンが表示されます。

このまま最後まで1つずつ実行していくことが可能です。

私は条件分岐の確認のため、途中でLambdaの中身を少し書き換えたりして使いました。動作を見るための手段が広がると思います。

まとめ

AWSが提供するAutomationのドキュメントでも有用なものがいっぱいありますが、ドキュメントの詳細動作がわからないと使えないため頑張ってドキュメントの内容を読んだりしますが分かりづらいところはあると思います。

また、自分で書いたものは文法上は間違ってなくても実際にうまく動くかはわかりません。

百聞は一見にしかず、ステップ実行機能を利用してAutomationのドキュメントをより理解し、実利用につなげていってはいかがでしょうか?