Systems Manager Automation を使用した自動オペレーションを実行する
デフォルトでは、オートメーションを実行すると、オートメーションはオートメーションを開始したユーザーのコンテキストで実行されます。例えば、 ユーザーが管理者のアクセス許可を持っている場合、オートメーションは、管理者のアクセス許可とオートメーションで設定されているリソースに対するフルアクセスを使用して実行されます。セキュリティのベストプラクティスとして、オートメーションは、AmazonSSMAutomationRole 管理ポリシーで設定されている IAM サービスロール (継承ロールとも呼ばれる) を使用して実行することをお勧めします。さまざまなランブックを使用するために、継承ロールに IAM ポリシーを追加する必要がある場合があります。IAM サービスロールを使用したオートメーションの実行は、委任管理者と呼ばれます。
サービスロールを使用すると、AWS リソースに対してオートメーションを実行することはできますが、オートメーションを実行したユーザーによる、それらのリソースに対するアクセスは制限されます (またはアクセスできません)。例えば、サービスロールを設定後、オートメーションでそのロールを使用して、1 つ以上の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを再起動できます。Automation は AWS Systems Manager のツールです。オートメーションによってインスタンスは再起動されますが、ユーザーがそのサービスロールを使用して、そのインスタンスにアクセスすることはできません。
オートメーションを実行する際、ランタイムでサービスロールを指定するか、カスタムのランブックを作成して、ランブックで直接サービスロールを指定することができます。ランタイム時またはランブックでサービスロールを指定した場合、サービスは、指定したサービスロールのコンテキストで実行されます。サービスロールを指定しない場合、システムは、ユーザーのコンテキストで一時セッションを作成し、オートメーションを実行します。
注記
オートメーションを 12 時間以上実行する場合は、サービスロールを指定する必要があります。ユーザーのコンテキストで長時間稼働するオートメーションを開始すると、ユーザーの一時セッションの有効期限は 12 時間後に切れます。
委任管理者は、AWS リソースの昇格されたセキュリティと制御を保証します。また、アクションは複数の IAM リソースではなく、主要サービスロールのリソースに対して実行されているため、監査プロセスを強化することができます。
[開始する前に]
次の手順を完了する前に、IAM サービスロールを作成し、AWS Systems Manager のツールである Automation への信頼関係を設定する必要があります。詳細については、「タスク 1: 自動化のサービスロールを作成する」を参照してください。
次の手順では、Systems Manager コンソールまたは任意のコマンドラインツールを使用してシンプルなオートメーションを実行する方法を説明します。
シンプルなオートメーションを実行する (コンソール)
次の手順では、Systems Manager コンソールを使用してシンプルなオートメーションを実行する方法を説明します。
シンプルなオートメーションを実行するには
AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/
) を開きます。 -
ナビゲーションペインで、[オートメーション]、[オートメーションの実行] の順に選択します。
-
[Automation document (自動化ドキュメント)] リストで、ランブックを選択します。[Document categories (ドキュメントカテゴリ)] ペインで 1 つ以上のオプションを選択して、目的に応じて SSM ドキュメントをフィルタリングします。自分が所有するランブックを表示するには、[Owned by me (自分が所有)] タブを選択します。自分のアカウントと共有されているランブックを表示するには、[Shared with me (共有ファイル)] タブを選択します。すべてのランブックを表示するには、[すべてのドキュメント] タブを選択します。
注記
ランブックの名前を選択すると、ランブックに関する情報を表示できます。
-
[Document details (ドキュメントの詳細)] セクションで、[Document version (ドキュメントのバージョン)] が実行するバージョンに設定されていることを確認します。システムには、次のバージョンのオプションが含まれています。
-
[ランタイムのデフォルトバージョン]: 自動化ランブックが定期的に更新され、新しいデフォルトバージョンが割り当てられている場合は、このオプションを選択します。
-
[ランタイムの最新バージョン]: 自動化ランブックが定期的に更新され、直前に更新されたバージョンを実行する場合は、このオプションを選択します。
-
[1 (デフォルト)]: ドキュメントの最初のバージョンを実行するには、このオプションを選択します。これはデフォルト設定です。
-
-
[次へ] を選択します。
-
[Execution Mode (実行モード)] セクションで、[Simple execution (シンプルな実行)] を選択します。
[Input parameters (入力パラメータ)] セクションで、必要な入力を指定します。必要に応じて、[AutomationAssumeRole] リストから IAM サービスロールを選択できます。
-
(オプション) モニタリング用のオートメーションに適用する CloudWatch アラームを選択します。CloudWatch アラームをオートメーションにアタッチするには、コマンドを実行する IAM プリンシパルに
iam:createServiceLinkedRole
アクションの権限が必要です。CloudWatch アラームの詳細については、「Amazon CloudWatch でのアラームの使用」を参照してください。アラームが作動すると、オートメーションは停止されます。AWS CloudTrail を使用する場合、トレイルに API コールが表示されます。 -
[Execute] を選択します。
オートメーションのステータスがコンソールに表示されます。オートメーションの実行に失敗した場合は、「Systems Manager Automation のトラブルシューティング」を参照してください。
オートメーション実行が完了したら、同じパラメータまたは変更されたパラメータを使用して実行を再実行できます。詳細については、「オートメーション実行の再実行」を参照してください。
シンプルなオートメーションを実行する (コマンドライン)
次の手順では、AWS CLI (Linux または Windows) または AWS Tools for PowerShell を使用してシンプルなオートメーションを実行する方法を説明します。
シンプルなオートメーションを実行するには
まだ AWS CLI または AWS Tools for PowerShell をインストールして設定していない場合は、インストールして設定します。
詳細については、「AWS CLI の最新バージョンをインストールまたは更新します。」および「AWS Tools for PowerShell のインストール」を参照してください。
-
以下のコマンドを実行して、シンプルなオートメーションを開始します。各
リソースプレースホルダーの例
をユーザー自身の情報に置き換えます。ランブック
AWS-RestartEC2Instance
を使用して指定した EC2 インスタンスを再起動する例を次に示します。システムが以下のような情報を返します。
-
次のコマンドを実行してオートメーションのステータスを取得します。
システムが以下のような情報を返します。