AWS Systems Manager Automationとは?
AWS Systems Manager AutomationはAWS Systems Managerの一部で、AWSリソースの管理や運用タスクを自動化するための機能です。繰り返し実行される運用タスクや管理作業を効率化し、エラーを減らしながら運用負荷を軽減できます。複数のAWSリソースに対して一括で設定変更やタスクを実行することができ、スケジュールを設定したり、イベントトリガーで実行することが可能です。
ワークフローはAutomationドキュメント (Automation runbook)と呼ばれ、ファイル形式はJSONまたはYAMLです。Systems Manager Console、AWS CLI、または API を通じて実行できます。
IAMによって実行権限を管理したり、CloudWatchによってタスクのモニタリングをしたり、SNSで通知を送信することができます。
標準ドキュメント
AWSではあらかじめ一般的なタスクを記述したドキュメントが多数用意されています。AWS-
から始まるドキュメントは標準ドキュメントです。
ドキュメント | 操作 |
---|---|
AWS-StartEC2Instance | 指定したEC2インスタンスを起動します |
AWS-RestartEC2Instance | 指定したEC2インスタンスを再起動します |
AWS-StopEC2Instance | 指定したEC2インスタンスを停止します |
AWS-TerminateEC2Instance | 指定したEC2インスタンスを終了します |
AWS-CreateSnapshot | EBSボリュームのスナップショットを作成します |
AWS-CreateImage | EC2インスタンスからマシンイメージ(AMI)を作成します |
AWS-UpdateEKSCluster | EKSクラスタのKubernatesバージョンをアップデートする |
AWS-RebootRDSInstance | RDSインスタンスを再起動します |
AWS-CreateRdsSnapshot | RDSインスタンスのスナップショットを作成する |
AWS-CloseSecurityGroup | 指定したセキュリティグループからすべてのルールを削除する |
Automation Actions
AutomationドキュメントではActionsによって操作を指定します。複数のアクションを組み合わせることで、より複雑なワークフローを構築可能です。実行時に動的な値を指定することができます。
Actions | 操作 |
---|---|
aws:runCommand | EC2インスタンス上で指定したコマンドを実行します |
aws:executeScript | Automationドキュメント内でPythonスクリプトを直接実行します |
aws:branch | 条件に基づいて実行フローを分岐します |
aws:executeAutomation | 別のAutomationドキュメントを呼び出します |
aws:approve | 承認者から承認または拒否されるまで一時的にオートメーションを停止する |
aws:pause | 一時的にオートメーションを停止する |
aws:loop | ループ実行する |
aws:invokeLambdaFunction | 指定したLambda関数を呼び出す |
aws:createImage | EC2インスタンスからマシンイメージ(AMI)を作成します |
aws:copyImage | 既存のAMIを別のリージョンにコピーします |
aws:runInstances | EC2インスタンスを起動します |
aws:changeInstanceState | EC2インスタンスの状態を変更します |
aws:assertAwsResourceProperty | 指定したAWSリソースのプロパティが目標値を満たしているかを確認します |
AWS試験
AWS SOA試験では、以下のような状況が出題されます。
-
EC2インスタンスに対してAWS Configルールを作成し、適切な設定がされていないインスタンスがあった場合にAWS Systems Manager Automationドキュメントを呼び出してインスタンスを終了させる。
AWS SOA 無料練習問題①
AWSドキュメント
AWS Systems Manager Automation - AWS Systems Manager
Systems Manager Automation により、Amazon EC2 インスタンスおよびその他の AWS リソースの一般的なメンテナンスとデプロイを簡素化します。