メニュー
Amazon EC2 Systems Manager
ユーザーガイド

Systems Manager Automation アクション

Systems Manager 自動化は、自動化のドキュメントで定義されたステップを実行します。各ステップは、特定のオペレーションに関連付けられます。このアクションは、ステップの入力、動作、出力を決定します。各ステップは、自動化ドキュメントの mainSteps セクションで定義されます。自動化は、次のアクションをサポートします。

  • aws:approve: 指定されたプリンシパルによってアクションか承認または拒否されるまで、一時的にオートメーションの実行を停止します。必要な承認数が得られると、オートメーションの実行が再開されます。

  • aws:changeInstanceState: インスタンスの状態を変更します。

  • aws:copyImage: 任意のリージョンから現在のリージョンに AMI をコピーします。このアクションでは、新しい AMI を暗号化することもできます。

  • aws:createImage: 実行中のインスタンスから AMI を作成します。

  • aws:createStack: テンプレートから新しい AWS CloudFormation スタックを作成します。

  • aws:createTags: Amazon EC2 インスタンスまたは Systems Manager マネージドインスタンス用の新しいタグを作成します。

  • aws:deleteImage: AMI を削除します。

  • aws:deleteStack: AWS CloudFormation スタックを削除します。

  • aws:executeAutomation: セカンダリ自動化ドキュメントを呼び出してセカンダリ自動化ワークフローを実行します。

  • aws:invokeLambdaFunction: Automation ワークフローで外部ワーカー関数を実行できます。

  • aws:runCommand: リモートコマンドを実行します。

  • aws:runInstances: 1 つ以上のインスタンスを起動します。

  • aws:sleep: 自動化の実行を指定する時間で遅延します。

アクションまたはステップの出力を指定する必要はありません。出力は、ステップに関係付けられるアクションで事前判断されます。自動化ドキュメントでステップ入力を指定すると、前のステップの 1 つあるいは複数の出力を参照できます。たとえば、aws:runInstances の出力は後続の aws:runCommand アクションで利用できます。自動化ドキュメントの Output セクションで前のステップの出力を参照することもできます。

すべてのアクションに共通のプロパティ

以下のプロパティは、すべてのアクションに共通です。

Copy
"mainSteps": [ { "name": "name", "action": "action", "maxAttempts": value, "timeoutSeconds": value, "onFailure": "Abort", "inputs": { ... } }, { "name": "name", "action": "action", "maxAttempts": value, "timeoutSeconds": value, "onFailure": "Abort", "inputs": { ... } } ]
name

ドキュメントのすべてのステップ名にわたって一意でなければならない識別子。

型: 文字列

必須: はい

action

ステップで実行するアクションの名前。

型: 文字列

必須: はい

maxAttempts

ステップが失敗した場合は再試行する回数。指定した値が 1 より大きい場合、すべての再試行が失敗するまでステップは失敗したと見なされません。デフォルト値は 1 です。

タイプ: 整数

必須: いいえ

timeoutSeconds

ステップの実行のタイムアウト値。タイムアウトが達したときに maxAttempts の値が 1 以上の場合、すべての再試行が実行されるまでこのステップはタイムアウトとは見なされません。このフィールドにデフォルト値はありません。

タイプ: 整数

必須: いいえ

onFailure

失敗時にワークフローを続行するかどうかを示します。デフォルトでは、失敗時に中止します。

型: 文字列

有効な値: Abort | Continue

必須: いいえ

inputs

アクション固有のプロパティ。

タイプ: マップ

必須: はい

aws:approve

指定されたプリンシパルによってアクションか承認または拒否されるまで、一時的にオートメーションの実行を停止します。必要な承認数が得られると、オートメーションの実行が再開されます。オートメーションドキュメントの mainSteps セクションの任意の場所に承認ステップを挿入できます。

次の例では、aws:approve アクションによって、1 つの承認者がワークフローを許可または拒否するまで、一時的にオートメーションワークフローが停止します。承認されると、ドキュメントはシンプルな PowerShell コマンドを実行します。

Copy
{ "description":"RunInstancesDemo1", "schemaVersion":"0.3", "assumeRole":"{{ assumeRole }}", "parameters":{ "assumeRole":{ "type":"String" }, "message":{ "type":"String" } }, "mainSteps":[ { "name":"approve", "action":"aws:approve", "timeoutSeconds":1000, "onFailure":"Abort", "inputs":{ "NotificationArn":"arn:aws:sns:us-east-1:12345678901:AutomationApproval", "Message":"{{ message }}", "MinRequiredApprovals":1, "Approvers":[ "arn:aws:iam::12345678901:user/AWS-User-1" ] } }, { "name":"run", "action":"aws:runCommand", "inputs":{ "InstanceIds":[ "i-1a2b3c4d5e6f7g" ], "DocumentName":"AWS-RunPowerShellScript", "Parameters":{ "commands":[ "date" ] } } } ] }

