モニタリングAWS HealthアマゾンでのイベントEventBridge - AWS Health

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

モニタリングAWS HealthアマゾンでのイベントEventBridge

アマゾンを使えますEventBridge検出して対応するAWS Healthイベント。次に、作成したルールに基づいて、EventBridgeイベントがルールで指定した値と一致したときに、1 つ以上のターゲットアクションを呼び出します。イベントのタイプに応じて、イベント情報の取得、追加イベントの開始、通知の送信、是正措置の実施、またはその他のアクションを実行することができます。例えば、更新が予定されている AWS リソース (Amazon Elastic Compute Cloud (Amazon EC2) インスタンスなど) が AWS アカウント内にある場合に、AWS Health を使用して E メール通知を受け取ることができます。

メモ
  • AWS Health は、ベストエフォートベースでイベントを配信します。イベントが常に EventBridge に配信されるとは限りません。

  • 任意EventBridge作成したルールは、自分宛の通知のみを受信できますAWS アカウント。AWS Organizations 内にあるその他アカウントの組織イベントは受信できません。詳細については、「組織ビューでのアカウント全体の AWS Health イベントの集計」を参照してください。

複数のターゲットタイプから選択できますEventBridgeあなたの一部としてAWS Health以下を含むワークフロー

  • AWS Lambda 関数

  • Amazon Kinesis Data Streams

  • Amazon Simple Queue Service (Amazon SQS) キュー

  • 組み込みターゲット (など)CloudWatchアラームアクション)

  • Amazon Simple Notification Service (Amazon SNS) のトピック

例えば、AWS Health イベントの発生時に、Lambda 関数を使用して通知を Slack チャネルに渡すことができます。または、Lambda を使用してEventBridge次のような場合に Amazon SNS でカスタムテキストまたは SMS 通知を送信するにはAWS Healthイベントが発生します。

それに応じて作成できる自動化やカスタマイズされたアラートのサンプルについてAWS Healthイベント、を参照してくださいAWS Health[ツール]にGitHub。

AWS Health の AWS リージョンについて

作成する必要がありますEventBridge受け取りたい各リージョンのルールAWS Healthイベント。ルールを作成しなければ、イベントは受信されません。例えば、米国西部 (オレゴン) リージョンからイベントを受信するには、このリージョンのルールを作成する必要があります。

バックアップリージョンに追加のルールを設定すると、プライマリルールが進行中のイベントの影響を受けた場合に備えて、ワークフローのレジリエンスがさらに強化されます。標準 AWS パーティションのすべてのリージョンについて、米国西部 (オレゴン) にバックアップとしてルールを設定して、プライマリリージョンが進行中の問題の影響を受けても引き続きイベントを受信できるようにすることができます。米国西部 (オレゴン) リージョンのバックアップリージョンは、米国東部 (バージニア北部) リージョンです。

たとえば、ヨーロッパ (フランクフルト) リージョンのイベントを監視していて、そのリージョンが一時的に利用できない場合、AWS Healthそのイベントを米国西部 (オレゴン) リージョンに再ルーティングします。次に、バックアップEventBridgeルールは、指定したターゲットにイベントを送信します。バックアップルールを作成するには、以下の手順に従ってください。の作成EventBridgeのルールAWS Health米国西部(オレゴン)リージョンを使用してください。

AWS Health イベントにはリージョン固有ではないものもあります。リージョンに固有ではないイベントはグローバルイベントと呼ばれます。これには、AWS Identity and Access Management (IAM) について送信されるイベントが含まれます。グローバルイベントを受信するには、米国東部 (バージニア北部) リージョンのルールを作成する必要があります。

でグローバルイベントを受信するにはAWS GovCloud (US)、でルールを作成する必要がありますAWS GovCloud(米国西部) リージョン。

AWS Health の公開イベントについて

を作成するとEventBridgeからのイベントを監視するルールAWS Health、ルールはアカウント固有のイベントと公開イベントの両方を配信します。

  • アカウント固有Amazon EC2 インスタンスに必要な更新や、予定されているその他の変更イベントについて通知するイベントなど、イベントはアカウントとリソースに影響します。

  • パブリックイベントがに表示されますAWS Healthダッシュボード — サービスヘルス。公開イベントは以下に限定されませんAWS アカウントまた、サービスの地域ごとの可用性に関する公開情報を提供します。

重要

