AWS Systems Manager Change Manager는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 AWS Systems Manager Change Manager 가용성 변경을 참조하세요.
CLI로 RegisterTaskWithMaintenanceWindow 사용
다음 코드 예시는 RegisterTaskWithMaintenanceWindow의 사용 방법을 보여 줍니다.
- CLI
-
- AWS CLI
-
예제 1: 유지 관리 기간에 자동화 작업을 등록하는 방법
다음
register-task-with-maintenance-window예제에서는 인스턴스에서 대상으로 지정된 유지 관리 기간에 자동화 작업을 등록합니다.aws ssm register-task-with-maintenance-window \ --window-id"mw-082dcd7649EXAMPLE"\ --targetsKey=InstanceIds,Values=i-1234520122EXAMPLE\ --task-arnAWS-RestartEC2Instance\ --service-role-arnarn:aws:iam::111222333444:role/SSM--task-typeAUTOMATION\ --task-invocation-parameters "{\"Automation\":{\"DocumentVersion\":\"\$LATEST\",\"Parameters\":{\"InstanceId\":[\"{{RESOURCE_ID}}\"]}}}" \ --priority0\ --max-concurrency1\ --max-errors1\ --name"AutomationExample"\ --description"Restarting EC2 Instance for maintenance"결과:
{ "WindowTaskId":"11144444-5555-6666-7777-88888888" }자세한 내용은 AWS Systems Manager 사용 설명서의 유지 관리 기간에 작업 등록(AWS CLI)을 참조하세요.
예제 2: 유지 관리 기간에 Lambda 작업을 등록하는 방법
다음
register-task-with-maintenance-window예제에서는 인스턴스에서 대상으로 지정된 유지 관리 기간에 Lambda 작업을 등록합니다.aws ssm register-task-with-maintenance-window \ --window-id"mw-082dcd7649dee04e4"\ --targetsKey=InstanceIds,Values=i-12344d305eEXAMPLE\ --task-arnarn:aws:lambda:us-east-1:111222333444:function:SSMTestLAMBDA\ --service-role-arnarn:aws:iam::111222333444:role/SSM\ --task-typeLAMBDA\ --task-invocation-parameters '{"Lambda":{"Payload":"{\"InstanceId\":\"{{RESOURCE_ID}}\",\"targetType\":\"{{TARGET_TYPE}}\"}","Qualifier":"$LATEST"}}' \ --priority0\ --max-concurrency10\ --max-errors5\ --name"Lambda_Example"\ --description"My Lambda Example"결과:
{ "WindowTaskId":"22244444-5555-6666-7777-88888888" }자세한 내용은 AWS Systems Manager 사용 설명서의 유지 관리 기간에 작업 등록(AWS CLI)을 참조하세요.
예제 3: 유지 관리 기간에 Run Command 작업을 등록하는 방법
다음
register-task-with-maintenance-window예제에서는 인스턴스에서 대상으로 지정된 유지 관리 기간에 Run Command 작업을 등록합니다.aws ssm register-task-with-maintenance-window \ --window-id"mw-082dcd7649dee04e4"\ --targets"Key=InstanceIds,Values=i-12344d305eEXAMPLE"\ --service-role-arn"arn:aws:iam::111222333444:role/SSM"\ --task-type"RUN_COMMAND"\ --name"SSMInstallPowerShellModule"\ --task-arn"AWS-InstallPowerShellModule"\ --task-invocation-parameters "{\"RunCommand\":{\"Comment\":\"\",\"OutputS3BucketName\":\"runcommandlogs\",\"Parameters\":{\"commands\":[\"Get-Module -ListAvailable\"],\"executionTimeout\":[\"3600\"],\"source\":[\"https:\/\/gallery.technet.microsoft.com\/EZOut-33ae0fb7\/file\/110351\/1\/EZOut.zip\"],\"workingDirectory\":[\"\\\\\"]},\"TimeoutSeconds\":600}}" \ --max-concurrency 1 \ --max-errors 1 \ --priority10결과:
{ "WindowTaskId":"33344444-5555-6666-7777-88888888" }자세한 내용은 AWS Systems Manager 사용 설명서의 유지 관리 기간에 작업 등록(AWS CLI)을 참조하세요.
예제 4: 유지 관리 기간에 Step Functions 작업을 등록하는 방법
다음
register-task-with-maintenance-window예제에서는 인스턴스에서 대상으로 지정된 유지 관리 기간에 Step Functions 작업을 등록합니다.aws ssm register-task-with-maintenance-window \ --window-id"mw-1234d787d6EXAMPLE"\ --targetsKey=WindowTargetIds,Values=12347414-69c3-49f8-95b8-ed2dcEXAMPLE\ --task-arnarn:aws:states:us-east-1:111222333444:stateMachine:SSMTestStateMachine\ --service-role-arnarn:aws:iam::111222333444:role/MaintenanceWindows\ --task-typeSTEP_FUNCTIONS\ --task-invocation-parameters '{"StepFunctions":{"Input":"{\"InstanceId\":\"{{RESOURCE_ID}}\"}"}}' \ --priority0\ --max-concurrency10\ --max-errors5\ --name"Step_Functions_Example"\ --description"My Step Functions Example"결과:
{ "WindowTaskId":"44444444-5555-6666-7777-88888888" }자세한 내용은 AWS Systems Manager 사용 설명서의 유지 관리 기간에 작업 등록(AWS CLI)을 참조하세요.
예제 5: 유지 관리 기간 대상 ID를 사용하여 작업을 등록하는 방법
다음
register-task-with-maintenance-window예제에서는 유지 관리 기간 대상 ID를 사용하여 작업을 등록합니다. 유지 관리 기간 대상 ID는aws ssm register-target-with-maintenance-window명령 출력에 포함되어 있습니다.aws ssm describe-maintenance-window-targets명령의 출력에서 검색할 수도 있습니다.aws ssm register-task-with-maintenance-window \ --targets"Key=WindowTargetIds,Values=350d44e6-28cc-44e2-951f-4b2c9EXAMPLE"\ --task-arn"AWS-RunShellScript"\ --service-role-arn"arn:aws:iam::111222333444:role/MaintenanceWindowsRole"\ --window-id"mw-ab12cd34eEXAMPLE"\ --task-type"RUN_COMMAND"\ --task-parameters "{\"commands\":{\"Values\":[\"df\"]}}" \ --max-concurrency1\ --max-errors1\ --priority10결과:
{ "WindowTaskId":"33344444-5555-6666-7777-88888888" }자세한 내용은 AWS Systems Manager 사용 설명서의 유지 관리 기간에 작업 등록(AWS CLI)을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 RegisterTaskWithMaintenanceWindow
를 참조하세요.
-
- PowerShell
-
- Tools for PowerShell V4
-
예제 1: 이 예제에서는 인스턴스 ID를 사용하여 유지 관리 기간에 작업을 등록합니다. 출력은 작업 ID입니다.
$parameters = @{} $parameterValues = New-Object Amazon.SimpleSystemsManagement.Model.MaintenanceWindowTaskParameterValueExpression $parameterValues.Values = @("Install") $parameters.Add("Operation", $parameterValues) Register-SSMTaskWithMaintenanceWindow -WindowId "mw-03a342e62c96d31b0" -ServiceRoleArn "arn:aws:iam::123456789012:role/MaintenanceWindowsRole" -MaxConcurrency 1 -MaxError 1 -TaskArn "AWS-RunShellScript" -Target @{ Key="InstanceIds";Values="i-0000293ffd8c57862" } -TaskType "RUN_COMMAND" -Priority 10 -TaskParameter $parameters출력:
f34a2c47-ddfd-4c85-a88d-72366b69af1b예제 2: 이 예제에서는 대상 ID를 사용하여 유지 관리 기간에 작업을 등록합니다. 출력은 작업 ID입니다.
$parameters = @{} $parameterValues = New-Object Amazon.SimpleSystemsManagement.Model.MaintenanceWindowTaskParameterValueExpression $parameterValues.Values = @("Install") $parameters.Add("Operation", $parameterValues) register-ssmtaskwithmaintenancewindow -WindowId "mw-03a342e62c96d31b0" -ServiceRoleArn "arn:aws:iam::123456789012:role/MaintenanceWindowsRole" -MaxConcurrency 1 -MaxError 1 -TaskArn "AWS-RunShellScript" -Target @{ Key="WindowTargetIds";Values="350d44e6-28cc-44e2-951f-4b2c985838f6" } -TaskType "RUN_COMMAND" -Priority 10 -TaskParameter $parameters출력:
f34a2c47-ddfd-4c85-a88d-72366b69af1b예제 3: 이 예제에서는 Run Command 문서
AWS-RunPowerShellScript에 대한 파라미터 객체를 생성하고 대상 ID를 사용하여 지정된 유지 관리 기간을 포함하는 작업을 생성합니다. 반환 출력은 작업 ID입니다.$parameters = [Collections.Generic.Dictionary[String,Collections.Generic.List[String]]]::new() $parameters.Add("commands",@("ipconfig","dir env:\computername")) $parameters.Add("executionTimeout",@(3600)) $props = @{ WindowId = "mw-0123e4cce56ff78ae" ServiceRoleArn = "arn:aws:iam::123456789012:role/MaintenanceWindowsRole" MaxConcurrency = 1 MaxError = 1 TaskType = "RUN_COMMAND" TaskArn = "AWS-RunPowerShellScript" Target = @{Key="WindowTargetIds";Values="fe1234ea-56d7-890b-12f3-456b789bee0f"} Priority = 1 RunCommand_Parameter = $parameters Name = "set-via-cmdlet" } Register-SSMTaskWithMaintenanceWindow @props출력:
f1e2ef34-5678-12e3-456a-12334c5c6cbe예제 4: 이 예제에서는 이름이
Create-Snapshots인 문서를 사용하여 AWS Systems Manager 자동화 작업을 등록합니다.$automationParameters = @{} $automationParameters.Add( "instanceId", @("{{ TARGET_ID }}") ) $automationParameters.Add( "AutomationAssumeRole", @("{arn:aws:iam::111111111111:role/AutomationRole}") ) $automationParameters.Add( "SnapshotTimeout", @("PT20M") ) Register-SSMTaskWithMaintenanceWindow -WindowId mw-123EXAMPLE456` -ServiceRoleArn "arn:aws:iam::123456789012:role/MW-Role"` -MaxConcurrency 1 -MaxError 1 -TaskArn "CreateVolumeSnapshots"` -Target @{ Key="WindowTargetIds";Values="4b5acdf4-946c-4355-bd68-4329a43a5fd1" }` -TaskType "AUTOMATION"` -Priority 4` -Automation_DocumentVersion '$DEFAULT' -Automation_Parameter $automationParameters -Name "Create-Snapshots"-
API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조(V4)의 RegisterTaskWithMaintenanceWindow를 참조하세요.
-
- Tools for PowerShell V5
-
예제 1: 이 예제에서는 인스턴스 ID를 사용하여 유지 관리 기간에 작업을 등록합니다. 출력은 작업 ID입니다.
$parameters = @{} $parameterValues = New-Object Amazon.SimpleSystemsManagement.Model.MaintenanceWindowTaskParameterValueExpression $parameterValues.Values = @("Install") $parameters.Add("Operation", $parameterValues) Register-SSMTaskWithMaintenanceWindow -WindowId "mw-03a342e62c96d31b0" -ServiceRoleArn "arn:aws:iam::123456789012:role/MaintenanceWindowsRole" -MaxConcurrency 1 -MaxError 1 -TaskArn "AWS-RunShellScript" -Target @{ Key="InstanceIds";Values="i-0000293ffd8c57862" } -TaskType "RUN_COMMAND" -Priority 10 -TaskParameter $parameters출력:
f34a2c47-ddfd-4c85-a88d-72366b69af1b예제 2: 이 예제에서는 대상 ID를 사용하여 유지 관리 기간에 작업을 등록합니다. 출력은 작업 ID입니다.
$parameters = @{} $parameterValues = New-Object Amazon.SimpleSystemsManagement.Model.MaintenanceWindowTaskParameterValueExpression $parameterValues.Values = @("Install") $parameters.Add("Operation", $parameterValues) register-ssmtaskwithmaintenancewindow -WindowId "mw-03a342e62c96d31b0" -ServiceRoleArn "arn:aws:iam::123456789012:role/MaintenanceWindowsRole" -MaxConcurrency 1 -MaxError 1 -TaskArn "AWS-RunShellScript" -Target @{ Key="WindowTargetIds";Values="350d44e6-28cc-44e2-951f-4b2c985838f6" } -TaskType "RUN_COMMAND" -Priority 10 -TaskParameter $parameters출력:
f34a2c47-ddfd-4c85-a88d-72366b69af1b예제 3: 이 예제에서는 Run Command 문서
AWS-RunPowerShellScript에 대한 파라미터 객체를 생성하고 대상 ID를 사용하여 지정된 유지 관리 기간을 포함하는 작업을 생성합니다. 반환 출력은 작업 ID입니다.$parameters = [Collections.Generic.Dictionary[String,Collections.Generic.List[String]]]::new() $parameters.Add("commands",@("ipconfig","dir env:\computername")) $parameters.Add("executionTimeout",@(3600)) $props = @{ WindowId = "mw-0123e4cce56ff78ae" ServiceRoleArn = "arn:aws:iam::123456789012:role/MaintenanceWindowsRole" MaxConcurrency = 1 MaxError = 1 TaskType = "RUN_COMMAND" TaskArn = "AWS-RunPowerShellScript" Target = @{Key="WindowTargetIds";Values="fe1234ea-56d7-890b-12f3-456b789bee0f"} Priority = 1 RunCommand_Parameter = $parameters Name = "set-via-cmdlet" } Register-SSMTaskWithMaintenanceWindow @props출력:
f1e2ef34-5678-12e3-456a-12334c5c6cbe예제 4: 이 예제에서는 이름이
Create-Snapshots인 문서를 사용하여 AWS Systems Manager 자동화 작업을 등록합니다.$automationParameters = @{} $automationParameters.Add( "instanceId", @("{{ TARGET_ID }}") ) $automationParameters.Add( "AutomationAssumeRole", @("{arn:aws:iam::111111111111:role/AutomationRole}") ) $automationParameters.Add( "SnapshotTimeout", @("PT20M") ) Register-SSMTaskWithMaintenanceWindow -WindowId mw-123EXAMPLE456` -ServiceRoleArn "arn:aws:iam::123456789012:role/MW-Role"` -MaxConcurrency 1 -MaxError 1 -TaskArn "CreateVolumeSnapshots"` -Target @{ Key="WindowTargetIds";Values="4b5acdf4-946c-4355-bd68-4329a43a5fd1" }` -TaskType "AUTOMATION"` -Priority 4` -Automation_DocumentVersion '$DEFAULT' -Automation_Parameter $automationParameters -Name "Create-Snapshots"-
API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조(V5)의 RegisterTaskWithMaintenanceWindow를 참조하세요.
-
AWS SDK 개발자 가이드 및 코드 예시의 전체 목록은 AWS SDK와 함께 이 서비스 사용 섹션을 참조하세요. 이 주제에는 시작하기에 대한 정보와 이전 SDK 버전에 대한 세부 정보도 포함되어 있습니다.