【SSM Automation ハンズオン】承認者に確認後、EC2を起動する


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

はじめに

業務でAutomationを使用する機会がありそうなので、以下の記事を参考にハンズオンをしてみたいと思います。
SSM Automationをやってみる

SSM Automationとは

オートメーションは、AWSのサービス(Amazon EC2、Amazon RDS、Amazon S3など) でのメンテナンス、デプロイ、および修復に関する一般的なタスクを簡素化するための AWS Systems Manager の機能です。

※公式ドキュメントより抜粋
詳しくはユーザーガイドを参考ください。

やりたいこと

「承認者に確認後、EC2を起動する」をAutomationの設定にて簡単に自動化することができるようです。
早速やってみます。

EC2にロールを付与する

EC2をlinuxで作成し(細かい説明は省略します)、ポリシー[AmazonSSMAutomationRole]を付与したロール[tanaka-SSMAutomationRole]を作成&付与しました。作成したインスタンスが起動されている場合は、「インスタンスを停止」します。

Automationの設定と実行

SSM内の「オートメーション」をクリックし、「オートメーションの実行」をクリックします。

次にドキュメントの選択です。

「AWS-StartEC2InstanceWithApproval」というAWSから提供されているドキュメントを使用し、「承認者に確認後、EC2を起動する」の処理を行っていきます。

検索画面に「AWS-StartEC2InstanceWithApproval」と入力し、選択したら、「次へ」をクリックします。

パラメータを設定します。

「シンプルな実行」を選択。
入力パラメータの箇所には、作成したインスタンスIDが出てくるのでそちらを選択します。

「Approvers」には承認者のIAMユーザを入力し、
「SNSTopicArn」にはSNSトピックを作成し、ARNを入力します。
最後に「実行」をクリックします。

実行結果

実行後はステータスが「待機中/保留中」となります。
承認はメールのリンクから承認することも可能ですが、今回は「アクション」→「承認/拒否」から行いました。

承認画面で「承認」→「送信」をクリックします。

数秒待つとステータスが「成功」となりました。

EC2のステータスを確認すると「停止済み」だったステータスが「実行中」にな変わっていました。

さいごに

AWSから提供されているドキュメントを使用すると、とても簡単ですね。
実際の業務では自分たちで設定していくのでちょっと大変そうですが、今回Automationの動きがつかめたので頑張って設定したいと思います。

最後までご覧いただきましてありがとうございました。

Last modified: 2024-01-04

Author