Amazon EC2 コンソールで承認を待機中の自動化を承認または拒否できます。

待機中の自動化を許可または拒否するには

  1. Amazon EC2 コンソールを開き、ナビゲーションペインの [Systems Manager Services] を展開し、[Automations] を選択します。

  2. ステータスが [Waiting] の自動化を選択し、[Actions] を選択してから、[Approve/Deny this request] を選択します。

     [Approve/Deny Automation] ページへのアクセス
  3. [Approve/Deny this request] ページで、自動化の詳細を確認します。

     自動化アクションを許可または拒否するプロンプト
  4. [Approve] または [Reject] を選択し、オプションでコメントを入力して、[Submit] を選択します。

入力

Copy
{ "NotificationArn":"arn:aws:sns:us-west-1:12345678901:Automation-ApprovalRequest", "Message":"Please approve this step of the Automation.", "MinRequiredApprovals":3, "Approvers":[ "IamUser1", "IamUser2", "arn:aws:iam::12345678901:user/IamUser3", "arn:aws:iam::12345678901:role/IamRole" ] }
NotificationArn

オートメーション承認の Amazon SNS トピックの ARN。オートメーションドキュメントで aws:approve ステップを指定すると、オートメーションはこのトピックにメッセージを送信し、プリンシパルにオートメーションステップを承認または拒否する必要があることを通知します。Amazon SNS トピックのタイトルは「Automation」というプレフィックスをつける必要があります。

型: 文字列

必須: いいえ

メッセージ

承認リクエストが送信されるときに SNS トピックに含める情報。メッセージの最大長は 4096 文字です。

型: 文字列

必須: いいえ

MinRequiredApprovals

オートメーションの実行が再開されるために必要な承認の最小数。値を指定しない場合、システムによるデフォルトは 1 です。このパラメータの値は、正の数にする必要があります。このパラメータの値は、Approvers パラメータで定義された承認者の数を超えることはできません。

タイプ: 整数

必須: いいえ

Approvers

アクションを承認または拒否できる AWS の認証プリンシパルのリスト。承認者の最大数は 10 です。プリンシパルは、次のいずれかの形式を使用して指定できます。

  • AWS Identity and Access Management (IAM) ユーザー名

  • IAM ユーザー ARN

  • IAM ロール ARN

  • IAM ロール継承ユーザー ARN

タイプ: StringList

必須: はい

出力

ApprovalStatus

ステップの承認ステータス。ステータスは、Approved、Rejected、または Waiting のいずれかです。Waiting はオートメーションが承認者の入力を待っていることを意味します。

型: 文字列

ApproverDecisions

各承認者の承認状況を含む JSON マップです。

タイプ: MapList

aws:changeInstanceState

インスタンスの状態を変更またはアサートします。

このアクションは、アサートモードで使用できます (API は実行して状態を変更することはしませんが、インスタンスが目的の状態であることを検証します)。アサートモードを使用するには、CheckStateOnly パラメータを true に設定します。このモードは、Windows で Sysprep (バックグラウンドで長期に実行できる非同期コマンド) を実行するときに役立ちます。AMI を作成する前に、インスタンスが停止していることを確認できます。

入力

Copy
{ "name":"stopMyInstance", "action": "aws:changeInstanceState", "maxAttempts": 3, "timeoutSeconds": 3600, "onFailure": "Abort", "inputs": { "InstanceIds": ["i-1234567890abcdef0"], "CheckStateOnly": true, "DesiredState": "stopped" } }
InstanceIds

インスタンスの ID。

型: 文字列

必須: はい

CheckStateOnly

false の場合、インスタンスの状態は目的の状態に設定されます。true の場合、ポーリングを使用して目的の状態をアサートします。

タイプ: ブール値

必須: いいえ

DesiredState

目的の状態。

型: 文字列

有効な値: running | stopped | terminated

必須: はい

Force

設定した場合、インスタンスが強制的に停止されます。インスタンスによって、ファイルシステムキャッシュまたはファイルシステムメタデータがフラッシュされることはありません。このオプションを使用する場合は、ファイルシステムのチェックと修復の手順を手動で実行する必要があります。このオプションは Windows インスタンスにはお勧めしません。

