

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

# OpsItems 생성
<a name="OpsCenter-create-OpsItems"></a>

AWS Systems Manager의 도구인 OpsCenter를 설정하고 AWS 서비스와 통합하면 AWS 서비스가 기본 규칙, 이벤트 또는 경보를 기반으로 OpsItems를 자동으로 생성합니다.

기본 Amazon EventBridge 규칙의 상태와 심각도 수준을 볼 수 있습니다. 필요한 경우 Amazon EventBridge에서 이러한 규칙을 생성하거나 편집할 수 있습니다. Amazon CloudWatch에서 경보를 보고 생성하거나 편집할 수도 있습니다. 규칙과 경보를 사용하여 OpsItems를 자동으로 생성하려는 이벤트를 구성할 수 있습니다.

시스템에서 OpsItem을 생성할 때 **미결** 상태입니다. 상태를 OpsItem 조사 시작 시 **진행 중**으로 변경하고 OpsItem 수정 후 **해결됨**으로 변경할 수 있습니다. AWS 서비스에서 경보와 규칙을 구성하여 OpsItems를 생성하는 방법과 수동으로 OpsItems를 생성하는 방법에 대한 자세한 내용은 다음 주제를 참조하세요.

**Topics**
+ [OpsItems를 생성하도록 EventBridge 규칙 구성](OpsCenter-automatically-create-OpsItems-2.md)
+ [OpsItems를 생성하도록 CloudWatch 경보 구성](OpsCenter-create-OpsItems-from-CloudWatch-Alarms.md)
+ [수동으로 OpsItems 만들기](OpsCenter-manually-create-OpsItems.md)

# OpsItems를 생성하도록 EventBridge 규칙 구성
<a name="OpsCenter-automatically-create-OpsItems-2"></a>

Amazon EventBridge는 이벤트를 수신하면 기본 규칙을 기반으로 새 OpsItem을 생성합니다. 규칙을 생성하거나 기존 규칙을 편집하여 OpsCenter를 EventBridge 이벤트의 대상으로 설정할 수 있습니다. 이벤트 규칙을 생성하는 방법에 대한 자세한 내용은* *Amazon EventBridge 사용 설명서의 [AWS 서비스에 대한 규칙 생성](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html)을 참조하세요.

**OpsCenter에서 OpsItems를 생성하도록 EventBridge 규칙 구성**

1. [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)에서 Amazon EventBridge 콘솔을 엽니다.

1. 탐색 창에서 **규칙**을 선택합니다.

1. **Rules**(규칙) 페이지의 **Event bus**(이벤트 버스)에서 **default**(기본)를 선택합니다.

1. **규칙**에서 이름 옆에 있는 확인란을 선택하여 규칙을 선택합니다.

1. 규칙 이름을 선택하여 세부 정보 페이지를 엽니다. **규칙 세부 정보** 섹션에서 **상태**가 **활성화됨**으로 설정되었는지 확인합니다.
**참고**  
필요한 경우 페이지 오른쪽 상단에 있는 **이벤트**를 사용하여 상태를 업데이트할 수 있습니다.

1. **대상** 탭을 선택합니다.

1. [**Targets**] 탭에서 [**Edit**]를 선택합니다.

1. **대상 유형**의 경우 **AWS 서비스**를 선택합니다.

1. **Select a target**(대상 선택)에서 **Systems Manager OpsItem**을 선택합니다.

1. 여러 대상 유형에 대해 EventBridge에서는 대상에 이벤트를 보낼 권한이 필요합니다. 이 경우 EventBridge는 이벤트 실행에 필요한 AWS Identity and Access Management(IAM) 역할을 생성할 수 있습니다.
   + IAM 역할을 자동으로 생성하려면 **이 특정 리소스에 대해 새 역할 생성**을 선택합니다.
   + OpsCenter에서 OpsItems을(를) 생성할 수 있는 권한을 EventBridge 부여하기 위해 생성한 IAM 역할을 사용하려면 **Use existing role**(기존 역할 사용)을 선택합니다.

1. **추가 설정** 섹션의 **대상 입력 구성**에서 **입력 변환기**를 선택합니다.

   **입력 변환기** 옵션을 사용하여 중복 제거 문자열과 제목 및 심각도와 같은 OpsItems에 대한 기타 중요한 정보를 지정할 수 있습니다.

1. **Configure input transformer**(입력 구성 변환기)를 선택합니다.

1. **대상 입력 변환기**의 **입력 경로**에서 트리거하는 이벤트에서 구문 분석할 값을 지정합니다. 예를 들어 규칙을 트리거하는 이벤트에서 시작 시간, 종료 시간 및 기타 세부 정보를 구문 분석하려면 다음 JSON을 사용합니다.

   ```
   {
       "end-time": "$.detail.EndTime",
       "failure-cause": "$.detail.cause",
       "resources": "$.resources[0]",
       "source": "$.detail.source",
       "start-time": "$.detail.StartTime"
   }
   ```