両方のイベントタイプを受信するには、ルールで以下を使用する必要があります"source": [ "aws.health"]価値。ワイルドカード (例:"source": [ "aws.health*"]どのイベントも監視するパターンには合いません。

公開イベントを監視している場合AWS リージョン、バックアップルールを作成することをお勧めします。ある地域でサービスが停止した場合、AWS Health代わりに、公開イベント情報をバックアップルールに送信します。

イベントが公開かアカウント限定かは、以下で確認できます。EventBridge、を使用してeventScopeCodeパラメーター。イベントにはPUBLICACCOUNT_SPECIFICまたはNONE価値。このパラメータでルールをフィルタリングすることもできます。

例:Amazon Elastic コンピュートクラウドの公開イベント

次のイベントは、米国東部 (バージニア北部) リージョンでの Amazon EC2 の運用上の問題を示しています。

{ "version": "0", "id": "fd9d4512-1eb0-50f6-0491-d016ae56aef0", "detail-type": "AWS Health Event", "source": "aws.health", "account": "123456789012", "time": "2023-02-15T10:07:10Z", "region": "us-east-1", "resources": [], "detail": { "eventArn": "arn:aws:health:us-east-1::event/EC2/AWS_EC2_OPERATIONAL_ISSUE", "service": "EC2", "eventTypeCode": "AWS_EC2_OPERATIONAL_ISSUE", "eventTypeCategory": "issue", "eventScopeCode": "PUBLIC", "communicationId": "01b0993207d81a09dcd552ebd1e633e36cf1f09a", "startTime": "Wed, 15 Feb 2023 22:07:07 GMT", "lastUpdatedTime": "Wed, 15 Feb 2023 22:07:07 GMT", "statusCode": "open", "eventRegion": "us-east-1", "eventDescription": [ { "latestDescription": "We are investigating increased API Error rates and Latencies for Amazon Elastic Compute Cloud in the US-EAST-1 Region.", "language": "en_US" } ] } }

を作成するとEventBridgeからのイベントを監視するルールAWS Health、ルールはアカウント固有のイベントと公開イベントの両方を配信します。アカウント固有Amazon EC2 インスタンスに必要な更新や、予定されているその他の変更イベントについて通知するイベントなど、イベントはアカウントとリソースに影響します。

パブリックイベントがに表示されますAWS Healthダッシュボード — サービスヘルス。公開イベントは以下に限定されませんAWS アカウントまた、サービスの地域ごとの可用性に関する公開情報を提供してください。

重要

両方のイベントタイプを受信するには、ルールで以下を使用する必要があります"source": [ "aws.health"]価値。ワイルドカード (例:"source": [ "aws.health*"]どのイベントも監視しません。

イベントが公開かアカウント限定かを確認するには、AWS HealthコンソールとDescribeEventDetailsオペレーション。どちらのオプションを使用しても、イベントに関する情報を返し、それが公開イベントなのか、特定のイベントなのかを特定できます。AWS アカウント。

次のオプションを使用して、イベントがパブリックかアカウント固有かを識別できます。

  • AWS Health Dashboard で、イベントの [Affected resources] (影響を受けるリソース) タブを選択します。リソースがあるイベントは、アカウントに固有です。リソースのないイベントはパブリックであり、アカウント固有のものではありません。詳細については、「の開始方法AWS Healthダッシュボード — アカウントの状態」を参照してください。

  • AWS Health API を使用して、eventScopeCode パラメータを返します。イベントには PUBLICACCOUNT_SPECIFIC、または NONE の値を指定できます。詳細については、を参照してください。DescribeEventDetailsでの操作AWS HealthAPI リファレンス

AWS Health Service Health Dashboard 通知ツールを使用して、パブリックイベントに関する通知を受けることもできます。詳細については、を参照してください。aws-health-toolsにGitHubウェブサイト。

のイベントプロセッサAWS Health

使用する場合AWSアカウントのインシデント検出と対応を行い、X アクションを完了すると、AWSServiceRoleForHealth_EventProcessorサービスにリンクされたロールが自動的に割り当てられます。

この役割は、event-processor.health.amazonaws.comサービスプリンシパルが役割を引き受けます。この役割に付随するのはAWSHealth_EventProcessorServiceRolePolicy AWS管理ポリシー。このポリシーには、他のユーザーへの呼び出しなど、そのロールが実行できる権限が一覧表示されます。AWS のサービスあなたのために。

次に、このロールによって Amazon が作成されます。EventBridgeアカウントのマネージドルール。ルールには名前が付いていますAWSHealthEventProcessor-DO-NOT-DELETE。このルールはアカウントに必要なインフラストラクチャなので、EventBridgeアカウントからアラーム状態変更情報を配信できますAWS Health。

詳細については、以下のトピックを参照してください。

の作成EventBridgeのルールAWS Health

作成できますEventBridge通知を受けるためのルールAWS Healthアカウント内のイベント。AWS Health に対するイベントルールを作成する前に、以下を完了しておきます。

AWS Health 用の EventBridge ルールを作成するには
  1. アマゾンを開くEventBridgeコンソールハットhttps://console.aws.amazon.com/events/

  2. AWS リージョン を変更するには、ページの右上隅にあるリージョンセレクターを使用します。AWS Health イベントを追跡するリージョンを選択します。

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

  4. [Create rule] (ルールを作成) を選択します。

  5. [Define rule detail] (ルールの詳細を定義) ページで、ルールの名前と説明を入力します。

  6. [Event bus] (イベントバス) と [Rule type] (ルールタイプ) のデフォルト値を維持して、[Next] (次へ) を選択します。

  7. 上にイベントパターンを作成ページ、用イベントソース、選択AWSイベントとEventBridgeパートナーイベント

  8. アンダーイベントパターン、にとってイベントソース、選択AWS のサービス

  9. アンダーイベントパターン、にとってAWS のサービス、選択健康

  10. [Event Type] (イベントタイプ) で、以下のいずれかのオプションを選択します。

    • [Specific Health Abuse Events] (特定の不正行為に関する Health イベント) – イベントタイプ名に Abuse という単語が含まれている AWS Health イベント用のルールを作成します。

    • [Specific Health events] (特定の Health イベント) – 特定の AWS のサービス (Amazon EC2 など) のイベント用のルールを作成します。

  11. [Any service] (任意のサービス) または [Specific service(s)] (特定のサービス) を選択できます。特定のサービスを選択する場合は、以下のオプションの 1 つを選択します。

    • すべてのイベントタイプのカテゴリに適用されるルールを作成するには、[Any event type category] (任意のイベントタイプのカテゴリ) を選択します。

    • [Specific event type category(s)] (特定のイベントタイプのカテゴリ) を選択してから、[issue][accountNotification]、または [scheduledChange] などの値をリストから選択します。

    ヒント
    • 特定のサービスのすべての AWS Health イベントをモニタリングする場合は、[Any event type category] (任意のイベントタイプのカテゴリ) と [Any resource] (任意のリソース) を選択することをお勧めします。これにより、指定したサービスに対して、新しいイベントタイプのコードを含む、すべての AWS Health イベントがルールで確実にモニタリングされます。ルールの例については、すべての Amazon EC2 イベントを参照してください。

    • 複数のサービスまたはイベントタイプのカテゴリをモニタリングするルールを作成できます。そのためには、ルールのイベントパターンを手動で更新する必要があります。詳細については、「複数のサービスおよびカテゴリに対するルールの作成」を参照してください。

  12. 特定のサービスおよびイベントタイプのカテゴリを選択した場合は、イベントタイプのコードに対して以下のいずれかのオプションを選択します。

    • すべてのイベントタイプのコードに適用されるルールを作成するには、[Any event type code] (任意のイベントタイプのコード) を選択します。

    • [Specific event type code(s)] (特定のイベントタイプのコード) を選択し、リストから 1 つ以上の値を選択します。これにより、特定のイベントタイプのコードにのみ適用されるルールが作成されます。例えば、AWS_EC2_INSTANCE_STOP_SCHEDULEDAWS_EC2_INSTANCE_RETIREMENT_SCHEDULED を選択すると、これらのイベントがアカウントで発生した場合に、それらのイベントのみにルールが適用されます。

  13. 影響を受けるリソースに対して、以下のいずれかのオプションを選択します。

    • すべてのリソースに適用されるルールを作成するには、[Any resource] (任意のリソース) を選択します。

    • [Specific resource(s)] (特定のリソース) を選択し、1 つ以上のリソースの ID を入力します。例えば、i-EXAMPLEa1b2c3de4 などの Amazon EC2 インスタンス ID を指定して、このリソースのみに影響を及ぼすイベントを監視できます。

  14. ルールのセットアップを見直して、イベントモニタリング要件を満たしていることを確認します。

  15. [次へ] をクリックします。

  16. [Select target(s)] (ターゲットを選択) ページで、このルール用に作成したターゲットタイプを選択してから、そのタイプに必要な追加のオプションを設定します。例えば、イベントを Amazon SQS キューまたは Amazon SNS トピックに送信できます。

  17. [次へ] をクリックします。

  18. (オプション) [Configure tags] (タグの設定) ページで、いずれかのタグを追加し、[Next] (次へ) を選択します。

    • 注:タグは現在 aws.health ソースから送信されていませんEventBridge。

  19. [Review and create] (確認および作成) ページで、ルールの設定を確認し、イベントモニタリング要件を満たしていることを確認してください。

  20. [ルールの作成] を選択します。

例 : すべての Amazon EC2 イベントに対するルール

次の例では、次のようなルールを作成します。EventBridgeイベントタイプカテゴリ、イベントコード、リソースを含むすべての Amazon EC2 イベントを監視します。


          作成方法のスクリーンショットEventBridgeルールはすべての Amazon EC2 イベントのみを対象としています。
例 : 特定の Amazon EC2 イベントに対するルール

次の例では、次のようなルールを作成します。EventBridge以下を監視します。

  • Amazon EC2 サービス

  • scheduledChange イベントタイプのカテゴリ

  • AWS_EC2_INSTANCE_TERMINATION_SCHEDULED および AWS_EC2_INSTANCE_RETIREMENT_SCHEDULED のイベントタイプのコード

  • i-EXAMPLEa1b2c3de4 という ID を持つインスタンス


          作成EventBridge特定の Amazon EC2 イベントのみを対象とするルール。

複数のサービスおよびカテゴリに対するルールの作成

前の手順の例は、単一のサービスおよびイベントタイプのカテゴリに対してルールを作成する方法を示しています。複数のサービスやイベントタイプのカテゴリに対してルールを作成することもできます。つまり、モニタリングするサービスやカテゴリごとに個別のルールを作成する必要はありません。そのためには、イベントパターンを編集し、変更を手動で入力する必要があります。

次のオプションの 1 つを使用できます。

既存のルールにサービスとカテゴリを追加するには
  1. にEventBridgeコンソール、ルールページで、ルール名を選択します。

  2. 右上隅の[Edit] (編集) を選択します。

  3. [Next] (次へ) を選択します。

  4. [Event pattern] (イベントパターン) で [Edit pattern] (パターンを編集) をクリックしてから、変更内容をテキストフィールドに入力します。

  5. [Review and update] (確認と更新) ページが表示されるまで [Next] (次へ) を選択します。

  6. [Update rule] (ルールを更新) を選択して変更を保存します。

新しいルールにサービスとカテゴリを追加するには
  1. の作成EventBridgeのルールAWS Health」の手順をステップ 9 まで実行します。

  2. リストから単一のサービスまたはカテゴリを選択する代わりに、[Event pattern] (イベントパターン) で [Edit pattern] (パターンを編集) を選択します。

  3. テキストフィールドに変更を入力します。独自のイベントパターンを作成するためのモデルとして、以下のサンプルパターンを参照してください。

  4. イベントパターンを確認してから、「の作成EventBridgeのルールAWS Health」の残りの手順を実行してルールを作成します。

APIまたは AWS Command Line Interface (AWS CLI) の使用

新規または既存のルールについては、PutRuleAPI オペレーションまたはaws events put-ruleイベントパターンを更新するコマンド。AWS CLI コマンドの例については、AWS CLI コマンドリファレンスput-rule を参照してください。

例: 複数のサービスとイベントタイプのカテゴリ

以下のイベントパターンは、Amazon EC2、Amazon EC2 Auto Scaling、および Amazon VPC の 3 つの issue のサービスについて、accountNotificationscheduledChange、および AWS のイベントタイプカテゴリのイベントを監視するルールを作成します。

{ "detail": { "eventTypeCategory": [ "issue", "accountNotification", "scheduledChange" ], "service": [ "AUTOSCALING", "VPC", "EC2" ] }, "detail-type": [ "AWS Health Event" ], "source": [ "aws.health" ] }

AWS Health[イベント]Amazon EventBridgeスキーマ

のスキーマは次のとおりです。AWS Healthイベント。

AWS Healthイベントスキーマ

{ "version": "0", "id": "7bf73129-1428-4cd3-a780-95db273d1602", "detail-type": "AWS Health Event", "source": "aws.health", "account": "123456789012", "time": "2016-06-05T06:27:57Z", "region": "region", "resources": [], "detail": { "eventArn": "arn:aws:health:region::event/id", "service": "service", "eventTypeCode": "AWS_service_code", "eventScopeCode": "scopecode", "communicationId": "communicationid", "eventTypeCategory": "category", "startTime": "Wed, 05 Apr 2023 05:01:10 GMT", "endTime": "Wed, 05 Apr 2023 05:30:57 GMT", "lastUpdatedTime": "Mon, 27 Mar 2023 09:01:22 GMT", "statusCode": "open", "eventRegion": "af-south-1", "eventDescription": [{ "language": "lang-code", "latestDescription": "description" }], "eventMetadata": { "keystring1":"valuestring1", "keystring2":"valuestring2", ... } } }

eventTypeCategory

イベントのカテゴリコード 指定できる値は、issueaccountNotification、および scheduledChange です。

eventTypeCode

イベントタイプの一意の識別子。例には、AWS_EC2_INSTANCE_NETWORK_MAINTENANCE_SCHEDULEDAWS_EC2_INSTANCE_REBOOT_MAINTENANCE_SCHEDULED が含まれます。MAINTENANCE_SCHEDULED を含むイベントは、通常、startTime の約 2 週間前にプッシュアウトされます。

eventScopeCode

  • アカウント固有Amazon EC2 インスタンスに必要な更新や、予定されているその他の変更イベントについて通知するイベントなど、アカウントやリソースに影響するイベント

  • パブリックイベントがに表示されますAWS Healthダッシュボード — サービスヘルスビュー

  • 公開イベントは以下に限定されませんAWSアカウントを作成し、サービスの地域別可用性に関する公開情報を提供します。

EventArn

このタイプのイベントの固有のヘルスサービス識別子

イベントメタデータ

イベントの性質に応じて、オプションで提供できる追加のメタデータ。特定のメタデータの使用に注意してくださいEventType時間の経過とともに変化する可能性がありますので、お客様はその用途に注意する必要がありますEventBridgeルールまたはプログラム論理。

コミュニケーション ID

ヘルスイベントの特定の更新に対応する固有のヘルスサービス識別子。たとえば、ヘルスイベントに新しい文言を追加すると、CommunicationIDはすべてのイベントで一貫したものになります。AWSアップデートを受け取るアカウント。このフィールドを使用すると、万が一状況が発生した場合に通信の重複を排除できます。

ID

これEventBridge識別子はそれぞれ一意ですEventBridgeイベント。コミュニケーション ID とは異なり、同じヘルスイベントの更新でもアカウントが異なっても同じにはなりません。

service

ザ・AWSイベントの影響を受けるサービス。たとえば、EC2S3REDSHIFT、またはRDS

Amazon EC2 の運用上の問題

{ "version": "0", "id": "7bf73129-1428-4cd3-a780-95db273d1602", "detail-type": "AWS Health Event", "source": "aws.health", "account": "123456789012", "time": "2023-01-27T09:01:22Z", "region": "af-south-1", "resources": [], "detail": { "eventArn": "arn:aws:health:af-south-1::event/EC2/AWS_EC2_OPERATIONAL_ISSUE/AWS_EC2_OPERATIONAL_ISSUE_7f35c8ae-af1f-54e6-a526-d0179ed6d68f", "service": "EC2", "eventTypeCode": "AWS_EC2_OPERATIONAL_ISSUE", "eventTypeCategory": "issue", "eventScopeCode": "PUBLIC", "communicationId": "01b0993207d81a09dcd552ebd1e633e36cf1f09a", "startTime": "Fri, 27 Jan 2023 06:02:51 GMT", "endTime": "Fri, 27 Jan 2023 09:01:22 GMT", "lastUpdatedTime": "Fri, 27 Jan 2023 09:01:22 GMT", "statusCode": "open", "eventRegion": "af-south-1", "eventDescription": [{ "language": "en_US", "latestDescription": "Current severity level: Operating normally\n\n[RESOLVED] \n\n [03:15 PM PST] We continue see recovery \n\nThe following AWS services were previously impacted but are now operating normally: APPSYNC, BACKUP, EVENTS." }] "affectedEntities":[] } }

Elastic Load Balancing API の問題

{ "version": "0", "id": "121345678-1234-1234-1234-123456789012", "detail-type": "AWS Health Event", "source": "aws.health", "account": "123456789012", "time": "2022-06-10T06:27:57Z", "region": "ap-southeast-2", "resources": [], "detail": { "eventArn": "arn:aws:health:ap-southeast-2::event/AWS_ELASTICLOADBALANCING_API_ISSUE_90353408594353980", "service": "ELASTICLOADBALANCING", "eventTypeCode": "AWS_ELASTICLOADBALANCING_API_ISSUE", "eventTypeCategory": "issue", "eventScopeCode": "ACCOUNT_SPECIFIC", "communicationId": "01b0993207d81a09dcd552ebd1e633e36cf1f09a", "startTime": "Fri, 10 Jun 2022 05:01:10 GMT", "endTime": "Fri, 10 Jun 2022 05:30:57 GMT", "statusCode": "open", "eventRegion": "ap-southeast-2", "eventDescription": [{ "language": "en_US", "latestDescription": "A description of the event will be provided here" }] } }

Amazon EC2 インスタンスストアドライブのパフォーマンス低下

{ "version": "0", "id": "121345678-1234-1234-1234-123456789012", "detail-type": "AWS Health Event", "source": "aws.health", "account": "123456789012", "time": "2022-06-03T06:27:57Z", "region": "us-west-2", "resources": [ "i-abcd1111" ], "detail": { "eventArn": "arn:aws:health:us-west-2::event/AWS_EC2_INSTANCE_STORE_DRIVE_PERFORMANCE_DEGRADED_90353408594353980", "service": "EC2", "eventTypeCode": "AWS_EC2_INSTANCE_STORE_DRIVE_PERFORMANCE_DEGRADED", "eventTypeCategory": "issue", "eventScopeCode": "ACCOUNT_SPECIFIC", "communicationId": "01b0993207d81a09dcd552ebd1e633e36cf1f09a", "startTime": "Fri, 3 Jun 2022 05:01:10 GMT", "endTime": "Fri, 3 Jun 2022 05:30:57 GMT", "statusCode": "open", "eventRegion": "us-west-2", "eventDescription": [{ "language": "en_US", "latestDescription": "A description of the event will be provided here" }], "affectedEntities": [{ "entityValue": "i-abcd1111", }] } }

AWS Chatbot を使用した AWS Health イベントの受信

Slack や Amazon Chime など、チャットクライアントで AWS Health イベントを直接受け取れます。このイベントを使用して、AWS のアプリケーションとインフラストラクチャに影響を及ぼす可能性がある、最近の AWS のサービス問題を特定することができます。その後、AWS Health Dashboard にサインインして、更新に関する詳細情報を確認できます。例えば、AWS アカウントで AWS_EC2_INSTANCE_STOP_SCHEDULED イベントタイプに対してモニタリングしている場合、AWS Health イベントを Slack チャネルに直接表示できます。

前提条件

開始する前に、以下のものが必要です。

  • AWS Chatbot で構成されたチャットクライアント。Amazon Chime と Slack を設定できます。詳細については、AWS Chatbot 管理者ガイドAWS Chatbot の開始方法を参照してください。

  • 作成した、およびサブスクライブした Amazon SNS トピック。SNS トピックが既にある場合、既存のトピックを使用できます。詳細については、「Amazon Simple Notification Service 開発者ガイド」の「Amazon SNS の開始方法」を参照してください。

AWS Chatbot を使用して AWS Health イベントを受信するには
  1. の作成EventBridgeのルールAWS Health」の手順をステップ 13 まで実行します。

    の作成EventBridgeのルールAWS Health」の手順をステップ 13 まで実行します。

    1. ステップ 14 でターゲットを選択するときに、SNS トピックを選択します。これと同じ SNS トピックを AWS Chatbot コンソールで使用します。

    2. 残りの手順を完了して、ルールを作成します。

  2. AWS Chatbot コンソールに移動します。

  3. Slack チャネル名など、チャットクライアントを選択し、[Edit] (編集) を選択します。

  4. [Notifications - optional] (通知 – オプション) セクションの [Topics] (トピック) で、ステップ 1 で指定したものと同じ SNS トピックを選択します。

  5. [保存] を選択します。

    いつAWS Healthイベントを送信しますEventBridge君のルールに合致するならAWS Healthイベントがチャットクライアントに表示されます。

  6. イベント名を選択して、AWS Health Dashboard で詳細情報を確認します。

例 : Slack に送信される AWS Health イベント

以下は、Slack チャネルに表示されている、米国東部 (バージニア北部) での Amazon EC2 と Amazon Simple Storage Service (Amazon S3) の 2 つの AWS Health イベントの例です。


          Slack チャネルで 2 つの AWS Health イベントがどのように表示されるかを示すスクリーンショット。

Amazon EC2 インスタンスのアクションの自動化

Amazon EC2 インスタンスに対してスケジュールされたイベントに対応するアクションを自動化することができます。いつAWS Healthあなたにイベントを送信しますAWSアカウント、きみのEventBridgeその後、ルールは次のようなターゲットを呼び出すことができますAWS Systems Managerユーザーに代わってアクションを自動化するための自動化文書。

例えば、Amazon EC2 インスタンスの使用停止イベントが Amazon Elastic Block Store (Amazon EBS)-backed EC2 インスタンスに対してスケジュールされている場合、AWS Health が AWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED イベントタイプを AWS Health Dashboard に送信します。ルールでこのイベントタイプが検出されると、インスタンスの停止と開始を自動化できます。この方法では、これらのアクションを手動で実行する必要はありません。

注記

Amazon EC2 インスタンスに対するアクションを自動化するには、そのインスタンスが Systems Manager によって管理されている必要があります。

詳細については、を参照してください。での Amazon EC2 の自動化EventBridgeLinux インスタンス用の Amazon EC2 ユーザーガイド

前提条件

ルールを作成する前に、AWS Identity and Access Management (IAM) ポリシーと IAM ロールを作成して、ロールの信頼ポリシーを更新しておく必要があります。

ロール用のカスタマー管理ポリシーを作成するには、次の手順に従います。このポリシーは、ユーザーに代わってアクションを実行するためのロールアクセス許可を付与します。この手順では、IAM コンソールの JSON ポリシーエディタを使用します。

IAM ポリシーを作成するには
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで、[ポリシー] を選択します。

  3. [ポリシーの作成] を選択します。

  4. [JSON] タブを選択します。

  5. 次の JSON をコピーし、エディタでデフォルトの JSON を置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances", "ec2:DescribeInstanceStatus" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "ssm:*" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:*:*:Automation*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/AutomationEVRole" } ] }
    1. Resource パラメータで、Amazon リソース名 (ARN) として自分の AWS アカウント ID を入力します。

    2. ロール名を置き換えることも、デフォルトを使用することもできます。この例は AutomationEVRole を使用します。

  6. [次へ: タグ] を選択します。

  7. (オプション) キーバリューペアとしてのタグを使用して、メタデータをポリシーに追加することができます。

  8. [次へ: レビュー] を選択します。

  9. 上にレビューポリシーページ、a を入力[名前]、などオートメーション EVRolePolicyとオプション[説明]

  10. [Summary] (概要) ページで、ポリシーが許容する許可を確認します。ポリシーが適切であれば、[Create policy] (ポリシーの作成) を選択します。