タイプ: ブール値

必須: いいえ

AdditionalInfo

リザーブド。

型: 文字列

必須: いいえ

出力

なし

aws:copyImage

任意のリージョンから現在のリージョンに AMI をコピーします。このアクションでは、新しい AMI を暗号化することもできます。

Input

このアクションでは、ほとんどの CopyImage パラメータがサポートされています。詳細については、「CopyImage」を参照してください。

次の例では、ソウルリージョンで AMI のコピーを作成します (SourceImageID: ami-0fe10819. SourceRegion: ap-northeast-2)。新しい AMI が、Automation アクションを開始したリージョンにコピーされます。オプションの Encrypted フラグが true に設定されているため、コピーされた AMI は暗号化されます。

Copy
{ "name": "createEncryptedCopy", "action": "aws:copyImage", "maxAttempts": 3, "onFailure": "Abort", "inputs": { "SourceImageId": "ami-0fe10819", "SourceRegion": "ap-northeast-2", "ImageName": "Encrypted Copy of LAMP base AMI in ap-northeast-2", "Encrypted": true } }
SourceRegion

ソース AMI が現在存在するリージョン。

型: 文字列

必須: はい

SourceImageId

ソースリージョンからコピーする AMI ID。

型: 文字列

必須: はい

ImageName

新しいイメージの名前。

型: 文字列

必須: はい

ImageDescription

ターゲットイメージの説明。

型: 文字列

必須: いいえ

暗号化済み

ターゲット AMI を暗号化します。

タイプ: ブール値

必須: いいえ

KmsKeyId

コピーオペレーション中にイメージのスナップショットを暗号化するときに使用する AWS Key Management Service CMK の Amazon リソースネーム (ARN)。詳細については、「CopyImage」を参照してください。

型: 文字列

必須: いいえ

ClientToken

リクエストのべき等のために割り当てる一意の識別子 (大文字と小文字を区別)。詳細については、「CopyImage」を参照してください。

型: 文字列

必須: いいえ

出力

ImageId

コピーされたイメージの ID。

ImageState

コピーされたイメージの状態。

有効な値: available | pending | failed

aws:createImage

停止したインスタンスから新しい AMI を作成します。

重要

このアクションにより、インスタンスは暗黙的に停止されません。ユーザーが aws:changeInstanceState アクションを使用してインスタンスを停止する必要があります。このアクションを実行中のインスタンスで使用すると、欠陥のある AMI が作成される場合があります。

Input

このアクションでは、ほとんどの CreateImage パラメータがサポートされています。詳細については、「CreateImage」を参照してください

Copy
{ "name": "createMyImage", "action": "aws:createImage", "maxAttempts": 3, "onFailure": "Abort", "inputs": { "InstanceId": "i-1234567890abcdef0", "ImageName": "AMI Created on{{global:DATE_TIME}}", "NoReboot": true, "ImageDescription": "My newly created AMI" } }
InstanceId

インスタンスの ID。

型: 文字列

必須: はい

ImageName

イメージの名前。

型: 文字列

必須: はい

ImageDescription

イメージの説明。

型: 文字列

必須: いいえ

NoReboot

ブールリテラルです。

タイプ: ブール値

必須: いいえ

BlockDeviceMappings

インスタンスのブロックデバイス。

タイプ: マップ

必須: いいえ

出力

ImageId

新しく作成したイメージの ID。

ImageState

文字列リテラル値として渡される実行スクリプト。リテラル値を入力する場合、Base64 エンコードである必要があります。

必須: いいえ

aws:createStack

テンプレートから新しい AWS CloudFormation スタックを作成します。

入力

Copy
{ "name": "makeStack", "action": "aws:createStack", "maxAttempts": 1, "onFailure": "Abort", "inputs": { "Capabilities": [ "CAPABILITY_IAM" ], "StackName": "myStack", "TemplateURL": "http://s3.amazonaws.com/mybucket/myStackTemplate", "TimeoutInMinutes": 5 } }
機能

AWS CloudFormation が特定のスタックを作成できる前に指定する値の一覧。一部のスタックテンプレートには、AWS アカウントのアクセス許可に影響するリソースが含まれます。たとえば、新しい AWS Identity and Access Management (IAM) ユーザーの作成は、アカウントのアクセス許可に影響する可能性があります。このようなスタックの場合は、このパラメータを指定して、それらの機能を明示的に認識する必要があります。

