ランブックでのスクリプトの使用 - AWS Systems Manager

ランブックでのスクリプトの使用

オートメーションランブックは、オートメーションの一部としてスクリプトの実行をサポートします。オートメーションは の一機能ですAWS Systems Manager ランブックを使用すると、スクリプトを実行するための独立したコンピューティング環境を作成せずに、AWS でスクリプトを直接実行できます。ランブックでは、承認などの他のオートメーションステップタイプとともにスクリプトステップを実行できるため、重要な状況やあいまいな状況に手動で介入できます。ランブックの aws:executeScript アクションからの出力を Amazon CloudWatch Logs に送信できます。詳細については、「CloudWatch Logs を使用した自動アクション出力のログ記録」を参照してください。

ランブックを使用するためのアクセス許可

ランブックを使用するには、Systems Manager が AWS Identity and Access Management (IAM) ロールのアクセス許可を使用する必要があります。どのロールのアクセス許可を使用するかを判断するためにオートメーションが使用する方法は、いくつかの要因と、ステップで aws:executeScript アクションを使用するかどうかによって異なります。

aws:executeScript を使用しないランブックの場合、オートメーションは、次の 2 つのアクセス許可ソースのいずれかを使用します。

  • ランブックで指定されているか、パラメータとして渡された IAM サービスロールまたは継承ロールのアクセス許可。

  • IAM サービスロールが指定されていない場合は、オートメーションを開始したユーザーのアクセス許可。

ただし、ランブックのステップに aws:executeScript アクションが含まれている場合、アクションに指定されている Python スクリプトまたは PowerShell スクリプトが AWS API オペレーションを呼び出す場合は、IAM サービスロール (継承ロール) が常に必要です。オートメーションは、このロールを次の順序でチェックします。

  • ランブックで指定されているか、パラメータとして渡された IAM サービスロールまたは継承ロールのアクセス許可。

  • ロールが見つからない場合、オートメーションは aws:executeScript に指定された Python スクリプトまたは PowerShell スクリプトをアクセス許可なしで実行しようとします。スクリプトが AWS API オペレーション (Amazon EC2 CreateImage オペレーションなど) を呼び出している場合、または AWS リソース (EC2 インスタンスなど) に対して動作しようとしている場合、スクリプトを含むステップは失敗し、Systems Manager は失敗をレポートするエラーメッセージを返します。

スクリプトをランブックに追加する

スクリプトインラインをランブック内のステップの一部として含めることで、スクリプトをランブックに追加できます。スクリプトをランブックにアタッチするには、ローカルマシンからスクリプトをアップロードするか、スクリプトが配置されている Amazon Simple Storage Service (Amazon S3) バケットを指定します。スクリプトを実行するステップが完了すると、スクリプトの出力が JSON オブジェクトとして利用可能になり、ランブックの後続のステップの入力として使用できます。aws:executeScript アクションと、スクリプトのアタッチメントの使用方法の詳細については、「aws:executeScript – スクリプトを実行する」を参照してください。

ランブックのスクリプト制約

ランブックでは、5 つの添付ファイルの制限が適用されます。スクリプトは、Python スクリプト (.py)、PowerShell Core スクリプト (.ps1) の形式で、または .zip ファイル内のコンテンツとして添付できます。