

• 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 を修正したら **[解決済み]** に変更できます。OpsItems を作成するように AWS のサービス でアラームとルールを設定する方法と、OpsItems を手動で作成する方法の詳細については、次のトピックを参照してください。

**Topics**
+ [EventBridge ルールを設定して OpsItems を作成する](OpsCenter-automatically-create-OpsItems-2.md)
+ [OpsItems を作成するように CloudWatch を設定する](OpsCenter-create-OpsItems-from-CloudWatch-Alarms.md)
+ [OpsItems を手動で作成する](OpsCenter-manually-create-OpsItems.md)

# EventBridge ルールを設定して OpsItems を作成する
<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. Amazon EventBridge コンソール ([https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)) を開きます。

1. ナビゲーションペインで **[ルール]** を選択します。

1. [**ルール**] ページの [**イベントバス**] で [**default**] (デフォルト) を選択します。

1. **[ルール]** で、ルールの名前の横にあるチェックボックスをオンにしてルールを選択します。

1. ルールの名前を選択して、その詳細ページを開きます。**[ルールの詳細]** セクションで、**[ステータス]** が **[有効]** に設定されていることを確認します。
**注記**  
必要に応じて、ページの右上隅にある **[編集]** を使用してステータスを更新できます。

1. [**Targets**] タブを選択します。

1. [**Targets**] タブで、[**Edit**] を選択します。

1. [**ターゲットタイプ**] で [**AWS のサービス**] を選択します。

1. [**Select a target**] (ターゲットを選択) では、[**Systems Manager OpsItem**] を選択します。

1. 多くのターゲットタイプで、EventBridge はターゲットにイベントを送信するためのアクセス許可が必要です。これらの場合、EventBridge は、イベントの実行に必要な AWS Identity and Access Management (IAM) ロールを作成できます。
   + 自動的に IAM ロールを作成するには、[**Create a new role for this specific resource** (この特定のリソースに対して新しいロールを作成する)] を選択します。
   + OpsCenter で OpsItems を作成する EventBridge アクセス許可を付与するために作成した IAM ロールを使用するには、[**既存のロールの使用**] を選択します。

1. **[追加設定]** セクションの **[ターゲット入力の設定]** で **[入力トランスフォーマー]** を選択します。

   **[入力トランスフォーマー]** オプションを使用すると、重複排除文字列と、タイトルや重要度など、OpsItems のその他の重要な情報を指定できます。