有効な値は、CAPABILITY_IAMCAPABILITY_NAMED_IAM のみです。このパラメーターを指定するためには、以下のリソースが必要です。

スタックテンプレートにこのリソースが含まれている場合、これらに関連付けられるすべてのアクセス許可を確認して、必要時にはそのアクセス許可を編集することが推奨されます。

IAM リソースがある場合、どちらの機能でも指定できます。カスタム名を持つ IAM リソースがある場合は、CAPABILITY_NAMED_IAM を指定する必要があります。このパラメータを指定しない場合、このアクションは InsufficientCapabilities エラーを返します。

詳細については、「AWS CloudFormation テンプレートの IAM リソースの承認」を参照してください。

タイプ: 文字列の配列

有効な値: CAPABILITY_IAM | CAPABILITY_NAMED_IAM

必須: いいえ

DisableRollback

スタックの作成に失敗した場合にスタックのロールバックを無効化するために、true を設定します。

条件付き: DisableRollback パラメーター、あるいは OnFailure パラメーターのどちらかを指定できますが、両方を指定することはできません。

デフォルト: False

タイプ: ブール値

必須: いいえ

NotificationARNs

スタック関連イベントを発行する Amazon SNS トピック ARN。Amazon SNS コンソール、https://console.aws.amazon.com/sns/v2/home リンクを使用して、SNS トピック ARS を検出できます。

タイプ: 文字列の配列

配列メンバー: 5 つの項目の最大数。

必須: いいえ

OnFailure

スタックの作成に失敗した場合に実行するアクションを決定します。DO_NOTHINGROLLBACK または DELETE を指定する必要があります。

条件付き: OnFailure パラメーター、あるいは DisableRollback パラメーターのどちらかを指定できますが、両方を指定することはできません。

デフォルト: ROLLBACK

型: 文字列

有効な値: DO_NOTHING | ROLLBACK | DELETE

必須: いいえ

Parameters

スタック用の入力パラメーターを指定する Parameter 構造のリスト。詳細については、「パラメーター」データタイプを参照してください。

タイプ: 「パラメーター」オブジェクトの配列

必須: いいえ

ResourceTypes

作成したこのスタックアクションで動作するアクセス許可があるテンプレートリソースの種類。たとえば、AWS::EC2::InstanceAWS::EC2::*、または Custom::MyCustomInstance などです。次の構文を使用して、テンプレートリソースの種類を記述します。

  • すべての AWS リソース用

    AWS::*
  • すべてのカスタムリソース用:

    Custom::*
  • 特定のカスタムリソース用:

    Custom::logical_ID
  • 特定の AWS サービスのすべてのリソース用:

    AWS::service_name::*
  • 特定の AWS リソース用:

    AWS::service_name::resource_logical_ID

リソースの種類のリストに作成しているリソースが含まれていない場合、スタックの作成は失敗します。デフォルトでは、AWS CloudFormation によってすべてのリソースの種類にアクセス許可が付与されます。IAM は、IAM ポリシーで AWS CloudFormation に特定される条件のキーにこのパラメーターを使用します。詳細については、「Controlling User Access With AWS Identity and Access Management」を参照してください。

タイプ: 文字列の配列

長さの制限: 最小長は 1 です。最大長は 256 です。

必須: いいえ

RoleARN

AWS CloudFormation がスタックを作成するために引き受ける IAM ロールの Amazon リソースネーム (ARN)。AWS CloudFormation は、ユーザーに代わって呼び出しを行うためにロールの認証情報を使用します。AWS CloudFormation は、このスタックにおけるこれからのすべてのオペレーションにこのロールを常に使用します。ユーザーにこのスタックで操作できるアクセス許可がある限り、ユーザーに渡す許可がない場合でも、AWS CloudFormation はこのロールを使用します。ロールに最小限の特権が付与されていることを確認してください。

値を指定しない場合、AWS CloudFormation は以前にこのスタックに関連付けられたロールを使用します。利用できるロールがない場合、AWS CloudFormation はユーザー認証情報から生成される一時セッションを使用します。

型: 文字列

長さの制限: 最小長は 20 です。最大長は 2048 です。

必須: いいえ

StackName

スタックに関連付けられる名前。この名前は、作成しているスタックのリージョン内で一意であることが必要です。

注記

スタック名には、英数字(大文字と小文字が区別されます)とハイフンのみを使用できます。先頭の文字はアルファベット文字である必要があります。また、128 文字より長くすることはできません。

型: 文字列