このポリシーによって、このロールが実行できるアクションが定義されます。詳細については、IAM ユーザーガイドIAM ポリシーの作成 (コンソール) を参照してください。

このポリシーを作成したら、IAM ロールを作成し、そのロールにポリシーをアタッチする必要があります。

AWS サービスのロールを作成するには
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで [Roles] (ロール) を選択してから、[Create role] (ロールを作成する) を選択します。

  3. 信頼できるエンティティの種類の選択 で、AWS サービス を選択します。

  4. このロールを引き受けることを許可するサービスに [EC2] を選択します。

  5. [Next: Permissions] (次のステップ: アクセス許可) を選択します。

  6. 作成したポリシー名 (例:) を入力します。オートメーション EVRolePolicyをクリックし、ポリシーの横にあるチェックボックスを選択します。

  7. [次へ: タグ] を選択します。

  8. (オプション) キーと値のペアとしてタグを使用し、メタデータをロールに追加できます。

  9. [次へ: レビュー] を選択します。

  10. [Role name] (ロール名) には AutomationEVRole を入力します。この名前は、作成した IAM ポリシーの ARN に表示される名前と同じものにする必要があります。

  11. (オプション) [Role description] (ロールの説明) に、ロールの説明を入力します。

  12. ロール情報を確認し、[Create role (ロールの作成)] を選択します。