1. **Template**(템플릿)에서 대상으로 전송할 정보를 지정합니다. 예를 들어 다음 JSON을 사용하여 OpsCenter에 정보를 전달합니다. 해당 정보는 OpsItem을(를) 생성하는 데 사용됩니다.
**참고**  
입력 템플릿이 JSON 형식인 경우 템플릿의 객체 값에는 따옴표가 포함될 수 없습니다. 예를 들면, 리소스, 오류 원인, 소스, 시작 시간 및 종료 시간의 값은 따옴표로 묶을 수 없습니다.

   ```
   {
       "title": "EBS snapshot copy failed",
       "description": "CloudWatch Event Rule SSMOpsItems-EBS-snapshot-copy-failed was triggered. Your EBS snapshot copy has failed. See below for more details.",
       "category": "Availability",
       "severity": "2",
       "source": "EC2",
       "operationalData": {
           "/aws/dedup": {
               "type": "SearchableString",
               "value": "{\"dedupString\":\"SSMOpsItems-EBS-snapshot-copy-failed\"}"
           },
           "/aws/automations": {
               "value": "[ { \"automationType\": \"AWS:SSM:Automation\", \"automationId\": \"AWS-CopySnapshot\" } ]"
           },
           "failure-cause": {
               "value": <failure-cause>
           },
           "source": {
               "value": <source>
           },
           "start-time": {
               "value": <start-time>
           },
           "end-time": {
               "value": <end-time>
           },
            },
           "resources": {
               "value": <resources>
           }
       }
   }
   ```

   이러한 필드에 대한 자세한 내용은 *Amazon EventBridge User Guide*의 [Transforming target input](https://docs.aws.amazon.com/eventbridge/latest/userguide/transform-input.html)을 참조하세요.

1. **확인**을 선택합니다.

1. **다음**을 선택합니다.

1. **다음**을 선택합니다.

1. **규칙 업데이트**를 선택합니다.

이벤트에서 OpsItem이 생성되면 OpsItem을 열고 **Private operational data(프라이빗 운영 데이터)** 섹션으로 스크롤하여 이벤트 세부 정보를 볼 수 있습니다. OpsItem에서 옵션을 구성하는 방법에 대한 자세한 내용은 [OpsItems 관리](OpsCenter-working-with-OpsItems.md) 섹션을 참조하세요.

# OpsItems를 생성하도록 CloudWatch 경보 구성
<a name="OpsCenter-create-OpsItems-from-CloudWatch-Alarms"></a>

AWS Systems Manager의 도구인 OpsCenter의 통합 설정 중 Amazon CloudWatch에서 일반 경보를 기반으로 OpsItems을 자동으로 생성하도록 설정할 수 있습니다. 경보를 생성하거나 기존 경보를 편집하여 OpsCenter에 OpsItems를 생성할 수 있습니다.

CloudWatch는 OpsItems를 생성하도록 경보를 구성할 때 AWS Identity and Access Management(IAM)에 새로운 서비스 연결 역할을 생성합니다. 새 역할의 이름은 `AWSServiceRoleForCloudWatchAlarms_ActionSSM`입니다. CloudWatch Service 연결 역할에 대한 자세한 내용은* *Amazon CloudWatch 사용 설명서의 [CloudWatch에 서비스 연결 역할 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-service-linked-roles.html)을 참조하세요.

CloudWatch 경보가 OpsItem을 생성하면 OpsItem은 **CloudWatch 경보 - '*alarm\$1name*'이 ALARM 상태**에 있음을 표시합니다.

특정 OpsItem에 대한 세부 정보를 보려면 OpsItem을 선택한 다음 **관련 리소스 세부 정보** 탭을 선택합니다. OpsItems를 수동으로 편집하여 심각도 또는 범주와 같은 세부 정보를 변경할 수 있습니다. 그러나 경보의 심각도 또는 범주를 편집할 때 Systems Manager는 경보에서 이미 생성된 OpsItems의 심각도 또는 범주를 업데이트할 수 없습니다. 경보가 OpsItem을 생성하고 중복 제거 문자열을 지정한 경우 CloudWatch에서 경보를 편집하더라도 경보는 추가 OpsItems를 생성하지 않습니다. OpsCenter에서 OpsItem이 해결되면 경우 CloudWatch가 새로운 OpsItem을 생성합니다.

CloudWatch 경보 구성에 대한 자세한 내용은 다음 주제를 참조하세요.

**Topics**
+ [OpsItems를 생성하도록 CloudWatch 경보 구성(콘솔)](OpsCenter-creating-or-editing-existing-alarm-console.md)
+ [OpsItems를 생성하도록 기존 CloudWatch 경보 구성(프로그래밍 방식으로)](OpsCenter-configuring-an-existing-alarm-programmatically.md)

# OpsItems를 생성하도록 CloudWatch 경보 구성(콘솔)
<a name="OpsCenter-creating-or-editing-existing-alarm-console"></a>

수동으로 경보를 생성하거나 기존 경보를 업데이트하여 Amazon CloudWatch에서 OpsItems를 생성할 수 있습니다.

**CloudWatch 경보 생성 및 해당 경보의 대상으로 Systems Manager 구성**

1. **Amazon CloudWatch 사용 설명서의 [정적 임계값을 기반으로 CloudWatch 경보 생성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html)에 지정된 대로 1\$19단계를 완료합니다.

1. **Systems Manager 작업** 섹션에서 **Systems Manager OpsCenter 작업 추가**를 선택합니다.

1. **OpsItems**를 선택합니다.

1. **심각도는**에서 1\$14를 선택합니다.

1. (옵션) **범주**에서 OpsItem에 대한 범주를 선택합니다.

1. **Amazon CloudWatch 사용 설명서의 [정적 임계값을 기반으로 CloudWatch 경보 생성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html)에 지정된 대로 11\$113단계를 완료합니다.

1. [**다음(Next)**]을 선택하고 마법사를 완료합니다.

**기존 경보를 편집하고 Systems Manager를 해당 경보의 대상으로 지정하려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **경보(Alarms)**를 선택합니다.

1. 경보를 선택하고 [**작업(Actions)**] 및 [**편집(Edit)**]을 선택합니다.

1. (옵션) [**지표(Metrics)**] 및 [**조건(Conditions)**] 섹션에서 설정을 변경하고 [**다음(Next)**]을 선택합니다.

1. [**Systems Manager**] 섹션에서 [**Systems Manager OpsCenter 작업 추가(Add Systems Manager OpsCenter action)**]를 선택합니다.

1. [**심각도(Severity)**]에서 숫자를 선택합니다.
**참고**  
심각도는 사용자가 정의하는 값입니다. 사용자 또는 사용자의 조직이 각 심각도 값의 의미와 각 심각도와 관련된 서비스 수준 계약을 결정합니다.

1. (옵션) [**범주(Category)**]에서 옵션을 선택합니다.

1. [**다음(Next)**]을 선택하고 마법사를 완료합니다.

# OpsItems를 생성하도록 기존 CloudWatch 경보 구성(프로그래밍 방식으로)
<a name="OpsCenter-configuring-an-existing-alarm-programmatically"></a>

AWS Command Line Interface(AWS CLI), AWS CloudFormation 템플릿 또는 Java 코드 조각을 사용하여 프로그래밍 방식으로 OpsItems를 생성하도록 Amazon CloudWatch 경보를 구성할 수 있습니다.

**Topics**
+ [시작하기 전 준비 사항](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-before-you-begin)
+ [OpsItems(AWS CLI)를 생성하도록 CloudWatch 경보 구성](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-manually-configure-cli)
+ [OpsItems를 생성하거나 업데이트하도록 CloudWatch 경보 구성(CloudFormation)](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-programmatically-configure-CloudFormation)
+ [OpsItems(Java)를 생성하거나 업데이트하도록 CloudWatch 경보 구성](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-programmatically-configure-java)

## 시작하기 전 준비 사항
<a name="OpsCenter-create-OpsItems-from-CloudWatch-Alarms-before-you-begin"></a>

기존 경보를 프로그래밍 방식으로 편집하거나 OpsItems를 생성하는 경보를 생성하는 경우 Amazon 리소스 이름(ARN)을 지정해야 합니다. 이 ARN은 경보에서 생성된 OpsItems의 대상으로 Systems Manager OpsCenter를 식별합니다. 경보에서 생성된 OpsItems에 심각도 또는 범주와 같은 특정 정보가 포함되도록 ARN을 사용자 지정할 수 있습니다. 각 ARN에는 다음 표에 설명된 정보가 포함됩니다.


****  

| 파라미터 | 세부 정보 | 
| --- | --- | 
|  `Region`(필수)  |  경보가 있는 AWS 리전입니다. 예를 들면 `us-west-2`입니다. OpsCenter를 사용할 수 있는 AWS 리전에 대한 자세한 내용은 [AWS Systems Manager 엔드포인트 및 할당량](https://docs.aws.amazon.com/general/latest/gr/ssm.html)을 참조하세요.  | 
|  `account_ID`(필수)  |  경보 생성에 사용된 동일한 AWS 계정 ID입니다. 예를 들면 `123456789012`입니다. 계정 ID 다음에는 다음 예와 같이 콜론(`:`)과 파라미터 `opsitem`이 와야 합니다.  | 
|  `severity`(필수)  |  경보에서 생성된 OpsItems에 대한 사용자 정의 심각도 수준입니다. 유효값: `1`, `2`, `3`, `4`   | 
|  `Category`(선택 사항)  |  경보에서 생성된 OpsItems에 대한 범주입니다. 유효한 값: `Availability`, `Cost`, `Performance`, `Recovery` 및 `Security`.  | 

다음 구문을 사용하여 ARN을 생성합니다. 이 ARN에는 선택적 `Category` 파라미터가 포함되어 있지 않습니다.

```
arn:aws:ssm:Region:account_ID:opsitem:severity
```

다음은 한 예입니다.

```
arn:aws:ssm:us-west-2:123456789012:opsitem:3
```

선택적 `Category` 파라미터를 사용하는 ARN을 생성하려면 다음 구문을 사용합니다.

```
arn:aws:ssm:Region:account_ID:opsitem:severity#CATEGORY=category_name
```

다음은 한 예입니다.

```
arn:aws:ssm:us-west-2:123456789012:opsitem:3#CATEGORY=Security
```

## OpsItems(AWS CLI)를 생성하도록 CloudWatch 경보 구성
<a name="OpsCenter-create-OpsItems-from-CloudWatch-Alarms-manually-configure-cli"></a>

이 명령을 사용하려면 `alarm-actions` 파라미터에 대한 ARN을 지정해야 합니다. ARN을 생성하는 방법에 대한 자세한 내용은 [시작하기 전 준비 사항](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-before-you-begin) 섹션을 참조하세요.

**OpsItems(AWS CLI)를 생성하도록 CloudWatch 경보 구성**

1. 아직 하지 않은 경우 AWS Command Line Interface(AWS CLI)을 설치하고 구성합니다.

   자세한 내용은 [최신 버전의 AWS CLI 설치 또는 업데이트](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)를 참조하세요.

1. 다음 명령을 실행하여 구성하려는 경보에 대한 정보를 수집합니다.

   ```
   aws cloudwatch describe-alarms --alarm-names "alarm name"
   ```

1. 다음 명령을 실행하여 경보를 업데이트합니다. 각 *example resource placeholder*를 사용자의 정보로 바꿉니다.

   ```
   aws cloudwatch put-metric-alarm --alarm-name name \
   --alarm-description "description" \
   --metric-name name --namespace namespace \
   --statistic statistic --period value --threshold value \
   --comparison-operator value \
   --dimensions "dimensions" --evaluation-periods value \
       --alarm-actions arn:aws:ssm:Region:account_ID:opsitem:severity#CATEGORY=category_name \
   --unit unit
   ```

   다음은 그 예입니다.

------
#### [ Linux & macOS ]

   ```
   aws cloudwatch put-metric-alarm --alarm-name cpu-mon \
   --alarm-description "Alarm when CPU exceeds 70 percent" \
   --metric-name CPUUtilization --namespace AWS/EC2 \
   --statistic Average --period 300 --threshold 70 \
   --comparison-operator GreaterThanThreshold \
   --dimensions "Name=InstanceId,Value=i-12345678" --evaluation-periods 2 \
   --alarm-actions arn:aws:ssm:us-east-1:123456789012:opsitem:3#CATEGORY=Security \
   --unit Percent
   ```

------
#### [ Windows ]

   ```
   aws cloudwatch put-metric-alarm --alarm-name cpu-mon ^
   --alarm-description "Alarm when CPU exceeds 70 percent" ^
   --metric-name CPUUtilization --namespace AWS/EC2 ^
   --statistic Average --period 300 --threshold 70 ^
   --comparison-operator GreaterThanThreshold ^
   --dimensions "Name=InstanceId,Value=i-12345678" --evaluation-periods 2 ^
   --alarm-actions arn:aws:ssm:us-east-1:123456789012:opsitem:3#CATEGORY=Security ^
   --unit Percent
   ```

------

## OpsItems를 생성하거나 업데이트하도록 CloudWatch 경보 구성(CloudFormation)
<a name="OpsCenter-create-OpsItems-from-CloudWatch-Alarms-programmatically-configure-CloudFormation"></a>

이 섹션에는 AWS CloudFormation을 자동으로 생성하거나 업데이트하도록 CloudWatch 경보를 구성하는 데 사용할 수 있는 OpsItems 템플릿이 포함되어 있습니다. 각 템플릿을 사용하려면 `AlarmActions` 파라미터에 대한 ARN을 지정해야 합니다. ARN을 생성하는 방법에 대한 자세한 내용은 [시작하기 전 준비 사항](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-before-you-begin) 섹션을 참조하세요.

**지표 경보** - 다음 CloudFormation 템플릿을 사용하여 CloudWatch 지표 경보를 생성하거나 업데이트합니다. 이 템플릿에 지정된 경보는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 상태 확인을 모니터링합니다. 경보가 `ALARM` 상태가 되면 OpsCenter에 OpsItem이 생성됩니다.

```
    {
      "AWSTemplateFormatVersion": "2010-09-09",
      "Parameters" : {
        "RecoveryInstance" : {
          "Description" : "The EC2 instance ID to associate this alarm with.",
          "Type" : "AWS::EC2::Instance::Id"
        }
      },
      "Resources": {
        "RecoveryTestAlarm": {
          "Type": "AWS::CloudWatch::Alarm",
          "Properties": {
            "AlarmDescription": "Run a recovery action when instance status check fails for 15 consecutive minutes.",
            "Namespace": "AWS/EC2" ,
            "MetricName": "StatusCheckFailed_System",
            "Statistic": "Minimum",
            "Period": "60",
            "EvaluationPeriods": "15",
            "ComparisonOperator": "GreaterThanThreshold",
            "Threshold": "0",
            "AlarmActions": [ {"Fn::Join" : ["", ["arn:arn:aws:ssm:Region:account_ID:opsitem:severity#CATEGORY=category_name", { "Ref" : "AWS::Partition" }, ":ssm:", { "Ref" : "AWS::Region" }, { "Ref" : "AWS:: AccountId" }, ":opsitem:3" ]]} ],
            "Dimensions": [{"Name": "InstanceId","Value": {"Ref": "RecoveryInstance"}}]
          }
        }
      }
    }
```

**복합 경보** - 다음 CloudFormation 템플릿을 사용하여 복합 경보를 생성하거나 업데이트합니다. 복합 경보는 여러 지표 경보로 구성됩니다. 경보가 `ALARM` 상태가 되면 OpsCenter에 OpsItem이 생성됩니다.

```
"Resources":{
       "HighResourceUsage":{
          "Type":"AWS::CloudWatch::CompositeAlarm",
          "Properties":{
             "AlarmName":"HighResourceUsage",
             "AlarmRule":"(ALARM(HighCPUUsage) OR ALARM(HighMemoryUsage)) AND NOT ALARM(DeploymentInProgress)",
             "AlarmActions":"arn:aws:ssm:Region:account_ID:opsitem:severity#CATEGORY=category_name",
             "AlarmDescription":"Indicates that the system resource usage is high while no known deployment is in progress"
          },
          "DependsOn":[
             "DeploymentInProgress",
             "HighCPUUsage",
             "HighMemoryUsage"
          ]
       },
       "DeploymentInProgress":{
          "Type":"AWS::CloudWatch::CompositeAlarm",
          "Properties":{
             "AlarmName":"DeploymentInProgress",
             "AlarmRule":"FALSE",
             "AlarmDescription":"Manually updated to TRUE/FALSE to disable other alarms"
          }
       },
       "HighCPUUsage":{
          "Type":"AWS::CloudWatch::Alarm",
          "Properties":{
             "AlarmDescription":"CPUusageishigh",
             "AlarmName":"HighCPUUsage",
             "ComparisonOperator":"GreaterThanThreshold",
             "EvaluationPeriods":1,
             "MetricName":"CPUUsage",
             "Namespace":"CustomNamespace",
             "Period":60,
             "Statistic":"Average",
             "Threshold":70,
             "TreatMissingData":"notBreaching"
          }
       },
       "HighMemoryUsage":{
          "Type":"AWS::CloudWatch::Alarm",
          "Properties":{
             "AlarmDescription":"Memoryusageishigh",
             "AlarmName":"HighMemoryUsage",
             "ComparisonOperator":"GreaterThanThreshold",
             "EvaluationPeriods":1,
             "MetricName":"MemoryUsage",
             "Namespace":"CustomNamespace",
             "Period":60,
             "Statistic":"Average",
             "Threshold":65,
             "TreatMissingData":"breaching"
          }
       }
    }
```

## OpsItems(Java)를 생성하거나 업데이트하도록 CloudWatch 경보 구성
<a name="OpsCenter-create-OpsItems-from-CloudWatch-Alarms-programmatically-configure-java"></a>

이 섹션에는 OpsItems를 자동으로 생성하거나 업데이트하도록 CloudWatch 경보를 구성하는 데 사용할 수 있는 Java 코드 조각이 포함되어 있습니다. 각 코드 조각을 사용하려면 `validSsmActionStr` 파라미터에 대한 ARN을 지정해야 합니다. ARN을 생성하는 방법에 대한 자세한 내용은 [시작하기 전 준비 사항](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-before-you-begin) 섹션을 참조하세요.

**특정 경보** - 다음 Java 코드 조각을 사용하여 CloudWatch 경보를 생성하거나 업데이트합니다. 이 템플릿에 지정된 경보는 Amazon EC2 인스턴스 상태 확인을 모니터링합니다. 경보가 `ALARM` 상태가 되면 OpsCenter에 OpsItem이 생성됩니다.

```
import com.amazonaws.services.cloudwatch.AmazonCloudWatch;
    import com.amazonaws.services.cloudwatch.AmazonCloudWatchClientBuilder;
    import com.amazonaws.services.cloudwatch.model.ComparisonOperator;
    import com.amazonaws.services.cloudwatch.model.Dimension;
    import com.amazonaws.services.cloudwatch.model.PutMetricAlarmRequest;
    import com.amazonaws.services.cloudwatch.model.PutMetricAlarmResult;
    import com.amazonaws.services.cloudwatch.model.StandardUnit;
    import com.amazonaws.services.cloudwatch.model.Statistic;
     
    private void putMetricAlarmWithSsmAction() {
        final AmazonCloudWatch cw =
                AmazonCloudWatchClientBuilder.defaultClient();
     
        Dimension dimension = new Dimension()
                .withName("InstanceId")
                .withValue(instanceId);
     
        String validSsmActionStr = "arn:aws:ssm:Region:account_ID:opsitem:severity#CATEGORY=category_name";
     
        PutMetricAlarmRequest request = new PutMetricAlarmRequest()
                .withAlarmName(alarmName)
                .withComparisonOperator(
                        ComparisonOperator.GreaterThanThreshold)
                .withEvaluationPeriods(1)
                .withMetricName("CPUUtilization")
                .withNamespace("AWS/EC2")
                .withPeriod(60)
                .withStatistic(Statistic.Average)
                .withThreshold(70.0)
                .withActionsEnabled(false)
                .withAlarmDescription(
                        "Alarm when server CPU utilization exceeds 70%")
                .withUnit(StandardUnit.Seconds)
                .withDimensions(dimension)
                .withAlarmActions(validSsmActionStr);
     
        PutMetricAlarmResult response = cw.putMetricAlarm(request);
    }
```

**모든 경보 업데이트** - 다음 Java 코드 조각을 사용하여 경보가 `ALARM` 상태가 될 때 OpsItems를 생성하도록 AWS 계정의 모든 CloudWatch 경보를 업데이트합니다.

```
import com.amazonaws.services.cloudwatch.AmazonCloudWatch;
    import com.amazonaws.services.cloudwatch.AmazonCloudWatchClientBuilder;
    import com.amazonaws.services.cloudwatch.model.DescribeAlarmsRequest;
    import com.amazonaws.services.cloudwatch.model.DescribeAlarmsResult;
    import com.amazonaws.services.cloudwatch.model.MetricAlarm;
     
    private void listMetricAlarmsAndAddSsmAction() {
        final AmazonCloudWatch cw = AmazonCloudWatchClientBuilder.defaultClient();
     
        boolean done = false;
        DescribeAlarmsRequest request = new DescribeAlarmsRequest();
     
        String validSsmActionStr = "arn:aws:ssm:Region:account_ID:opsitem:severity#CATEGORY=category_name";
     
        while(!done) {
     
            DescribeAlarmsResult response = cw.describeAlarms(request);
     
            for(MetricAlarm alarm : response.getMetricAlarms()) {
                // assuming there are no alarm actions added for the metric alarm
                alarm.setAlarmActions(ImmutableList.of(validSsmActionStr));
            }
     
            request.setNextToken(response.getNextToken());
     
            if(response.getNextToken() == null) {
                done = true;
            }
        }
    }
```

# 수동으로 OpsItems 만들기
<a name="OpsCenter-manually-create-OpsItems"></a>

운영 문제를 발견하면 AWS Systems Manager의 도구인 OpsCenter에서 OpsItem을 수동으로 생성하여 문제를 관리하고 해결할 수 있습니다.

크로스 계정 관리를 위해 OpsCenter를 설정하는 경우 Systems Manager 위임 관리자 또는 AWS Organizations 관리 계정은 멤버 계정에 대해 OpsItems를 생성할 수 있습니다. 자세한 내용은 [(선택 사항) 여러 계정에서 OpsItems를 중앙 집중식으로 관리하도록 OpsCenter를 수동으로 설정](OpsCenter-getting-started-multiple-accounts.md) 단원을 참조하십시오.

AWS Systems Manager 콘솔, AWS Command Line Interface(AWS CLI) 또는 AWS Tools for Windows PowerShell를 사용하여 OpsItems를 생성할 수 있습니다.

**Topics**
+ [수동으로 OpsItems 생성(콘솔)](OpsCenter-creating-OpsItems-console.md)
+ [수동으로 OpsItems 생성(AWS CLI)](OpsCenter-creating-OpsItems-CLI.md)
+ [수동으로 OpsItems 생성(PowerShell)](OpsCenter-creating-OpsItems-Powershell.md)

# 수동으로 OpsItems 생성(콘솔)
<a name="OpsCenter-creating-OpsItems-console"></a>

 AWS Systems Manager 콘솔을 사용하여 OpsItems를 수동으로 생성할 수 있습니다. OpsItem을 생성하면 OpsCenter 계정에 표시됩니다. 크로스 계정 관리를 위해 OpsCenter를 설정하는 경우 OpsCenter는 위임된 관리자 또는 관리 계정에 선택한 멤버 계정에 대한 OpsItems를 생성하는 옵션을 제공합니다. 자세한 내용은 [(선택 사항) 여러 계정에서 OpsItems를 중앙 집중식으로 관리하도록 OpsCenter를 수동으로 설정](OpsCenter-getting-started-multiple-accounts.md) 섹션을 참조하세요.

**AWS Systems Manager 콘솔을 사용하여 OpsItem 생성**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **OpsCenter**를 선택합니다.

1. **OpsItem 생성(Create)**을 선택합니다. 이 버튼이 표시되지 않으면 [**OpsItems**] 탭을 선택한 다음 [**OpsItem 생성(Create OpsItem)**]을 선택합니다.

1.  (선택 사항) **기타 계정**을 선택한 다음 OpsItem을 생성하려는 계정을 선택합니다.
**참고**  
이 단계는 멤버 계정에 대한 OpsItems을 생성하는 경우에 필요합니다.

1. **제목**에 OpsItem의 목적을 이해하는 데 도움이 되는 설명이 포함된 이름을 입력합니다.

1. [**소스(Source)**]에 사용자가 OpsItem의 출처를 이해하는 데 도움을 줄 수 있도록 영향을 받는 AWS 리소스 유형 또는 기타 소스 정보를 입력합니다.
**참고**  
OpsItem을 생성한 후에는 [**소스(Source)**] 필드를 편집할 수 없습니다.

1. (옵션) [**우선순위(Priority)**]에서 우선순위 수준을 선택합니다.

1. (옵션) [**심각도(Severity)**]에서 심각도 수준을 선택합니다.

1. (옵션) [**범주(Category)**]에서 범주를 선택합니다.

1. **설명**에 문제를 재현하기 위한 단계(해당하는 경우)를 포함하여 이 OpsItem에 대한 정보를 입력합니다.
**참고**  
콘솔에서는 OpsItem 설명 필드에 있는 대부분의 마크다운 서식이 지원됩니다. 자세한 내용은 **AWS Management Console 시작하기 시작 안내서의 [콘솔에서 마크다운 사용](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/aws-markdown.html)을 참조하세요.

1. **중복 제거 문자열**에 시스템에서 중복 OpsItems를 확인하는 데 사용할 수 있는 단어를 입력합니다. 중복 제거 문자열에 대한 자세한 내용은 [중복 OpsItems 관리](OpsCenter-working-deduplication.md) 섹션을 참조하세요.

1. (옵션) **알림**에 이 OpsItem이 업데이트될 때 알림을 보낼 Amazon SNS 주제의 Amazon 리소스 이름(ARN)을 지정합니다. OpsItem과 동일한 AWS 리전에 있는 Amazon SNS ARN을 지정해야 합니다.

1. (선택 사항) **관련 리소스**에서 **추가**를 선택하여 영향을 받는 리소스 및 관련 리소스의 ID 또는 ARN을 지정합니다.

1. **OpsItem 생성**을 선택합니다.

성공하면 페이지에 OpsItem이 표시됩니다. 위임된 관리자 또는 관리 계정이 선택한 멤버 계정에 대한 OpsItem을 생성하면 새 OpsItems가 관리자 및 멤버 계정의 OpsCenter에 표시됩니다. OpsItem에서 옵션을 구성하는 방법에 대한 자세한 내용은 [OpsItems 관리](OpsCenter-working-with-OpsItems.md) 섹션을 참조하세요.

# 수동으로 OpsItems 생성(AWS CLI)
<a name="OpsCenter-creating-OpsItems-CLI"></a>

다음 절차에서는 AWS Command Line Interface(AWS CLI)를 사용하여 OpsItem을 생성하는 방법에 대해 설명합니다.

**AWS CLI를 사용하여 OpsItem룰 생성하려면**

1. 아직 하지 않은 경우 AWS Command Line Interface(AWS CLI)을 설치하고 구성합니다.

   자세한 내용은 [최신 버전의 AWS CLI 설치 또는 업데이트](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)를 참조하세요.

1. AWS CLI를 열고 다음 명령을 실행하여 OpsItem을 생성합니다. 각 *example resource placeholder*를 사용자의 정보로 바꿉니다.

   ```
   aws ssm create-ops-item \
       --title "Descriptive_title" \
       --description "Information_about_the_issue" \
       --priority Number_between_1_and_5 \
       --source Source_of_the_issue \
       --operational-data Up_to_20_KB_of_data_or_path_to_JSON_file \
       --notifications Arn="SNS_ARN_in_same_Region" \
       --tags "Key=key_name,Value=a_value"
   ```

   **파일에서 운영 데이터 지정**

   OpsItem을 생성할 때 파일에서 운영 데이터를 지정할 수 있습니다. 파일은 JSON 파일이어야 하며 파일의 콘텐츠는 다음 형식을 사용해야 합니다.

   ```
   {
     "key_name": {
       "Type": "SearchableString",
       "Value": "Up to 20 KB of data"
     }
   }
   ```

   다음 예를 참고하세요

   ```
   aws ssm create-ops-item ^
       --title "EC2 instance disk full" ^
       --description "Log clean up may have failed which caused the disk to be full" ^
       --priority 2 ^
       --source ec2 ^
       --operational-data file:///Users/TestUser1/Desktop/OpsItems/opsData.json ^
       --notifications Arn="arn:aws:sns:us-west-1:12345678:TestUser1" ^
       --tags "Key=EC2,Value=Production"
   ```
**참고**  
다른 로컬 운영 체제의 명령줄에 JSON 형식의 파라미터를 입력하는 방법에 대한 자세한 내용은 *AWS Command Line Interface 사용 설명서*의 [AWS CLI에서 문자열에 따옴표 사용](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-quoting-strings.html)을 참조하세요.

   시스템은 다음과 같은 정보를 반환합니다.

   ```
   {
       "OpsItemId": "oi-1a2b3c4d5e6f"
   }
   ```

1. 다음 명령을 실행하여 생성한 OpsItem에 대한 세부 정보를 봅니다.

   ```
   aws ssm get-ops-item --ops-item-id ID
   ```

   시스템은 다음과 같은 정보를 반환합니다.

   ```
   {
       "OpsItem": {
           "CreatedBy": "arn:aws:iam::12345678:user/TestUser",
           "CreatedTime": 1558386334.995,
           "Description": "Log clean up may have failed which caused the disk to be full",
           "LastModifiedBy": "arn:aws:iam::12345678:user/TestUser",
           "LastModifiedTime": 1558386334.995,
           "Notifications": [
               {
                   "Arn": "arn:aws:sns:us-west-1:12345678:TestUser"
               }
           ],
           "Priority": 2,
           "RelatedOpsItems": [],
           "Status": "Open",
           "OpsItemId": "oi-1a2b3c4d5e6f",
           "Title": "EC2 instance disk full",
           "Source": "ec2",
           "OperationalData": {
               "EC2": {
                   "Value": "12345",
                   "Type": "SearchableString"
               }
           }
       }
   }
   ```

1. 다음 명령을 실행하여 OpsItem을 업데이트합니다. 이 명령은 상태를 `Open`(기본값)에서 `InProgress`로 변경합니다.

   ```
   aws ssm update-ops-item --ops-item-id ID --status InProgress
   ```

   이 명령에는 출력이 없습니다.

1. 다음 명령을 다시 실행하여 상태가 `InProgress`로 변경되었는지 확인합니다.

   ```
   aws ssm get-ops-item --ops-item-id ID
   ```

## OpsItem 생성의 예제
<a name="OpsCenter_creating_OpsItems-CLI_examples"></a>

다음 코드 예제에서는 Linux 관리 포털, macOS 또는 Windows Server를 사용하여 OpsItem을 생성하는 방법을 보여줍니다.

**Linux 관리 포털 또는 macOS**

다음 명령은 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 디스크가 가득 차면 OpsItem을 생성합니다.

```
aws ssm create-ops-item \
    --title "EC2 instance disk full" \
    --description "Log clean up may have failed which caused the disk to be full" \
    --priority 2 \
    --source ec2 \
    --operational-data '{"EC2":{"Value":"12345","Type":"SearchableString"}}' \
    --notifications Arn="arn:aws:sns:us-west-1:12345678:TestUser1" \
    --tags "Key=EC2,Value=ProductionServers"
```

다음 명령은 `OperationalData`의 `/aws/resources` 키를 사용하여 Amazon DynamoDB 관련 리소스가 있는 OpsItem을 생성합니다.

```
aws ssm create-ops-item \
    --title "EC2 instance disk full" \
    --description "Log clean up may have failed which caused the disk to be full" \
    --priority 2 \
    --source ec2 \
    --operational-data '{"/aws/resources":{"Value":"[{\"arn\": \"arn:aws:dynamodb:us-west-2:12345678:table/OpsItems\"}]","Type":"SearchableString"}}' \
    --notifications Arn="arn:aws:sns:us-west-2:12345678:TestUser"
```

다음 명령은 `OperationalData`의 `/aws/automations` 키를 사용하여 `AWS-ASGEnterStandby` 문서를 연결된 Automation 런북으로 지정하는 OpsItem을 생성합니다.

```
aws ssm create-ops-item \
    --title "EC2 instance disk full" \
    --description "Log clean up may have failed which caused the disk to be full" \
    --priority 2 \
    --source ec2 \
    --operational-data '{"/aws/automations":{"Value":"[{\"automationId\": \"AWS-ASGEnterStandby\", \"automationType\": \"AWS::SSM::Automation\"}]","Type":"SearchableString"}}' \
    --notifications Arn="arn:aws:sns:us-west-2:12345678:TestUser"
```

**Windows**

다음 명령은 Amazon Relational Database Service(Amazon RDS) 인스턴스가 응답하지 않을 때 OpsItem을 생성합니다.

```
aws ssm create-ops-item ^
    --title "RDS instance not responding" ^
    --description "RDS instance not responding to ping" ^
    --priority 1 ^
    --source RDS ^
    --operational-data={\"RDS\":{\"Value\":\"abcd\",\"Type\":\"SearchableString\"}} ^
    --notifications Arn="arn:aws:sns:us-west-1:12345678:TestUser1" ^
    --tags "Key=RDS,Value=ProductionServers"
```

다음 명령은 `OperationalData`의 `/aws/resources` 키를 사용하여 Amazon EC2 인스턴스 관련 리소스가 있는 OpsItem을 생성합니다.

```
aws ssm create-ops-item ^
    --title "EC2 instance disk full" ^
    --description "Log clean up may have failed which caused the disk to be full" ^
    --priority 2 ^
    --source ec2 ^
    --operational-data={\"/aws/resources\":{\"Value\":\"[{\\"""arn\\""":\\"""arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0\\"""}]\",\"Type\":\"SearchableString\"}}
```

다음 명령은 `OperationalData`의 `/aws/automations` 키를 사용하여 `AWS-RestartEC2Instance` 런북을 연결된 Automation 런북으로 지정하는 OpsItem을 생성합니다.

```
aws ssm create-ops-item ^
    --title "EC2 instance disk full" ^
    --description "Log clean up may have failed which caused the disk to be full" ^
    --priority 2 ^
    --source ec2 ^
    --operational-data={\"/aws/automations\":{\"Value\":\"[{\\"""automationId\\""":\\"""AWS-RestartEC2Instance\\”"",\\"""automationType\\""":\\"""AWS::SSM::Automation\\"""}]\",\"Type\":\"SearchableString\"}}
```

# 수동으로 OpsItems 생성(PowerShell)
<a name="OpsCenter-creating-OpsItems-Powershell"></a>

다음 절차에서는 AWS Tools for Windows PowerShell을 사용하여 OpsItem을 생성하는 방법을 설명합니다.

**AWS Tools for Windows PowerShell을 사용하여 OpsItem 생성**

1. AWS Tools for Windows PowerShell을 열고 다음 명령을 실행하여 자격 증명을 지정합니다.

   ```
   Set-AWSCredentials –AccessKey key-name –SecretKey key-name
   ```

1. 다음 명령을 실행하여 PowerShell 세션의 AWS 리전을 설정합니다.

   ```
   Set-DefaultAWSRegion -Region Region
   ```

1. 다음 명령을 실행해 새 OpsItem을 생성합니다. 각 *example resource placeholder*를 사용자의 정보로 바꿉니다. 이 명령은 이 OpsItem을 해결하기 위한 Systems Manager 자동화 실행서를 지정합니다.

   ```
   $opsItem = New-Object Amazon.SimpleSystemsManagement.Model.OpsItemDataValue
   $opsItem.Type = [Amazon.SimpleSystemsManagement.OpsItemDataType]::SearchableString 
   $opsItem.Value = '[{\"automationId\":\"runbook_name\",\"automationType\":\"AWS::SSM::Automation\"}]'
   $newHash = @{" /aws/automations"=[Amazon.SimpleSystemsManagement.Model.OpsItemDataValue]$opsItem}
   
   New-SSMOpsItem `
       -Title "title" `
       -Description "description" `
       -Priority priority_number `
       -Source AWS_service `
       -OperationalData $newHash
   ```

   성공할 경우 명령은 새로운 OpsItem의 ID를 출력합니다.

다음 예제에서는 손상된 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 Amazon 리소스 이름(ARN)을 지정합니다.

```
$opsItem = New-Object Amazon.SimpleSystemsManagement.Model.OpsItemDataValue
$opsItem.Type = [Amazon.SimpleSystemsManagement.OpsItemDataType]::SearchableString 
$opsItem.Value = '[{\"arn\":\"arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0\"}]'
$newHash = @{" /aws/resources"=[Amazon.SimpleSystemsManagement.Model.OpsItemDataValue]$opsItem}
New-SSMOpsItem -Title "EC2 instance disk full still" -Description "Log clean up may have failed which caused the disk to be full" -Priority 2 -Source ec2 -OperationalData $newHash
```