1. **入力トランスフォーマーの設定** を選択します。

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 ユーザーガイド* の「[ターゲット入力を変換する](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 を作成できます。

OpsItems を作成するアラームを設定すると、CloudWatch は AWS Identity and Access Management (IAM) でサービスにリンクされた新しいロールを自動的に作成します。新しいロールの名前は `AWSServiceRoleForCloudWatchAlarms_ActionSSM` です。CloudWatch サービスにリンクされたロールの詳細については、「Amazon CloudWatch ユーザーガイド」の「[CloudWatch のサービスにリンクされたロールの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-service-linked-roles.html)」を参照してください。

CloudWatch アラームが OpsItem を生成すると、OpsItem に **[CloudWatch アラーム - '*alarm\$1name*' はアラーム状態です]** が表示されます。

特定の OpsItem の詳細を表示するには、[OpsItem] を選択し、**[関連リソースの詳細]** タブを選択します。OpsItems を手動で編集して、重要度やカテゴリなどの詳細を変更できます。ただし、アラームの重要度やカテゴリを編集する場合、そのアラームから既に作成されている OpsItems の重要度やカテゴリは Systems Manager で更新することができません。アラームによって OpsItem が作成され、重複排除文字列を指定した場合、CloudWatch でアラームを編集しても、アラームは追加の OpsItems を作成しません。OpsItem が OpsCenter で解決された場合、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>

アラームを手動で作成するか、既存のアラームを更新して、OpsItems を Amazon CloudWatch から作成できます。

**CloudWatch アラームを作成して、アラームのターゲットとして Systems Manager を設定するには**

1. 「Amazon CloudWatch ユーザーガイド」の「[静的しきい値に基づいて CloudWatch アラームを作成する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html)」で指定されているように、ステップ 1～9 を完了します。

1. **[Systems Manager]** セクションで、**[Systems Manager OpsCenter アクションの追加]** をクリックします。

1. **[OpsItems]** をクリックします。

1. **[重要度]** は、1～4 の中から指定できます。

1. (オプション) **[カテゴリ]** に、OpsItem のカテゴリを選択します。

1. 「Amazon CloudWatch ユーザーガイド」「[静的しきい値に基づいて CloudWatch アラームを作成する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html)」で指定されているように、ステップ 11～13 を完了します。

1. [**次**] を選択し、ウィザードを完了します。

**既存のアラームを編集し、アラームのターゲットとして Systems Manager を設定するには**

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. ナビゲーションペインで、[Alarms] を選択します。****

1. アラームを選択してから、[**アクション**]、[**編集**] の順に選択します。

1. (オプション) [**メトリクス**] セクションと [**条件**] セクションの設定を変更し、[**次**] を選択します。

1. [**Systems Manager**] セクションで、[**Add Systems Manager OpsCenter action** (Systems Manager OpsCenter アクションの追加)]を選択します。

1. [**重大度**] で、数値を選択します。
**注記**  
重大度は、ユーザー定義の値です。各重要度値の意味、各重要度に関連するサービスレベルアグリーメントは、お客様または組織が決定します。

1. (オプション) [**カテゴリ**] で、オプションを選択します。

1. [**次**] を選択し、ウィザードを完了します。

# 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 (CloudFormation) を作成または更新するように CloudWatch アラームを設定する](#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 により、Systems Manager OpsCenter はアラームから作成された OpsItems のターゲットとして識別されます。アラームから作成された OpsItems に重大度やカテゴリなどの特定の情報が含まれるように、ARN をカスタマイズできます。各 ARN には、次の表に示す情報が含まれています。


****  

| Parameter | 詳細 | 
| --- | --- | 
|  `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. 次のコマンドを実行してアラームを更新します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。

   ```
   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
   ```

------
#### [ Server  ]

   ```
   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 (CloudFormation) を作成または更新するように CloudWatch アラームを設定する
<a name="OpsCenter-create-OpsItems-from-CloudWatch-Alarms-programmatically-configure-CloudFormation"></a>

このセクションでは、OpsItems を自動的に作成または更新するように CloudWatch アラームを設定する際に使用できる AWS CloudFormation テンプレートを紹介します。各テンプレートでは、`AlarmActions` パラメータの ARN を指定する必要があります。ARN を作成する方法については、「[始める前に](#OpsCenter-create-OpsItems-from-CloudWatch-Alarms-before-you-begin)」を参照してください。

**メトリクスアラーム** – CloudWatch メトリクスアラームを作成または更新するには、以下の CloudFormation テンプレートを使用します。このテンプレートで指定されたアラームは、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 を作成することができます。詳細については、「[(オプション) OpsCenter の手動設定により、複数のアカウント間で OpsItems を一元管理する](OpsCenter-getting-started-multiple-accounts.md)」を参照してください。

OpsItems は、AWS Systems Manager コンソール、AWS Command Line Interface (AWS CLI)、または AWS Tools for Windows PowerShell を使用して作成できます。

**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 を作成するオプションが提供されます。詳細については、「[(オプション) OpsCenter の手動設定により、複数のアカウント間で OpsItems を一元管理する](OpsCenter-getting-started-multiple-accounts.md)」を参照してください。

**AWS Systems Manager コンソールを使用して OpsItem を作成するには**

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

1. ナビゲーションペインで、**[OpsCenter]** を選択します。

1. **[作成]OpsItem** を選択します。このボタンが表示されない場合は、[**OpsItems**] タブを選択してから [**OpsItem の作成**] を選択します。

1.  (オプション) **[その他のアカウント]** を選択し、OpsItem を作成するアカウントを選択します。
**注記**  
このステップは、メンバーアカウントの OpsItems を作成する場合に必要です。

1. [**タイトル**] に、OpsItem の目的を示すわかりやすい名前を入力します。

1. [**Source**] (ソース) に、影響を受ける AWS リソースのタイプなど、ソースの情報を指定して、ユーザーが OpsItem のオリジンをわかるようにします。
**注記**  
OpsItem の作成後に [**ソース**] フィールドを編集することはできません。

1. (オプション) [**優先度**] で、優先度レベルを選択します。

1. (オプション) [**重大度**] で、重大度レベルを選択します。

1. (オプション) [**カテゴリ**] で、カテゴリを選択します。

1. [**説明**] に、問題を再現するための手順など、この OpsItem に関する情報 (該当する場合) を入力します。
**注記**  
コンソールは OpsItem 説明フィールドのほとんどの Markdown フォーマットをサポートしています。詳細については、「AWS マネジメントコンソール 入門ガイド」の「[コンソールでの Markdown の使用](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 を作成します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。

   ```
   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` キーを使用して、関連付けられた Automation ランブックとして `AWS-ASGEnterStandby` ドキュメントを指定する 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` キーを使用して、関連付けられた Automation ランブックとして `AWS-RestartEC2Instance` ランブックを指定する 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 を作成します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。このコマンドは、OpsItem を修復するために Systems Manager Automation ランブックを指定します。

   ```
   $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
```