詳細については、IAM ユーザーガイドAWS のサービス用ロールの作成を参照してください。

最後に、作成したロールの信頼ポリシーを更新できます。次の中からこのロールを選択できるようにするには、以下の手順を完了する必要があります。EventBridgeコンソール。

ロールの信頼ポリシーを更新するには
  1. AWS Management Console にサインインして、https://console.aws.amazon.com/iam/ で IAM コンソールを開きます。

  2. ナビゲーションペインで [Roles] (ロール) を選択します。

  3. AWS アカウントのロールのリストで、作成したロールの名前 (AutomationEVRole など) を選択します。

  4. [Trust relationships] タブを選択し、続いて [Edit trust relationship] を選択します。

  5. [Policy Document] (ポリシードキュメント) には、以下の JSON をコピーし、デフォルトポリシーを削除して、その代わりにコピーした JSON を貼り付けます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ssm.amazonaws.com", "events.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  6. [信頼ポリシーの更新] を選択します。

詳細については、IAM ユーザーガイドロールの信頼ポリシーの変更 (コンソール) を参照してください。

のルールを作成EventBridge

以下の手順に従って、にルールを作成します。EventBridgeコンソールを使用すると、リタイアが予定されている EC2 インスタンスの停止と起動を自動化できます。

のルールを作成するにはEventBridgeシステムマネージャーの自動アクション用
  1. アマゾンを開くEventBridgeコンソールハットhttps://console.aws.amazon.com/events/

  2. ナビゲーションペインの [Events] (イベント) で、[Rules] (ルール) を選択します。

  3. [Create rule] (ルールの作成) ページで、ルールの [Name] (名前) と [Description] (説明) を入力します。

  4. [Define pattern] (パターンの定義) で、[Event pattern] (イベントパターン) を選択してから、[Pre-defined pattern by service] (サービスごとに事前定義されたパターン) を選択します。

  5. [Service provider] (サービスプロバイダー) で、AWS を選択します。

  6. [Service name] (サービス名) には [Health] を選択します。

  7. [Event type] (イベントタイプ) には [Specific Health events] (特定の Health イベント) を選択します。

  8. [Specific service(s)] (特定のサービス) を選択し、[EC2] を選択します。

  9. [Specific event type category(s)] (特定のイベントタイプのカテゴリ) を選択し、[scheduledChange] を選択します。

  10. [Specific event types code(s)] (特定のイベントタイプのコード) を選択し、イベントタイプのコードを選択します。

    例えば、Amazon EC2 EBS-backed インスタンスの場合、AWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED を選択します。Amazon EC2 インスタンスの store-backed インスタンスの場合、AWS_EC2_INSTANCE_RETIREMENT_SCHEDULED を選択します。

  11. [任意のリソース] を選択します。

    [Event pattern] (イベントパターン) は以下の例のようになります。

    { "source": [ "aws.health" ], "detail-type": [ "AWS Health Event" ], "detail": { "service": [ "EC2" ], "eventTypeCategory": [ "scheduledChange" ], "eventTypeCode": [ "AWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED" ] } }
  12. Systems Manager オートメーションドキュメントターゲットを追加します。[Select targets] (ターゲットを選択) の [Target] (ターゲット) で [SSM Automation] (SSM オートメーション) を選択します。

  13. [ドキュメント] で、[AWS-RestartEC2Instance] を選択します。

  14. [Configure automation parameters(s)] (オートメーションパラメータの構成) を展開し、[Input Transformer] (入力トランスフォーマー) を選択します。

  15. [Input Path] (入力パス) フィールドに、{"Instances":"$.resources"} を入力します。

  16. 2 番目のフィールドに、{"InstanceId": <Instances>} を入力します。

  17. [Use existing role] (既存のロールを使用) を選択してから、作成した IAM ロール (AutomationEVRole など) を選択します。

    ターゲットは以下の例のようになります。

    
              の「SSM 自動化」例のスクリーンショットEventBridgeコンソール。
    注記

    必要な EC2 と Systems Manager のアクセス許可と、信頼されたリレーションシップを持つ既存の IAM ロールがない場合、ロールはリストに表示されません。詳細については、「前提条件」を参照してください。

  18. [Create] (作成) を選択します。

    ルールに一致するイベントがアカウントで発生した場合、EventBridge指定したターゲットにイベントを送信します。