スクリプトを実行するランブックを作成する - 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 サービスロールが指定されていない場合は、オートメーションを開始した IAM ユーザーのアクセス許可。

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

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

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

IAM サービスロール、またはより高度な管理の委任を使用するランブックを使用する方法の詳細については、「IAM サービスロールを使用して、オートメーションを実行する」を参照してください。

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

スクリプトインラインをランブック内のステップの一部として含めることで、スクリプトをランブックに追加できます。スクリプトをランブックに添付するには、ローカルマシンからスクリプトをアップロードするか、スクリプトが配置されている Amazon Simple Storage Service (Amazon S3) バケットを指定します。スクリプトを実行するステップが完了すると、スクリプトの出力が JSON オブジェクトとして利用可能になり、ランブックの後続のステップの入力として使用できます。

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

オートメーションアクション aws:executeScript は、Python 3.6、Python 3.7、および PowerShell Core 6.0 スクリプトの実行をサポートしています。

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

オートメーションを使用してスクリプトを実行すると、アカウントに課金されます。アクション aws:executeScript を使用するオートメーションステップは、特別なステップと見なされます。特別なステップにはステップの制限はありませんが、スクリプト実行のステップ数と期間に基づいてアカウントが課金されます。詳細については、AWS Systems Manager 料金表ページを参照してください。

次のトピックでは、スクリプトを実行するランブックの作成方法について説明します。