必須: はい

StackPolicyBody

スタックポリシー本文を含む構造。詳細については、「スタックのリソースが更新されないようにする」を参照してください。

条件付き: StackPolicyBody パラメーター、あるいは StackPolicyURL パラメーターのどちらかを指定できますが、両方を指定することはできません。

型: 文字列

長さの制限: 最小長は 1 です。最大長は 16384 です。

必須: いいえ

StackPolicyURL

スタックポリシーを含むファイルの場所。URL は、スタックと同じリージョンにある Amazon S3 バケット内のポリシーを指定する必要があります。スタックポリシーに許可される最大のファイルサイズは 16 KB になります。

条件付き: StackPolicyBody パラメーター、あるいは StackPolicyURL パラメーターのどちらかを指定できますが、両方を指定することはできません。

型: 文字列

長さの制限: 最小長は 1 です。最大長は 1350 です。

必須: いいえ

Tags

このスタックに関連付るキー値のペア。また、AWS CloudFormation はスタックで作成されたリソースにこれらのタグを伝達します。最大で 10 個のタグを指定できます。

タイプ: 「タグ」オブジェクトの配列

必須: いいえ

TemplateBody

最少長が 1 バイトで最大長が 51,200 バイトのテンプレート本文がある構造。詳細については、「テンプレートの分析」を参照してください。

条件付き: TemplateBody パラメーター、あるいは TemplateURL パラメーターのどちらかを指定できますが、両方を指定することはできません。

型: 文字列

長さの制限: 最小長は 1 です。

必須: いいえ

TemplateURL

テンプレート本文を含むファイルの場所。URL は、Amazon S3 バケット内にあるテンプレートを指定する必要があります。テンプレートに許可される最大サイズは 460,800 バイトです。詳細については、「テンプレートの分析」を参照してください。

条件付き: TemplateBody パラメーター、あるいは TemplateURL パラメーターのどちらかを指定できますが、両方を指定することはできません。

型: 文字列

長さの制限: 最小長は 1 です。最大長は 1024 です。

必須: いいえ

TimeoutInMinutes

スタックステータスが CREATE_FAILED になるまでに経過できる時間数。DisableRollback が設定されない、あるいは false に設定されている場合、スタックはロールバックされます。

タイプ: 整数

値の範囲: 最小値 は 1 です。

必須: いいえ

出力

StackId

スタックの一意の識別子です。

型: 文字列

StackStatus

スタックの現在のステータス。

型: 文字列

有効な値: CREATE_IN_PROGRESS | CREATE_FAILED | CREATE_COMPLETE | ROLLBACK_IN_PROGRESS | ROLLBACK_FAILED | ROLLBACK_COMPLETE | DELETE_IN_PROGRESS | DELETE_FAILED | DELETE_COMPLETE | UPDATE_IN_PROGRESS | UPDATE_COMPLETE_CLEANUP_IN_PROGRESS | UPDATE_COMPLETE | UPDATE_ROLLBACK_IN_PROGRESS | UPDATE_ROLLBACK_FAILED | UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS | UPDATE_ROLLBACK_COMPLETE | REVIEW_IN_PROGRESS

必須: はい

StackStatusReason

スタックステータスに関連付けられる成功あるいは失敗のメッセージ。

型: 文字列

必須: いいえ

詳細については、「CreateStack」を参照してください

セキュリティに関する考慮事項

aws:createStack アクションを使用できる前に、IAM 自動化が継承するロールに次のポリシーを割り当てる必要があります。継承ロールの詳細については、「タスク 2: Automation 用に IAM ロールを作成する」を参照してください。

Copy
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "sqs:*", "cloudformation:CreateStack", "cloudformation:DescribeStacks" ], "Resource":"*" } ] }

aws:createTags

Amazon EC2 インスタンスまたは Systems Manager マネージドインスタンス用の新しいタグを作成します。

Input

このアクションは EC2 CreateTags および SSM AddTagsToResource のほとんどのパラメータをサポートします。詳細については、「CreateTags」および「AddTagsToResource」を参照してください。

次の例は、AMI とインスタンスに、特定の部門の本番稼働用リソースとしてタグを付ける方法を示しています。

Copy
{ "name": "createTags", "action": "aws:createTags", "maxAttempts": 3, "onFailure": "Abort", "inputs": { "ResourceType": "EC2", "ResourceIds": [ "ami-9a3768fa", "i-02951acd5111a8169" ], "Tags": [ { "Key": "production", "Value": "" }, { "Key": "department", "Value": "devops" } ] } }
ResourceIds

