SSM ドキュメントの作成 - AWS Systems Manager

SSM ドキュメントの作成

AWS Systems Manager のパブリックドキュメントが AWS リソースで実行したいすべてのアクションを実行しない場合は、独自の SSM ドキュメントを作成できます。コンソールを使用して SSM ドキュメントのクローンを作成することもできます。ドキュメントのクローンにより、既存のドキュメントから変更可能な新しいドキュメントにコンテンツをコピーします。新しい Command または Policy ドキュメントを作成する場合は、ドキュメントの編集、バージョンの自動管理、順序付けなどの最新の機能を利用できるように、スキーマバージョン 2.2 以降を使用することをお勧めします。

SSM ドキュメントコンテンツを書き込む

独自の SSM ドキュメントコンテンツを作成するには、SSM ドキュメントで使用できるさまざまなスキーマ、機能、プラグイン、および構文を理解することが重要です。次のリソースに精通することをお勧めします。

AWS の事前に定義された SSM ドキュメントでは、必要なアクションの一部を実行することがあります。これらのドキュメントは、ドキュメントタイプに応じて、カスタム SSM ドキュメント内で、aws:runDocumentaws:runCommand、または aws:executeAutomation プラグインを使用して呼び出すことができます。また、これらのドキュメントの一部をカスタム SSM ドキュメントにコピーし、要件に合わせてコンテンツを編集することもできます。

ヒント

SSM ドキュメントコンテンツを作成する場合、テスト中にコンテンツを変更し、SSM ドキュメントを数回更新することがあります。次のコマンドでは、最新のコンテンツで SSM ドキュメントを更新し、ドキュメントのデフォルトバージョンをドキュメントの最新バージョンに更新します。

注記

Linux および Windows のコマンドでは、jq コマンドラインツールを使用して JSON レスポンスデータをフィルタリングします。

Linux & macOS
latestDocVersion=$(aws ssm update-document \ --content file://path/to/file/documentContent.json \ --name "ExampleDocument" \ --document-format JSON \ --document-version '$LATEST' \ | jq -r '.DocumentDescription.LatestVersion') aws ssm update-document-default-version \ --name "ExampleDocument" \ --document-version $latestDocVersion
Windows
latestDocVersion=$(aws ssm update-document ^ --content file://C:\path\to\file\documentContent.json ^ --name "ExampleDocument" ^ --document-format JSON ^ --document-version "$LATEST" ^ | jq -r '.DocumentDescription.LatestVersion') aws ssm update-document-default-version ^ --name "ExampleDocument" ^ --document-version $latestDocVersion
PowerShell
$content = Get-Content -Path "C:\path\to\file\documentContent.json" | Out-String $latestDocVersion = Update-SSMDocument ` -Content $content ` -Name "ExampleDocument" ` -DocumentFormat "JSON" ` -DocumentVersion '$LATEST' ` | Select-Object -ExpandProperty LatestVersion Update-SSMDocumentDefaultVersion ` -Name "ExampleDocument" ` -DocumentVersion $latestDocVersion

SSM ドキュメントの複製

Systems Manager のドキュメントコンソールを使用して、AWS Systems Manager のドキュメントのクロ―ンを作成し、SSM ドキュメントを作成できます。SSM ドキュメントの複製により、既存のドキュメントから変更可能な新しいドキュメントにコンテンツをコピーします。

SSM ドキュメントを複製するには

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

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

    -または-

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

  3. 検索ボックスに、複製するドキュメントの名前を入力します。

  4. 複製するドキュメントの名前を選択し、「アクション」ドロップダウンで「ドキュメントの複製」を選択します。

  5. 必要に応じてドキュメントを変更し、[ドキュメントの作成] を選択してドキュメントを保存します。

State Manager の関連付けで SSM ドキュメントを使用

AWS Systems Manager の一機能である State Manager の SSM ドキュメントを作成する場合は、ドキュメントをシステムに追加した後、そのドキュメントをマネージドインスタンスに関連付ける必要があります。詳細については、「関連付けの作成」を参照してください。

State Manager の関連付けで SSM ドキュメントを使用する場合は、次の詳細情報に注意してください。

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

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

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

  • State Manager の SSM ポリシードキュメントのデフォルトバージョンを変更した場合、そのドキュメントを使用する関連付けでは、次回に Systems Manager が関連付けをインスタンスに適用するときに、新しいデフォルトのバージョンを使い始めます。

  • ユーザーと共有された SSM ドキュメントを使用して関連付けを作成した後、所有者がそのドキュメントの共有を中止すると、ユーザーの関連付けはそのドキュメントにアクセスできなくなります。ただし、所有者が後で同じ SSM ドキュメントをユーザーと共有する場合、関連付けは自動的に再マッピングされます。

SSM ドキュメントコンテンツを作成したら、次のいずれかの方法を使用して、コンテンツを使って SSM ドキュメントを作成できます。