

• AWS Systems Manager CloudWatch 대시보드는 2026년 4월 30일 이후에는 더 이상 사용할 수 없습니다. 고객은 Amazon CloudWatch 콘솔을 계속 사용하여 현재와 마찬가지로 Amazon CloudWatch 대시보드를 보고, 생성하고, 관리할 수 있습니다. 자세한 내용은 [Amazon CloudWatch 대시보드 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)를 참조하세요.

# CLI로 `RegisterTaskWithMaintenanceWindow` 사용
<a name="example_ssm_RegisterTaskWithMaintenanceWindow_section"></a>

다음 코드 예시는 `RegisterTaskWithMaintenanceWindow`의 사용 방법을 보여 줍니다.

------
#### [ CLI ]

**AWS CLI**  
**예제 1: 유지 관리 기간에 자동화 작업을 등록하는 방법**  
다음 `register-task-with-maintenance-window` 예제에서는 인스턴스에서 대상으로 지정된 유지 관리 기간에 자동화 작업을 등록합니다.  

```
aws ssm register-task-with-maintenance-window \
    --window-id {{"mw-082dcd7649EXAMPLE"}} \
    --targets {{Key=InstanceIds,Values=i-1234520122EXAMPLE}} \
    --task-arn {{AWS-RestartEC2Instance}} \
    --service-role-arn {{arn:aws:iam::111222333444:role/SSM}} --task-type {{AUTOMATION}} \
    --task-invocation-parameters "{\"Automation\":{\"DocumentVersion\":\"\$LATEST\",\"Parameters\":{\"InstanceId\":[\"{{RESOURCE_ID}}\"]}}}" \
    --priority {{0}} \
    --max-concurrency {{1}} \
    --max-errors {{1}} \
    --name {{"AutomationExample"}} \
    --description {{"Restarting EC2 Instance for maintenance"}}
```
출력:  

```
{
    "WindowTaskId":"11144444-5555-6666-7777-88888888"
}
```
자세한 내용은 **AWS Systems Manager 사용 설명서의 [유지 관리 기간에 작업 등록(AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-tasks.html)을 참조하세요.  
**예제 2: 유지 관리 기간에 Lambda 작업을 등록하는 방법**  
다음 `register-task-with-maintenance-window` 예제에서는 인스턴스에서 대상으로 지정된 유지 관리 기간에 Lambda 작업을 등록합니다.  

```
aws ssm register-task-with-maintenance-window \
    --window-id {{"mw-082dcd7649dee04e4"}} \
    --targets {{Key=InstanceIds,Values=i-12344d305eEXAMPLE}} \
    --task-arn {{arn:aws:lambda:us-east-1:111222333444:function:SSMTestLAMBDA}} \
    --service-role-arn {{arn:aws:iam::111222333444:role/SSM}} \
    --task-type {{LAMBDA}} \
    --task-invocation-parameters '{{{"Lambda":{"Payload":"{\"InstanceId\":\"{{RESOURCE_ID}}\",\"targetType\":\"{{TARGET_TYPE}}\"}","Qualifier":"$LATEST"}}}}' \
    --priority {{0}} \
    --max-concurrency {{10}} \
    --max-errors {{5}} \
    --name {{"Lambda_Example"}} \
    --description {{"My Lambda Example"}}
```
출력:  

```
{
    "WindowTaskId":"22244444-5555-6666-7777-88888888"
}
```
자세한 내용은 **AWS Systems Manager 사용 설명서의 [유지 관리 기간에 작업 등록(AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-tasks.html)을 참조하세요.  
**예제 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\/{{1}}{{1}}0351\/1\/EZOut.zip\"],\"workingDirectory\":[\"\\\\\"]},\"TimeoutSeconds\":600}}" \
    --max-concurrency 1 \
    --max-errors 1 \
    --priority {{10}}
```
출력:  

```
{
    "WindowTaskId":"33344444-5555-6666-7777-88888888"
}
```
자세한 내용은 **AWS Systems Manager 사용 설명서의 [유지 관리 기간에 작업 등록(AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-tasks.html)을 참조하세요.  
**예제 4: 유지 관리 기간에 Step Functions 작업을 등록하는 방법**  
다음 `register-task-with-maintenance-window` 예제에서는 인스턴스에서 대상으로 지정된 유지 관리 기간에 Step Functions 작업을 등록합니다.  

```
aws ssm register-task-with-maintenance-window \
    --window-id {{"mw-1234d787d6EXAMPLE"}} \
    --targets {{Key=WindowTargetIds,Values=12347414-69c3-49f8-95b8-ed2dcEXAMPLE}} \
    --task-arn {{arn:aws:states:us-east-1:111222333444:stateMachine:SSMTestStateMachine}} \
    --service-role-arn {{arn:aws:iam::111222333444:role/MaintenanceWindows}} \
    --task-type {{STEP_FUNCTIONS}} \
    --task-invocation-parameters '{{{"StepFunctions":{"Input":"{\"InstanceId\":\"{{RESOURCE_ID}}\"}"}}}}' \
    --priority {{0}} \
    --max-concurrency {{10}} \
    --max-errors {{5}} \
    --name {{"Step_Functions_Example"}} \
    --description {{"My Step Functions Example"}}
```
출력:  

```
{
    "WindowTaskId":"44444444-5555-6666-7777-88888888"
}
```
자세한 내용은 **AWS Systems Manager 사용 설명서의 [유지 관리 기간에 작업 등록(AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-tasks.html)을 참조하세요.  
**예제 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-concurrency {{1}} \
    --max-errors {{1}} \
    --priority {{10}}
```
출력:  

```
{
    "WindowTaskId":"33344444-5555-6666-7777-88888888"
}
```
자세한 내용은 **AWS Systems Manager 사용 설명서의 [유지 관리 기간에 작업 등록(AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-tasks.html)을 참조하세요.  
+  API 세부 정보는 **AWS CLI 명령 참조의 [RegisterTaskWithMaintenanceWindow](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/register-task-with-maintenance-window.html)를 참조하세요.

------
#### [ 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 Automation 작업을 등록합니다.**  

```
$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](https://docs.aws.amazon.com/powershell/v4/reference)를 참조하세요.

**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 Automation 작업을 등록합니다.**  

```
$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](https://docs.aws.amazon.com/powershell/v5/reference)를 참조하세요.

------

AWS SDK 개발자 가이드 및 코드 예제의 전체 목록은 [AWS SDK와 함께 이 서비스 사용](sdk-general-information-section.md)을 참조하세요. 이 주제에는 시작하기에 대한 정보와 이전 SDK 버전에 대한 세부 정보도 포함되어 있습니다.