CLI で CreateAssociation を使用する - AWS Systems Manager

CLI で CreateAssociation を使用する

以下のコード例は、CreateAssociation の使用方法を示しています。

CLI
AWS CLI

例 1: インスタンス ID を使用してドキュメントを関連付けるには

この例では、インスタンス ID を使用して、設定ドキュメントをインスタンスに関連付けます。

aws ssm create-association \ --instance-id "i-0cb2b964d3e14fd9f" \ --name "AWS-UpdateSSMAgent"

出力:

{ "AssociationDescription": { "Status": { "Date": 1487875500.33, "Message": "Associated with AWS-UpdateSSMAgent", "Name": "Associated" }, "Name": "AWS-UpdateSSMAgent", "InstanceId": "i-0cb2b964d3e14fd9f", "Overview": { "Status": "Pending", "DetailedStatus": "Creating" }, "AssociationId": "b7c3266e-a544-44db-877e-b20d3a108189", "DocumentVersion": "$DEFAULT", "LastUpdateAssociationDate": 1487875500.33, "Date": 1487875500.33, "Targets": [ { "Values": [ "i-0cb2b964d3e14fd9f" ], "Key": "InstanceIds" } ] } }

詳細については、「AWS Systems Manager API リファレンス」の「CreateAssociation」を参照してください。

例 2: ターゲットを使用してドキュメントを関連付けるには

この例では、ターゲットを使用して、設定ドキュメントをインスタンスに関連付けます。

aws ssm create-association \ --name "AWS-UpdateSSMAgent" \ --targets "Key=instanceids,Values=i-0cb2b964d3e14fd9f"

出力:

{ "AssociationDescription": { "Status": { "Date": 1487875500.33, "Message": "Associated with AWS-UpdateSSMAgent", "Name": "Associated" }, "Name": "AWS-UpdateSSMAgent", "InstanceId": "i-0cb2b964d3e14fd9f", "Overview": { "Status": "Pending", "DetailedStatus": "Creating" }, "AssociationId": "b7c3266e-a544-44db-877e-b20d3a108189", "DocumentVersion": "$DEFAULT", "LastUpdateAssociationDate": 1487875500.33, "Date": 1487875500.33, "Targets": [ { "Values": [ "i-0cb2b964d3e14fd9f" ], "Key": "InstanceIds" } ] } }

詳細については、「AWS Systems Manager API リファレンス」の「CreateAssociation」を参照してください。

例 3: 1 回だけ実行される関連付けを作成するには

この例では、指定された日付および時刻に 1 回だけ実行される新しい関連付けを作成します。過去または現在の日付で作成された関連付け (処理されるまで日付は過去のものです) は、ただちに実行されます。

aws ssm create-association \ --name "AWS-UpdateSSMAgent" \ --targets "Key=instanceids,Values=i-0cb2b964d3e14fd9f" \ --schedule-expression "at(2020-05-14T15:55:00)" \ --apply-only-at-cron-interval

出力:

{ "AssociationDescription": { "Status": { "Date": 1487875500.33, "Message": "Associated with AWS-UpdateSSMAgent", "Name": "Associated" }, "Name": "AWS-UpdateSSMAgent", "InstanceId": "i-0cb2b964d3e14fd9f", "Overview": { "Status": "Pending", "DetailedStatus": "Creating" }, "AssociationId": "b7c3266e-a544-44db-877e-b20d3a108189", "DocumentVersion": "$DEFAULT", "LastUpdateAssociationDate": 1487875500.33, "Date": 1487875500.33, "Targets": [ { "Values": [ "i-0cb2b964d3e14fd9f" ], "Key": "InstanceIds" } ] } }

詳細については、「AWS Systems Manager API リファレンス」の「CreateAssociation」、または「AWS Systems Manager ユーザーガイド」の「リファレンス: Systems Manager の Cron 式および rate 式」を参照してください。

  • API の詳細については、「AWS CLI Command Reference」の「CreateAssociation」を参照してください。

PowerShell
Tools for PowerShell

例 1: この例では、インスタンス ID を使用して、設定ドキュメントをインスタンスに関連付けます。

New-SSMAssociation -InstanceId "i-0cb2b964d3e14fd9f" -Name "AWS-UpdateSSMAgent"

出力:

Name : AWS-UpdateSSMAgent InstanceId : i-0000293ffd8c57862 Date : 2/23/2017 6:55:22 PM Status.Name : Associated Status.Date : 2/20/2015 8:31:11 AM Status.Message : Associated with AWS-UpdateSSMAgent Status.AdditionalInfo :

例 2: この例では、ターゲットを使用して、設定ドキュメントをインスタンスに関連付けます。

$target = @{Key="instanceids";Values=@("i-0cb2b964d3e14fd9f")} New-SSMAssociation -Name "AWS-UpdateSSMAgent" -Target $target

出力:

Name : AWS-UpdateSSMAgent InstanceId : Date : 3/1/2017 6:22:21 PM Status.Name : Status.Date : Status.Message : Status.AdditionalInfo :

例 3: この例では、ターゲットとパラメータを使用して、設定ドキュメントをインスタンスに関連付けます。

$target = @{Key="instanceids";Values=@("i-0cb2b964d3e14fd9f")} $params = @{ "action"="configure" "mode"="ec2" "optionalConfigurationSource"="ssm" "optionalConfigurationLocation"="" "optionalRestart"="yes" } New-SSMAssociation -Name "Configure-CloudWatch" -AssociationName "CWConfiguration" -Target $target -Parameter $params

出力:

Name : Configure-CloudWatch InstanceId : Date : 5/17/2018 3:17:44 PM Status.Name : Status.Date : Status.Message : Status.AdditionalInfo :

例 4: この例では、AWS-GatherSoftwareInventory を使用して、リージョン内におけるすべてのインスタンスとの関連付けを作成します。また、収集するパラメータにカスタムファイルとレジストリの場所を指定します。

$params = [Collections.Generic.Dictionary[String,Collections.Generic.List[String]]]::new() $params["windowsRegistry"] ='[{"Path":"HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\MachineImage","Recursive":false,"ValueNames":["AMIName"]}]' $params["files"] = '[{"Path":"C:\Program Files","Pattern":["*.exe"],"Recursive":true}, {"Path":"C:\ProgramData","Pattern":["*.log"],"Recursive":true}]' New-SSMAssociation -AssociationName new-in-mum -Name AWS-GatherSoftwareInventory -Target @{Key="instanceids";Values="*"} -Parameter $params -region ap-south-1 -ScheduleExpression "rate(720 minutes)"

出力:

Name : AWS-GatherSoftwareInventory InstanceId : Date : 6/9/2019 8:57:56 AM Status.Name : Status.Date : Status.Message : Status.AdditionalInfo :
  • API の詳細については、「AWS Tools for PowerShell Cmdlet リファレンス」の「CreateAssociation」を参照してください。

AWS SDK デベロッパーガイドとコード例の完全なリストについては、「AWS SDK で Systems Manager を使用する」を参照してください。このトピックには、使用開始方法に関する情報と、以前の SDK バージョンの詳細も含まれています。