システムが OpsItem を作成するか、既存の OpsItem を更新したときに、Amazon Simple Notification Service (Amazon SNS) トピックで通知を受け取るように OpsCenter を設定できます。
OpsItems の通知を受信するには、次のステップを実行します。
-
ステップ 3: AWS KMS のアクセスポリシーを更新する
注記
ステップ 2 で AWS Key Management Service (AWS KMS) サーバー側の暗号化をオンにした場合は、ステップ 3 を完了する必要があります。それ以外の場合は、ステップ 3 をスキップできます。
ステップ 1: Amazon SNS トピックを作成してサブスクライブする
通知を受け取るには、Amazon SNS トピックを作成してサブスクライブする必要があります。詳細については、Amazon Simple Notification Service デベロッパーガイドの「Amazon SNS トピックを作成する」および「Amazon SNS トピックへサブスクライブする」を参照してください。
注記
OpsCenter を複数の AWS リージョン またはアカウントで使用している場合は、OpsItem 通知を受け取る各リージョンまたはアカウントで Amazon SNS トピックを作成してサブスクライブする必要があります。
ステップ 2: Amazon SNS アクセスポリシーを更新する
Amazon SNS トピックを OpsItems に関連付ける必要があります。以下の手順を使用して Amazon SNS アクセスポリシーをセットアップし、Systems Manager がステップ 1 で作成した Amazon SNS トピックに OpsItems 通知を発行できるようにします。
AWS Management Console にサインインして Amazon SNS コンソール (https://console.aws.amazon.com/sns/v3/home
) を開きます。 -
ナビゲーションペインで、[トピック] を選択します。
-
ステップ 1 で作成したトピックを選択し、[編集] をクリックします。
-
[アクセスポリシー] を展開します。
-
既存のポリシーに次の
Sid
ブロックを追加します。各リソースプレースホルダーの例
をユーザー自身の情報に置き換えます。{ "Sid": "Allow OpsCenter to publish to this topic", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:
region
:account ID
:topic name
", // Account ID of the SNS topic owner "Condition": { "StringEquals": { "AWS:SourceAccount": "account ID
" // Account ID of the OpsItem owner } } }注記
混乱した代理シナリオから保護する
aws:SourceAccount
グローバル条件キー。この条件キーを使用するには、値を OpsItem 所有者のアカウント ID に設定します。詳細については、「IAM ユーザーガイド」の「混乱した代理問題」を参照してください。 -
[Save changes] (変更の保存) をクリックします。
OpsItems が作成または更新されると、システムは Amazon SNS トピックに通知を送信するようになります。
重要
ステップ 2 で AWS Key Management Service (AWS KMS) サーバー側暗号化キーを使用して Amazon SNS トピックを設定した場合は、ステップ 3 を完了します。それ以外の場合は、ステップ 3 をスキップできます。
ステップ 3: AWS KMS のアクセスポリシーを更新する
Amazon SNS トピックの AWS KMS サーバー側の暗号化をオンにした場合、トピックを設定したときに選択した AWS KMS key のアクセスポリシーも更新する必要があります。以下の手順を使用してアクセスポリシーを更新し、Systems Manager がステップ 1 で作成した Amazon SNS トピックに OpsItem 通知を発行できるようにします。
注記
OpsCenter は、AWS マネージドキー を使用して設定された Amazon SNS トピックへの OpsItems の発行をサポートしていません。
-
AWS KMS コンソール (https://console.aws.amazon.com/kms
) を開きます。 -
AWS リージョン を変更するには、ページの右上隅にあるリージョンセレクターを使用します。
-
ナビゲーションペインで、[カスタマーマネージドキー] を選択します。
-
トピックの作成時に選択した KMS キーの ID を選択します。
-
[Key Policy] (キーポリシー) セクションで、[Switch to policy view] (ポリシービューへの切り替え) を選択します。
-
[Edit] を選択します。
-
既存のポリシーに次の
Sid
ブロックを追加します。各リソースプレースホルダーの例
をユーザー自身の情報に置き換えます。{ "Sid": "Allow OpsItems to decrypt the key", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": ["kms:Decrypt", "kms:GenerateDataKey*"], "Resource": "arn:aws:kms:
region
:account ID
:key/key ID
" }次の例では、新しいブロックが行 14 に入力されています。
-
[Save changes] (変更の保存) をクリックします。
ステップ 4: デフォルトの OpsItems ルールを有効にして新しい OpsItems の通知を送信する
Amazon EventBridge のデフォルトの OpsItems ルールには、Amazon SNS 通知の Amazon リソースネーム (ARN) が設定されていません。次の手順に従って EventBridge でルールを編集し、notifications
ブロックを入力します。
デフォルトの OpsItem ルールに通知ブロックを追加するには
AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/
) を開きます。 -
ナビゲーションペインで、[OpsCenter] を選択します。
-
[OpsItems] タブを選択し、[Configure sources (ソースの設定)] を選択します。
-
次の例に示すように、
notifications
ブロックを使用して設定するソースルールの名前を選択します。ルールは Amazon EventBridge で開きます。
-
ルールの詳細ページの [Targets] (ターゲット) タブで [Edit] (編集) を選択します。
-
[Additional settings] (追加設定) セクションの [Configure target input] (ターゲット入力の設定) を選択します。
-
[テンプレート] ボックスに、次の形式で
notifications
ブロックを追加します。"notifications":[{"arn":"arn:aws:sns:
region
:account ID
:topic name
"}],以下に例を示します。
"notifications":[{"arn":"arn:aws:sns:us-west-2:1234567890:MySNSTopic"}],
米国西部 (オレゴン) (us-west-2) リージョンについての次の例に示すように、
resources
ブロックの前に通知ブロックを入力します。{ "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", "notifications": [{ "arn": "arn:aws:sns:us-west-2:1234567890:MySNSTopic" }], "resources": <resources>, "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> } } }
-
[確認] を選択します。
-
[Next] を選択します。
-
[Next] を選択します。
-
[ルールの更新] を選択します。
次回システムがデフォルトルールの OpsItem を作成するときに、Amazon SNS トピックに通知を発行します。