タグを付けるリソースの ID。リソースタイプが「EC2」でない場合、このフィールドは 1 つの項目のみを含むことができます。

型: 文字列のリスト

必須: はい

Tags

リソースに関連付けるタグ。

型: マップのリスト

必須: はい

ResourceType

タグを付けるリソースのタイプ。指定しない場合は、デフォルト値の「EC2」が使用されます。

型: 文字列

必須: いいえ

有効な値: EC2 | ManagedInstance | MaintenanceWindow | Parameter

出力

なし

aws:deleteImage

指定されたイメージおよびすべての関連するスナップショットを削除します。

Input

このアクションでは 1 つのパラメータのみがサポートされています。詳細については、DeregisterImageDeleteSnapshot のドキュメントを参照してください。

Copy
{ "name": "deleteMyImage", "action": "aws:deleteImage", "maxAttempts": 3, "timeoutSeconds": 180, "onFailure": "Abort", "inputs": { "ImageId": "ami-12345678" } }
ImageId

削除するイメージの ID。

型: 文字列

必須: はい

出力

なし

aws:deleteStack

AWS CloudFormation スタックを削除します。

入力

Copy
{ "name":"deleteStack", "action":"aws:deleteStack", "maxAttempts":1, "onFailure":"Abort", "inputs":{ "StackName":"{{stackName}}" } }
ClientRequestToken

この DeleteStack リクエストの一意な識別子。お客様が同じ名前のスタックを削除しようとしていないと AWS CloudFormation に認識させるためにリクエストを再試行する場合は、このトークンを指定します。DeleteStack リクエストをリトライし、AWS CloudFormation が受信することを確認できます。

型: 文字列

長さの制限: 最小長は 1 です。最大長は 128 です。

パターン: [a-zA-Z][a-zA-Z0-9]*

必須: いいえ

RetainResources.member.N

この入力は、DELETE_FAILED 状態にあるスタックにのみ適用されます。お客様が保持したいリソースの論理リソース ID のリストです。削除中、AWS CloudFormation はスタックを削除しますが、保持したリソースは削除しません。

オブジェクトを含む空白でない Amazon S3 バケットなど、削除できないリソースは残すと便利ですが、スタックの削除が必要な場合もあります。

タイプ: 文字列の配列

必須: いいえ

RoleARN

AWS CloudFormation がスタックを作成するために引き受ける IAM ロールの Amazon リソースネーム (ARN)。AWS CloudFormation は、ユーザーに代わって呼び出しを行うためにロールの認証情報を使用します。AWS CloudFormation は、このスタックにおけるこれからのすべてのオペレーションにこのロールを常に使用します。ユーザーにこのスタックで操作できるアクセス許可がある限り、ユーザーに渡す許可がない場合でも、AWS CloudFormation はこのロールを使用します。ロールに最小限の特権が付与されていることを確認してください。

値を指定しない場合、AWS CloudFormation は以前にこのスタックに関連付けられたロールを使用します。利用できるロールがない場合、AWS CloudFormation はユーザー認証情報から生成される一時セッションを使用します。

型: 文字列

長さの制限: 最小長は 20 です。最大長は 2048 です。

必須: いいえ

StackName

スタックと関連付けられている名前または一意のスタック ID。

型: 文字列

必須: はい

セキュリティに関する考慮事項

aws:deleteStack アクションを使用できる前に、IAM 自動化が継承するロールに次のポリシーを割り当てる必要があります。継承ロールの詳細については、「タスク 2: Automation 用に IAM ロールを作成する」を参照してください。

Copy
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "sqs:*", "cloudformation:DeleteStack", "cloudformation:DescribeStacks" ], "Resource":"*" } ] }

aws:executeAutomation

セカンダリオートメーションドキュメントを呼び出してセカンダリオートメーションワークフローを実行します。このアクションを使用すると、一般的なほとんどのワークフローのオートメーションドキュメントを作成し、オートメーションの実行中にこれらのドキュメントを参照できます。このアクションでは、同じようなドキュメント間でステップを重複させる必要をなくすことにより、オートメーションドキュメントを簡素化できます。

セカンダリオートメーションは、プライマリオートメーションを開始したユーザーのコンテキストで実行されます。つまり、セカンダリオートメーションでは、最初のオートメーションを開始したユーザーと同じ IAM ロールまたはユーザーアカウントが使用されます。

重要

