AWS Systems Manager
ユーザーガイド

AWS Systems Manager オートメーション

Systems Manager Automation は、Amazon EC2 インスタンスおよび他の AWS リソースの一般的なメンテナンスとデプロイのタスクを簡素化します。自動化では、以下の操作を行うことができます。

  • 自動化ワークフローを構築して、インスタンスおよび AWS リソースを設定し、管理します。

  • 独自のカスタムワークフローを作成するか、または AWS によって管理された定義済みのワークフローを使用します。

  • Amazon CloudWatch Events を使用して自動化タスクおよびワークフローに関する通知を受信します。

  • Amazon EC2 または AWS Systems Manager コンソールを使用して、自動化の進捗状況および実行の詳細を監視します。

自動化のユースケース

このセクションには、AWS Systems Manager 自動化の一般的ユースケースが含まれています。

一般的な IT タスクを実行する

自動化は、1 つ以上のインスタンスの状態を変更 (承認されたワークフローを使用) したり、スケジュールに従ってインスタンスの状態を管理するなどの一般的な IT タスクを簡略化できます。次に例を示します。

  • AWS-StopEC2InstanceWithApproval ドキュメントを使用して、1 人以上の AWS Identity and Access Management (IAM) ユーザーがインスタンス停止アクションを承認するリクエストを行います。承認が受理されると、自動化はインスタンスを停止します。

  • AWS-StopEC2Instance ドキュメントを使用して、Amazon CloudWatch Events、またはメンテナンスウィンドウタスクを使ったスケジュールによるインスタンスの停止を自動化します。たとえば、毎週金曜日の夜にインスタンスを停止し、毎週月曜日の朝に再開する自動化ワークフローを設定できます。

  • AWS-UpdateCloudFormationStackWithApproval ドキュメントを使用して、CloudFormation テンプレートを使ってデプロイしたリソースを更新します。更新には新しいテンプレートが適用されます。更新開始前に 1 人以上の IAM ユーザーの承認をリクエストするように自動化を設定できます。

ステートマネージャー を使用して自動化ワークフローを実行する方法については、ステートマネージャー を使用したトリガーによる自動化ワークフローの実行 を参照してください。

破壊的なタスクを一括して安全に実行する

Systems Manager には、Amazon EC2 タグを使用したインスタンスの大規模なグループのターゲットに役立つ機能や定義する制限に応じた変更を行うために役立つ速度制御といった機能が含まれます。

AWS-RestartEC2InstanceWithApproval ドキュメントを使用して、複数のインスタンスを含む AWS リソースグループをターゲットにします。速度制御を使用するために、自動化ワークフローを設定できます。たとえば、同時に再起動するべきインスタンスの数を特定できます。また、自動化ワークフローがキャンセルされる前に許可されるエラーの最大数を指定することもできます。

複雑なタスクの簡素化

自動化は、Golden Amazon マシンイメージ (AMI) の作成や到達不可能な EC2 インスタンスの復元などの複雑なタスクを簡素化する、ワンクリック自動化を提供します。次に例を示します。

  • AWS-UpdateLinuxAmi および AWS-UpdateWindowsAmi ドキュメントを使用して、ソース AMI から golden AMI を作成します。更新が適用される前後にカスタムスクリプトを実行できます。また、特定のパッケージをインストールに含める、あるいは除外することもできます。これらのワークフローを実行する方法の例については、「自動化のチュートリアル」を参照してください。

  • AWSSupport-ExecuteEC2Rescue ドキュメントを使用して、障害のあるインスタンスを復元します。インスタンスは、ネットワークの設定不良、RDP 問題やファイアウォール設定などのさまざまな理由によって到達不可能になる場合があります。トラブルシューティングとインスタンスへのアクセス権の再取得には、アクセスを取り戻す前に事前の多くの手動ステップが必要となります。AWSSupport-ExecuteEC2Rescue ドキュメントは、インスタンス ID を指定してボタンをクリックすることで、アクセス権の再取得を可能にします。このワークフローを実行する方法の例については、「到達不可能なインスタンスでの EC2Rescue ツールの実行」を参照してください。

運用のセキュリティを拡張する

委任管理者を使用することで、さまざまなタイプのタスクにおいて、ユーザーのアクセス権限を制限したり、昇格させることができます。

委任管理者は、ユーザーにリソースへの直接のアクセス権限を付与する必要なく、特定のリソースにおける特定のタスクに対するアクセス権限を提供することができます。これによって、全体的なセキュリティプロファイルが向上します。たとえば、ユーザー 1 が EC2 インスタンスを再起動する権限を保持しない場合に、このユーザーにこれを許可するとします。ユーザー 1 に直接のアクセス権限を付与する代わりに、次ができます。

  • EC2 インスタンスを正常に停止し、開始するために必要なアクセス権限がある IAM ロールを作成します。

  • Automation ドキュメントを作成し、このドキュメントにそのロールを埋め込みます (そのための最も簡単な方法は、Automation サービスロール (引き受けロール) を割り当てる代わりに、AWS-RestartEC2Instance ドキュメントをカスタマイズして、このロールをドキュメントに埋め込むことです)。

  • ユーザー 1 の IAM のアクセス権限を変更し、このドキュメントを実行するためのユーザーアクセス許可を付与します。

自動化ワークフローへのアクセスを委任する方法の例については、「委任管理者を使用して、自動化ワークフローを実行する」を参照してください。

ベストプラクティスを共有する

自動化によって、組織内でベストプラクティスを共有できます。

自動化ドキュメントでリソース管理のベストプラクティスを作成し、AWS リージョンおよびグループ間で簡単にドキュメントを共有できます。また、ドキュメントが受け入れる許可パラメータ値を制約することもできます。

概念

AWS Systems Manager の自動化では、次の概念が使用されます。

概念 詳細

自動化ドキュメント

Systems Manager Automation ドキュメントは、自動化ワークフロー (Systems Manager がマネージドインスタンスおよび AWS リソースで実行するアクション) を定義します。自動化には、いくつかの自動化ドキュメントが事前に定義されており、1 つ以上の Amazon EC2 インスタンスの再起動や、Amazon マシンイメージ (AMI) の作成といった一般的なタスクを実行する際に使用することができます。ドキュメントは JavaScript Object Notation (JSON) や YAML を使用し、これにはユーザーが指定するパラメータおよびステップが含まれます。ステップは順番に実行されます。詳細については、自動化ドキュメントの使用 を参照してください。

自動化アクション

自動化ドキュメントで定義されている自動化ワークフローには、1 つ以上のステップが含まれます。各ステップは、特定のアクションまたはプラグインに関連付けられます。このアクションは、ステップの入力、動作、出力を決定します。各ステップは、自動化ドキュメントの mainSteps セクションで定義されます。詳細については、『Systems Manager Automation アクションのリファレンス』を参照してください。

自動化キュー

各 AWS アカウントは、最大 25 個の自動化を同時に実行できます。この数を超えて実行しようとすると、Systems Manager からキューに対して追加の実行が行われ、保留中のステータスが表示されます。自動化が完了 (または終了状態に到達) すると、キューの最初の実行が開始されます。AWS アカウントごとに最大 75 個の自動化の実行をキューに保存できます。

このページの内容: