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

Systems Manager ドキュメント

Amazon EC2 Systems Manager ドキュメントは、マネージドインスタンスで Systems Manager が実行するアクションを定義します。Systems Manager には、実行時にパラメータを指定して使用できる事前設定済みのドキュメントが十数個含まれています。ドキュメントは JavaScript Object Notation (JSON) を使用します。ドキュメントにはユーザーが指定するパラメータやステップが含まれています。ステップは順番に実行されます。

タイプ 以下で使用 詳細

コマンドのドキュメント

Run Command

ステートマネージャー

Run Command はコマンドドキュメントを使用してコマンドを実行します。ステートマネージャー はコマンドドキュメントを使用してポリシーを適用します。これらのアクションは、インスタンスのライフサイクル中にいつでも、1 つまたは複数のターゲットで実行できます。,

ポリシードキュメント

ステートマネージャー

ポリシードキュメントはターゲットにポリシーを適用します。ポリシードキュメントが削除された場合、ポリシー (インベントリ収集など) が発生しなくなります。

オートメーションドキュメント

オートメーション

Amazon Machine Image (AMI) の作成や更新など、一般的なメンテナンスやデプロイメントタスクを実行する際に、オートメーションドキュメントを使用します。

Systems Manager 事前定義済みドキュメント

すぐに開始できるように、Systems Manager には事前定義済みドキュメントが用意されています。これらのドキュメントは、Amazon EC2 コンソールで表示できます。EC2 コンソールで、[Systems Manager Shared Resources] を展開し、[Documents] を選択します。ドキュメントを選択したら、次の図に示すように、下部ペインのタブを使用して選択したドキュメントに関する情報を確認します。

 Systems Manager ドキュメント

また、AWS CLI および Tools for Windows PowerShell コマンドを使用して、ドキュメントの一覧を表示したりドキュメントに関する説明を取得したりできます。

AWS CLI

Copy
aws ssm list-documents
Copy
aws ssm describe-document --name "document_name"

Tools for Windows PowerShell

Copy
Get-SSMDocumentList
Copy
Get-SSMDocumentDescription -Name "document_name"

ドキュメントのカスタマイズ

ドキュメントのステップやアクションをカスタマイズする場合は、独自のドキュメントを作成できます。初めてドキュメントを使用してインスタンスでアクションを実行する際に、システムはドキュメントを AWS アカウントに保存します。Systems Manager ドキュメントの作成方法の詳細については、「Systems Manager ドキュメントの作成」を参照してください。

ドキュメントの共有

ドキュメントを公開するか、または特定の AWS アカウントと共有できます。詳細については、「Systems Manager ドキュメントの共有」を参照してください。

ドキュメントスキーマと機能

現在 Systems Manager ドキュメントでは以下のスキーマバージョンを使用しています。

  • 現在使用しているドキュメントがスキーマ 1.2 である場合は、Command タイプのドキュメントでスキーマバージョン 1.2 または 2.0 を使用できます。スキーマバージョン 2.0 を使用するドキュメントを作成することをお勧めします。

  • Policy タイプのドキュメントは、スキーマバージョン 2.0 を使用する必要があります。

  • Automation タイプのドキュメントは、スキーマバージョン 0.3 を使用する必要があります。

ドキュメントタイプごとに最新バージョンのスキーマを使用することで、次の機能を利用できます。

スキーマバージョン 2.0 ドキュメントの機能

機能 詳細

ドキュメントの編集

ドキュメントは更新可能になりました。バージョン 1.2 では、ドキュメントを更新した場合に別の名前で保存する必要があります。

バージョンの自動管理

ドキュメントを更新すると新しいバージョンが作成されます。これはスキーマのバージョンではなく、ドキュメントのバージョンです。

デフォルトバージョン

ドキュメントに複数のバージョンがある場合、どのバージョンがデフォルトのドキュメントかを指定できます。

順序付け

指定した順序でドキュメントのステップを実行します。

ドキュメントタイプ

Systems Manager は、ドキュメントタイプとして CommandPolicyAutomation をサポートしています。

スキーマバージョン別のドキュメントの例

スキーマバージョン 1.2 を使用するドキュメントの例を以下に示します。この例のドキュメントには、Run Command を使用して ifconfig を実行するための aws:runShellScript プラグインが含まれています。

スキーマ 1.2 の例

Copy
{ "schemaVersion": "1.2", "description": "Check ip configuration of a Linux instance.", "parameters": { }, "runtimeConfig": { "aws:runShellScript": { "properties": [ { "id": "0.aws:runShellScript", "runCommand": ["ifconfig"] } ] } } }

スキーマバージョン 2.0 を使用するドキュメントの例を以下に示します。この例のドキュメントには、Run Command を使用してコマンドを実行するための aws:runShellScript プラグインと aws:runPowerShellScript プラグインが含まれています。

スキーマ 2.0 の例

Copy
{ "schemaVersion":"2.0", "description":"Run a script", "parameters":{ "commands":{ "type":"StringList", "description":"(Required) Specify a shell script or a command to run.", "minItems":1, "displayType":"textarea" } }, "mainSteps":[ { "action":"aws:runShellScript", "name":"runShellScript", "inputs":{ "runCommand":"{{ commands }}" } }, { "action":"aws:runPowerShellScript", "name":"runPowerShellScript", "inputs":{ "runCommand":"{{ commands }}" } } ] }

次の例では、aws:runPowerShellScript プラグインを使用してプロセスに関する情報を取得する基本的な Policy ドキュメントを示します。Policy ドキュメントは複数のステップを持つことができます。

スキーマ 2.0 の例

Copy
{ "schemaVersion": "2.0", "description": "Sample version 2.0 document v2", "parameters": { }, "mainSteps": [ { "action": "aws:runPowerShellScript", "name": "runPowerShellScript", "inputs": { "runCommand": [ "Get-Process" ] } } ] }

次の例には複数のアクションが含まれています。

スキーマ 2.0 の例

Copy
{ "schemaVersion": "2.0", "description": "Sample version 2.0 document v2 to install application and run a command", "parameters": { "action": { "type": "String", "default": "Install", "description": "(Optional) The type of action to perform. Valid values: Install | Repair | Uninstall", "allowedValues": [ "Install", "Repair", "Uninstall" ] }, "parameters": { "type": "String", "default": "", "description": "(Optional) The parameters for the installer." }, "source": { "type": "String", "description": "(Required) The URL or local path on the instance to the application .msi file." }, "sourceHash": { "type": "String", "default": "", "description": "(Optional) The SHA256 hash of the .msi file." }, "commands": { "type": "StringList", "description": "(Required) Specify a shell script or a command to run.", "minItems": 1, "displayType": "textarea" }, "workingDirectory": { "type": "String", "default": "", "description": "(Optional) The path to the working directory on your instance.", "maxChars": 4096 }, "executionTimeout": { "type": "String", "default": "3600", "description": "(Optional) The time in seconds for a command to complete before it is considered to have failed. Default is 3600 (1 hour). Maximum is 28800 (8 hours).", "allowedPattern": "([1-9][0-9]{0,3})|(1[0-9]{1,4})|(2[0-7][0-9]{1,3})|(28[0-7][0-9]{1,2})|(28800)" } }, "mainSteps": [ { "action": "aws:applications", "name": "installApplication", "inputs": { "action": "{{ action }}", "parameters": "{{ parameters }}", "source": "{{ source }}", "sourceHash": "{{ sourceHash }}" } }, { "action": "aws:runPowerShellScript", "name": "runPowerShellScript", "inputs": { "runCommand": "{{ commands }}", "workingDirectory": "{{ workingDirectory }}", "timeoutSeconds": "{{ executionTimeout }}" } } ] }

次の表はバージョン間の相違点の一覧です。

バージョン 1.2 バージョン 2.0 詳細

runtimeConfig

mainSteps

バージョン 2.0 では、runtimeConfig の代わりに mainSteps セクションを使用します。mainSteps セクションを使うと、Systems Manager はステップを順に実行できます。

プロパティ

inputs

バージョン 2.0 では、properties セクションの代わりに inputs セクションを使用します。inputs セクションは、ステップのパラメータを受け入れます。

commands

runCommand

バージョン 2.0 では、inputs セクションは runCommand パラメータを使用します。commands パラメータは使用しません。

id

action

action では、バージョン 2.0 の ID を置き換えます。これは単純な名前変更です。

該当なし

name

name は、ステップのユーザー定義名です。

ドキュメントのバージョンと実行

ドキュメントの異なるバージョンを作成して保存できます。その後、各ドキュメントのデフォルトのバージョンを指定できます。ドキュメントのデフォルトバージョンは、新しいバージョンに更新したり、古いバージョンのドキュメントに戻すことができます。ステートマネージャー の Policy または Command のドキュメントタイプのデフォルトバージョンを変更すると、そのドキュメントを使用する関連付けでは、次回に Systems Manager が関連付けをインスタンスに適用するときに、新しいデフォルトのバージョンを使い始めます。

ドキュメントの JSON コンテンツを変更すると、Systems Manager は自動的にドキュメントのバージョンを増やします。ドキュメントの以前のバージョンは、取得と表示が可能です。ステートマネージャー の Policy または Command のドキュメントタイプは、インスタンスまたはタグ付けされたグループと関連付けることができます。

また、Policy ドキュメントに関する以下の詳細情報に注意してください。

  • 異なる Policy ドキュメントを使用する別の関連付けを作成して、ターゲットに複数のドキュメントを割り当てることができます。

  • ターゲットに複数のドキュメントを関連付ける場合、AWS CLI または SDK を使用して、関連付けられたすべてのドキュメント全体で実行されるすべてのプラグインの一覧を表示できます。

  • ドキュメントでステップを指定する順序は、ステップが実行される順序になります。

  • アクセス許可がある限り、ステートマネージャー で共有ドキュメントを使用できますが、共有ドキュメントをインスタンスに関連付けることはできません。1 つ以上のターゲットに関連付けられたドキュメントを使用または共有する場合は、ドキュメントのコピーを作成し、そのコピーを使用または共有する必要があります。

  • 競合するプラグインでドキュメントを作成する場合 (たとえば、ドメイン結合やドメインからの削除)、実行された最後のプラグインが最終状態になります。ステートマネージャー はドキュメントのコマンドまたはプラグインの論理シーケンスまたは合理性を検証しません。

  • ドキュメントを処理するときに、インスタンスの関連付けが最初に適用され、次にタグ付けされたグループの関連付けが適用されます。インスタンスが、タグ付けされた複数のグループの一部である場合、タグ付けされたグループの一部であるドキュメントは、特定の順序で実行されません。インスタンスがインスタンス ID によって複数のドキュメントから直接対象になっている場合、特定の実行順序はありません。

制約事項

Systems Manager ドキュメントの作業を始めるときは、次の制限事項に注意してください。

  • デフォルトでは、リージョンごとに AWS アカウント当たりに作成できるドキュメントは最大 200 個です。

  • 作成する Systems Manager ドキュメントは、それを作成したリージョンでのみ使用できます。別のリージョンでドキュメントを追加するには、コンテンツをコピーし、新しいリージョンでドキュメントを再作成します。

  • 各ドキュメントは、最大 1,000 個のバージョンを保存できます。