継承ロール (iam:passRole ポリシーを使用するロール) を使用するセカンダリオートメーションでパラメーターを指定する場合、プライマリオートメーションを開始したユーザーまたはロールには、セカンダリオートメーションで指定されたロールの継承を渡すアクセス許可が必要です。オートメーションのロールの継承のセットアップについては、「方法 2: IAM を使用した Automation のロールの設定」を参照してください。

入力

Copy
{ "name":"Secondary_Automation_Workflow", "action":"aws:executeAutomation", "maxAttempts":3, "timeoutSeconds":3600, "onFailure":"Abort", "inputs":{ "DocumentName":"secondaryWorkflow", "RuntimeParameters":{ "instanceIds":[ "i-1234567890abcdef0" ] } } }
DocumentName

ステップ中に実行するセカンダリオートメーションドキュメントの名前。このドキュメントは、プライマリオートメーションドキュメントと同じ AWS アカウントに属している必要があります。

型: 文字列

必須: はい

DocumentVersion

実行するセカンダリオートメーションドキュメントのバージョン。指定しない場合、オートメーションはデフォルトのドキュメントバージョンで実行されます。

型: 文字列

必須: はい

RuntimeParameters

セカンダリドキュメントの実行に必要なパラメーター。マッピングでは次の形式を使用します: {"parameter1" : ["value1"], "parameter2" : ["value2"] }

タイプ: マップ

必須: いいえ

出力

出力

セカンダリ実行によって生成される出力。この出力は、次の形式を使って参照できます: セカンダリオートメーションステップ名.Output

タイプ: StringList

ExecutionId

セカンダリ実行の実行 ID。

型: 文字列

ステータス

セカンダリ実行のステータス。

型: 文字列

aws:invokeLambdaFunction

指定された Lambda 関数を起動します。

Input

このアクションでは、Lambda サービスのほとんどの Invoke パラメータがサポートされています。詳細については、Invoke を参照してください。

Copy
{ "name": "invokeMyLambdaFunction", "action": "aws:invokeLambdaFunction", "maxAttempts": 3, "timeoutSeconds": 120, "onFailure": "Abort", "inputs": { "FunctionName": "MyLambdaFunction" } }
FunctionName

Lambda 関数の名前。必須の関数です。

型: 文字列

必須: はい

Qualifier

関数のバージョンまたはエイリアス名。

型: 文字列

必須: いいえ

InvocationType

呼び出しタイプ。デフォルト: RequestResponse

型: 文字列

有効な値: Event | RequestResponse | DryRun

必須: いいえ

LogType

Tail の場合、呼び出しタイプは RequestResponse にする必要があります。AWS Lambda は、Lambda 関数で生成されたログデータの最後の 4 KB を base64 でエンコードして返します。

型: 文字列

有効な値: None | Tail

必須: いいえ

ClientContext

クライアント固有の情報。

必須: いいえ

Payload

Lambda 関数の JSON 入力。

必須: いいえ

出力

StatusCode

関数実行のステータスコード。

FunctionError

Lambda 関数の実行中にエラーが発生したかどうかを示します。エラーが発生した場合、このフィールドには Handled または Unhandled のいずれかが表示されます。Handled エラーは関数によってレポートされます。Unhandled エラーは AWS Lambda によって検出およびレポートされます。

LogResult

Lambda 関数の呼び出しに対して base64 でエンコードされたログ。ログが存在するのは、呼び出しタイプが RequestResponse で、ログがリクエストされた場合のみです。

Payload

Lambda 関数によって返されるオブジェクトの JSON 形式。ペイロードは、呼び出しタイプが RequestResponse の場合にのみ存在します。

aws:runCommand

指定されたコマンドを実行します。

注記

オートメーションは、1 つのプラグイン用の 1 つの Run Command アクションの出力のみをサポートします。ドキュメントには、複数の Run Command アクションとプラグインを含めることができますが、出力は一度に 1 つのアクションとプラグインに対してのみサポートされます。

Input

このアクションでは、ほとんどの Send Command パラメータがサポートされています。詳細については、「SendCommand」を参照してください。

