スクリプトを実行するランブックを作成する (コンソール) - AWS Systems Manager

スクリプトを実行するランブックを作成する (コンソール)

スクリプトを実行するランブックを作成するには

次の手順では、AWS Systems Manager コンソールでドキュメントビルダーを使用する方法と、指定したスクリプトを実行するカスタムランブックを作成する方法について説明します。

  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[ドキュメント] を選択します。

    -または-

    AWS Systems Manager ホームページが最初に開く場合は、メニューアイコン ( ) を選択してナビゲーションペインを開き、[ドキュメント] を選択します。

  3. [Create automation (オートメーションを作成)] を選択します。

  4. [名前] に、ランブックのわかりやすい名前を入力します。

  5. [Document description (ドキュメントの説明)] に、ランブックのマークダウンスタイルの説明を入力します。ランブック、番号付きステップ、またはその他の種類の情報を使用してランブックを説明できます。コンテンツの書式設定については、デフォルトのテキストを参照してください。

    ヒント

    [Hide preview (プレビューを非表示)] と [Show preview (プレビューを表示)] を切り替えて、作成時に説明の内容がどのように表示されるかを確認します。

  6. (オプション) [Assume role (ロールの継承)] に、ユーザーに代わってアクションを実行するサービスロールの名前または Amazon Resource Name (ARN) を入力します。ロールを指定しない場合、オートメーションはオートメーションを呼び出すユーザーのアクセス許可を使用します。

    重要

    aws:executeScript アクションを使用する Amazon が所有していないランブックの場合、ロールを指定する必要があります。詳細については、ランブックを使用するためのアクセス許可 を参照してください。

  7. (オプション) [Outputs (入力)] に、オートメーションの出力を入力して、他のプロセスで使用できるようにします。

    例えば、ランブックが新しい AMI を作成する場合、["CreateImage.ImageId"] を指定し、この出力を使用して後続のオートメーションで新しいインスタンスを作成できます。

  8. (オプション) [Input parameters (入力パラメータ)] セクションを展開し、次の操作を行います。

    1. [Parameter name (パラメータ名)] に、作成するランブックパラメータのわかりやすい名前を入力します。

    2. [Type (タイプ)] で、パラメータのタイプ(StringStringList など)を選択します。

    3. [Required (必須)] で、次のいずれかの操作を行います。

      • ランタイムにこのランブックパラメータの値を指定する必要がある場合は、[Yes (はい)] を選択します。

      • パラメータが不要な場合は、[No (いいえ)] を選択し、(オプション) [Default value (デフォルト値)] にデフォルトのパラメータ値を入力します。

    4. [Description (説明)] に、ランブックパラメータの説明を入力します。

    注記

    ランブックパラメータをさらに追加するには、[Add a parameter (パラメータを追加)] を選択します。ランブックパラメータを削除するには、[X] (削除) ボタンを選択します。

  9. (オプション) [Target type (ターゲットタイプ)] セクションを展開し、ターゲットタイプを選択して、ランブックが実行できるリソースの種類を定義します。たとえば、EC2 インスタンスでランブックを使用するには、/AWS::EC2::Instance を選択します。

    注記

    /」の値を指定すると、ランブックはすべてのタイプのリソースで実行できます。有効なリソースタイプのリストについては、AWS CloudFormation ユーザーガイドAWS リソースタイプのリファレンスをご参照ください。

  10. [Step 1 (ステップ 1)] セクションで、次の情報を入力します。

    • [Step name (ステップ名)] に、オートメーションの最初のステップのわかりやすい名前を入力します。

    • [Action type (アクションタイプ)] で、[Run a script (スクリプトの実行)] (aws:executeScript) を選択します。

    • [Description (説明)] に、オートメーションステップの説明を入力します。Markdown を使用してテキストの書式を設定できます。

  11. [Inputs (入力)] セクションを展開し、次の情報を入力します。

    • [Runtime (ランタイム)] で、追加するスクリプトのタイプを選択します。オートメーションは Python 3.6、Python 3.7、および PowerShell Core 6.0 をサポートしています。

    • [Handler (ハンドラー)] に、スクリプトから関数名を入力します。(PowerShell では必須ではありません)。

      重要

      ハンドラで定義された関数に、eventscontext の 2 つのパラメータがあることを確認する必要があります。たとえば、スクリプトが次のように始まっている場合は、「launch_instance」と入力します。

      def launch_instance(events, context): import boto3 ec2 = boto3.client('ec2') [...truncated...]
    • [Script (スクリプト)] で、ランブックにスクリプトを提供する方法を選択します。

      • ランブック内にスクリプトを埋め込むには、テキストボックス領域にスクリプトコードを入力します。

        -または-

      • [Attachment (添付ファイル)] で、[Stored on my machine (マシンに保存されている)] または [Upload S3 File URL (S3 ファイルの URL をアップロード)] を選択します。

        [Stored on my machine (マシンに保存されている)] を選択する場合: Amazon S3 URL に、アップロード添付ファイルを保存するアカウント内の S3 バケットの場所を入力し、[Upload (アップロード)] を選択してファイルに移動させ選択します。

        [Upload S3 File URL (S3 ファイルの URL をアップロード)] を選択した場合は、次の情報を入力します。

        • [S3 file url (S3 ファイルの url)]: ファイルが保存されているアカウントの S3 バケット内の場所を入力します。

        • [File name (ファイル名)]: ファイルの名前を入力します。

        • ファイルチェックサム: sha256 アルゴリズムを使用して、ファイルのチェックサムを入力します。

          ヒント

          Linux の shasum のようなツールを使用して、ファイルのチェックサムを sha256 で計算することができます。例:「shasum -a 256 /path/to/file」。Windows では、Get-FileHash PowerShell コマンドレットを使用して同じ情報を取得できます。この値では、ETag または md5 チェックサムが機能しません。

  12. (オプション) [Additional inputs (追加入力)] を展開し、次の操作を実行します。

    • 入力名には InputPayload を選択します。- YAML 形式の関数入力。

    • [Input value (入力値)] に、スクリプト入力を YAML 形式で入力します。

  13. (オプション) [Outputs] (出力) を展開し、このステップで作成する出力の [Name] (名前)、[Selector] (セレクタ)、および [Type] (タイプ) を入力します。ステップ出力は、ランブックの後続のステップで使用できます。ここでは、デモンストレーションの例をいくつか示します。

    [Name (名前)]: myInstance | [Selector (セレクタ)]: $.InstanceInformationList[0].InstanceId | [Type (タイプ)]: String

    [Name (名前)]: platform | [Selector (セレクタ)]: $.Reservations[0].Instances[0].Platform | [Type (タイプ)]: String

    [Name (名前)]: message | [Selector (セレクタ)]: $.Payload.message | [Type (タイプ)]: String

    出力の詳細については、「入力と出力の使用」を参照してください。

    ヒント

    さらに出力を追加するには、[Add output (出力を追加)] を選択します。

  14. (オプション) [Common properties (共通プロパティ)] セクションを展開し、すべてのオートメーションアクションに共通するアクションのプロパティを指定します。例えば、[Timeout seconds (タイムアウト秒)] には、ステップが停止するまでの実行時間を指定するための値を秒単位で指定できます。

    詳細については、「」を参照してくださいすべてのアクションで共有されるプロパティ

    注記

    ステップをさらに追加するには、[Add step (ステップを追加)] を選択し、ステップを作成する手順を繰り返します。ステップを削除するには、[Remove step (ステップを削除)] を選択します。

  15. [Create document (ドキュメントの作成)] を選択してランブックを保存します。