Copy
{ "name": "installPowerShellModule", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-InstallPowerShellModule", "InstanceIds": ["i-1234567890abcdef0"], "Parameters": { "source": "https://my-s3-url.com/MyModule.zip ", "sourceHash": "ASDFWER12321WRW" } } }
DocumentName

Run Command ドキュメントの名前。

型: 文字列

必須: はい

InstanceIds

インスタンスの ID。

型: 文字列

必須: はい

Parameters

ドキュメントに指定されている必須およびオプションのパラメータ。

タイプ: マップ

必須: いいえ

Comment

コマンドに関するユーザー定義情報。

型: 文字列

必須: いいえ

DocumentHash

ドキュメントのハッシュ。

型: 文字列

必須: いいえ

DocumentHashType

ハッシュの種類。

型: 文字列

有効な値: Sha256 | Sha1

必須: いいえ

NotificationConfig

通知を送信するための設定。

必須: いいえ

OutputS3BucketName

コマンド実行の応答を保存する S3 バケットの名前。

型: 文字列

必須: いいえ

OutputS3KeyPrefix

プレフィックス。

型: 文字列

必須: いいえ

ServiceRoleArn

IAM ロールの ARN。

型: 文字列

必須: いいえ

TimeoutSeconds

run-command のタイムアウト値 (秒)。

タイプ: 整数

必須: いいえ

aws:runInstances

新しいインスタンスを起動します。

Input

このアクションでは、ほとんどの API パラメータがサポートされています。詳細については、RunInstances API ドキュメントを参照してください。

Copy
{ "name": "launchInstance", "action": "aws:runInstances", "maxAttempts": 3, "timeoutSeconds": 1200, "onFailure": "Abort", "inputs": { "ImageId": "ami-12345678", "InstanceType": "t2.micro", "MinInstanceCount": 1, "MaxInstanceCount": 1, "IamInstanceProfileName": "myRunCmdRole" } }
ImageId

Amazon Machine Image (AMI) の ID。

必須: はい

InstanceType

インスタンスタイプ。

必須: いいえ

MinInstanceCount

起動するインスタンスの最小数。

必須: いいえ

MaxInstanceCount

起動するインスタンスの最大数。

必須: いいえ

AdditionalInfo

リザーブド。

必須: いいえ

BlockDeviceMappings

インスタンスのブロックデバイス。

必須: いいえ

ClientToken

リクエストの多重実行を禁止するための識別子。

必須: いいえ

DisableApiTermination

インスタンスの API の終了を有効または無効にします。

必須: いいえ

EbsOptimized

EBS の最適化を有効または無効にします。

必須: いいえ

IamInstanceProfileArn

インスタンスの IAM インスタンスプロファイルの ARN。

必須: いいえ

IamInstanceProfileName

インスタンスの IAM インスタンスプロファイルの名前。

必須: いいえ

InstanceInitiatedShutdownBehavior

システムのシャットダウン時にインスタンスを停止するか終了するかを示します。

必須: いいえ

KernelId

カーネルの ID。

必須: いいえ

KeyName

キーペアの名前。

必須: いいえ

Monitoring

詳細モニタリングを有効または無効にします。

必須: いいえ

NetworkInterfaces

ネットワークインターフェイス。

必須: いいえ

Placement

インスタンスのプレイスメント。

必須: いいえ

PrivateIpAddress

プライマリ IPv4 アドレス。

必須: いいえ

RamdiskId

RAM ディスクの ID。

必須: いいえ

SecurityGroupIds

インスタンスのセキュリティグループの ID。

必須: いいえ

SecurityGroups

インスタンスのセキュリティグループの名前。

必須: いいえ

SubnetId

サブネット ID。

必須: いいえ

UserData

文字列リテラル値として渡される実行スクリプト。リテラル値を入力する場合、Base64 エンコードである必要があります。

必須: いいえ

出力

InstanceIds

インスタンスの ID。

aws:sleep

特定の時間数の自動化実行の遅延。このアクションは、国際標準化機構 (ISO) 8601 に日付と時刻形式を使用します。日付と時刻形式の詳細については、「ISO 8601」を参照してください。

Input

指定する時間で実行を遅延することができます。

Copy
{ "name":"sleep", "action":"aws:sleep", "inputs":{ "Duration":"PT10M" } }

また、指定された日付や時間まで実行を遅延することもできます。指定した日付と時刻が経過すると、アクションはすぐに処理されます。

Copy
{ "name": "sleep", "action": "aws:sleep", "inputs": { "Timestamp": "2020-01-01T01:00:00Z" } }

注記

自動化は現在、最大で 604800 秒 (7 日間) までの遅延をサポートします。

所要時間

ISO 8601 の時間。負の時間を指定することはできません。

型: 文字列

必須: いいえ

タイムスタンプ

ISO 8601 のタイムスタンプ。このパラメーター値を指定しない場合、Duration パラメーター値を指定する必要があります。

型: 文字列

必須: いいえ

出力

なし