Amazon による AWS Health イベントのモニタリング EventBridge - AWS Health

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

Amazon による AWS Health イベントのモニタリング EventBridge

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

メモ

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

  • AWS Lambda 関数

  • Amazon Kinesis Data Streams

  • Amazon Simple Queue Service Amazon SQSキュー

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

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

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

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

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

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

バックアップリージョンに追加のルールを設定すると、プライマリルールが進行中のイベントの影響を受けた場合に備えて、ワークフローの耐性がさらに高まります。のパブリックイベント AWS Health は、影響を受けるリージョンとバックアップリージョンの両方に同時に送信されます。詳細については、「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 は、影響を受けるリージョンとバックアップリージョンの両方に同時に送信されます。eventARN と communicationId を使用して AWS Health イベントの重複を解除することをお勧めします。これらのイベントは、バックアップリージョンに送信される AWS Health メッセージに対して一貫性が保たれるためです。

eventScopeCode パラメータ EventBridgeを使用して、イベントが でパブリックかアカウント固有かを特定できます。イベントには、 PUBLICまたは を含めることができますACCOUNT_SPECIFIC。このパラメーターでルールをフィルタリングすることもできます。

Amazon Elastic Compute Cloud の公開イベントの例

次のイベントは米国東部 (バージニア北部) リージョンでの 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-1", "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" } ], "page": "1", "totalPages": "1", "affectedAccount":"123456789012", } }

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

アカウントに AWS インシデント検出と対応を使用する場合は、AWSServiceRoleForHealth_EventProcessorサービスにリンクされたロールをアカウントにインストールする必要があります。

このロールは event-processor.health.amazonaws.com サービスプリンシパルを信頼してそのロールを引き受けます。このロールにアタッチされるのは AWSHealth_EventProcessorServiceRolePolicy AWS マネージドポリシーです。このポリシーには、他の を呼び出すなど、ロールが実行できるアクセス許可が一覧表示 AWS サービス されます。

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

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

の EventBridge ルールの作成 AWS Health

アカウント内の AWS Health イベントの通知を受け取る EventBridge ルールを作成できます。のイベントルールを作成する前に AWS Health、次の操作を行います。

の EventBridge ルールを作成するには AWS Health
  1. https://console.aws.amazon.com/events/ で Amazon EventBridge コンソールを開きます。

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

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

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

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

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

  7. ビルドイベントパターンページのイベントソース で、AWS イベントと EventBridge パートナーイベント を選択します。

  8. イベントソース で、イベントパターン に対してAWS サービスを選択します。

  9. イベントパターン[AWS サービス] で、[Health] を選択します。

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

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

    • 特定のヘルスイベント – Amazon EC2 など AWS サービス、特定の のイベントのルールを作成します。

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

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

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

    ヒント
    • 特定のサービスのすべての AWS Health イベントをモニタリングするには、任意のイベントタイプカテゴリ と任意のリソース を選択することをお勧めします。これにより、指定したサービスに対して、新しいイベントタイプのコードを含む、すべての 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 イベントに対するルール

次の例では、イベントタイプのカテゴリ、イベントコード、リソースなど、すべての Amazon EC2 イベントを が EventBridge モニタリングするルールを作成します。

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

次の例では、 が以下を EventBridge モニタリングするルールを作成します。

  • Amazon EC2 サービス

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

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

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

特定の Amazon EC2 イベントのみの EventBridge ルールを作成します。

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

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

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

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

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

  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) を使用する

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

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

次のイベントパターンは、Amazon EC2issue、Amazon EC2 Amazon EC2 Auto ScalingaccountNotification、Amazon VPC の 3 つの AWS サービスの 、、および scheduledChangeイベントタイプのカテゴリのイベントをモニタリングするルールを作成します。 Amazon EC2 Auto Scaling

{ "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 イベントスキーマ

AWS Health イベントスキーマ
パラメータ 説明 必須
バージョン EventBridge バージョン、現在「0」 はい
id イベントの uniqueEventBridge 識別子 はい
詳細タイプ ディテールタイプを記述します。 AWS Health イベントの場合、これは &AWS Health Eventまたは になります。 AWS Health Abuse Event はい
source

イベントバスソース。 AWS Health イベントの場合、これは aws.health

はい
account AWS Health イベントが送信されたaccountId。
注記

組織側ビューでは、管理アカウントまたは委任管理者アカウントで受信された場合は AffectedAccount とは異なります。

はい
time 通知が に送信された時刻 EventBridge。形式: yyyy-mm-ddThh:mm:ssZ はい
region 通知 AWS リージョン が配信された を識別します。
注記

このフィールドには、この AWS Health イベントの影響を受けるリージョンは表示されません。これは「Detail.EventRegion」によって示されます。

はい
resources

影響を受けるリソースがある場合、アカウント内の影響を受けるリソースのリストを記述します。

注記

参照されているリソースがない場合は、このフィールドは空にすることもできます。

いいえ
詳細 このセクションには、以下に示す AWS Health イベントの詳細がすべて含まれています。 はい
eventArn 特定のリージョンの AWS Health イベントの一意の識別子には、リージョンとイベント ID が含まれます。
注記

eventArn は特定の顧客アカウントや地域に固有のものではありません。

はい
service AWS Health イベントの AWS サービス 影響を受ける 。たとえば、Amazon EC2、Amazon Simple Storage Service、Amazon Redshift、Amazon Relational Database Service。 はい
イベントTypeCode イベントタイプの一意の識別子。例: AWS_EC2_INSTANCE_NETWORK_MAINTENANCE_SCHEDULED および AWS_EC2_INSTANCE_REBOOT_MAINTENANCE_SCHEDULEDMAINTENANCE_SCHEDULEDを含むイベントは、通常、startTime の約2週間前に延期されます。
注記

新たに予定されているライフサイクルイベントにはすべてイベントタイプAWS_{SERVICE}_PLANNED_LIFECYCLE_EVENTがあります。

はい
イベントTypeCategory イベントのカテゴリコード 指定できる値は、issueaccountNotificationinvestigationscheduledChange です。 はい
イベントScopeCode AWS Health イベントがアカウント固有かパブリックかを示します。想定される値は、ACCOUNT_SPECIFIC または PUBLIC です。 はい
communicationId (新規)

AWS Health イベントのこの通信の一意の識別子。

同じ communicationId を持つメッセージは、1 つの AWS Health イベントのバックアップメッセージまたはページである可能性があります。この識別子を accountId と組み合わせて使用すると、メッセージの重複排除に役立ちます。

注記

ページネーション機能のリリースでは、communicationId をページ間で一意に保つためのページ番号が communicationId に含まれるようになりました (例:12345678910-1)。詳細については、「での AWS Health イベントのページ分割 EventBridge」を参照してください。

はい
startTime AWS Health イベントの開始時刻は、 の形式ですDoW, DD, MMM, YYYY, HH:MM:SS TZ
注記

予定されているイベントの開始時間は、未来であってもかまいません。

はい
endTime 形式の AWS Health イベントの終了時刻: DoW, DD MMM YYYY HH:MM:SS TZ
注記

endTime は、今後設定されるイベントには提供されない場合があります。

いいえ
最後のUpdatedTime 形式の AWS Health イベントの最終更新時刻: DoW, DD MMM YYYY HH:MM:SS TZ はい
statusCode

AWS Health イベントのステータス。タイプカテゴリには異なるステータスがあります。

Issue イベントカテゴリに使用できる値は、open、、closedまたは ですupcoming

scheduledChangesイベントカテゴリのステータスはUpcomingOngoingCompletedなどさまざまです。

AccountNotificationsイベントカテゴリにはステータスはなく、"-"に設定されます。

はい
eventRegion この AWS Health イベントで説明される影響を受けるリージョン。 はい
eventDescription AWS Health イベントを説明するセクション。これには、イベントを説明する言語やテキストのフィールドが含まれます。 はい
language AWS Health イベントで使用される言語。これは通常、イベントが公開されている地域によって決まります。us-east-1 リージョンでは、これは通常 "en_US" です。 はい
latestDescription AWS Health API からレンダリングされる AWS Health イベントを記述し、通常は AWS Health ダッシュボードに表示されます。
注記

公開イベントの場合、これには最新の更新のみが含まれ、イベントの履歴全体は含まれません。

はい
eventMetadata AWS Health イベントに供給できる追加のイベントメタデータ。 いいえ
<metadata key 1> メタデータキー、値文字列"keystring1": "keyvalue1"
注記

イベントメタデータのキーと値のペアは、 AWS Health イベントを送信したサービスによって決まります。

いいえ
affectedEntities この AWS Health イベント内の影響を受けるリソースのリソース値とステータスを記述する配列。 いいえ
entityValue リソース/エンティティ ID いいえ
lastUpdatedtime (新規) このリソース/エンティティのステータスが最後に更新された時刻は次の形式で表示されます。DoW, DD MMM YYYY HH:MM:SS TZ いいえ
status (新規) 影響されたリソース/エンティティのステータス。値は、IMPAIREDUNIMPAIREDPENDINGRESOLVEDUNKNOWNなどです。 いいえ
page (新規) このメッセージが表すページ。詳細については、「での AWS Health イベントのページ分割 EventBridge」を参照してください。
注記

ページ分割はリソース上でのみ行われます。256 KB のサイズ制限違反のその他の原因として、通信が失敗する原因があります。

はい
totalPages (新規) このヘルスイベントのページの総数。詳細については、「での AWS Health イベントのページ分割 EventBridge」を参照してください。
注記

これを使用して、あるアカウントについて複数ページにわたる通信の全ページを受信したかどうかを判断できます。

はい
affectedAccount (新規) これは影響を受けるアカウントの accountId です。
注記

これは、このヘルスイベントが の一部であるアカウントに送信 AWS Organizations され、管理アカウントまたは委任された管理者アカウントで受信された場合、「アカウント」フィールドとは異なることがあります。

はい

公開ヘルスイベント-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-1", "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":[], "page": "1", "totalPages": "1", "affectedAccount": "123456789012", } }

アカウント固有の AWS Health イベント - 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-1", "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" }], "page": "1", "totalPages": "1", "affectedAccount": "123456789012", } }

アカウントに固有の AWS Health イベント - 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-1", "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", }], "page": "1", "totalPages": "1", "affectedAccount": "123456789012", } }

での AWS Health イベントのページ分割 EventBridge

AWS Health は、「リソース」またはaffectedEntities」のリストによってメッセージのサイズが の 256 EventBridgeKB メッセージサイズ制限を超えた場合に、 AWS Health イベントのページ分割をサポートします。 256KB 以前は、この制限を超えた場合、 はリソースの完全なリストをイベントと通信していません AWS Health でした。

AWS Health では、メッセージにすべての「リソース」と「detail.affectedEntities」が含まれるようになりました。この「resources」と「detail.affectedEntities」のリストが 256KBを超える場合、 はヘルスイベントを複数のページに AWS Health 分割し、これらのページを個々のメッセージとして に発行します EventBridge。すべてのページを受信した後に「resources」または「Detail.AffectedEntities」のリストを再結合できるように、各ページには同じ eventARN と communicationId が保持されます。

これらの追加メッセージは、 EventBridge ルールが E メールやチャットなどの人間が読めるインターフェイスに向けられている場合など、不必要なメッセージを引き起こす可能性があります。人間が読める形式の通知を使用しているお客様は、「detail.page」フィールドに最初のページのみを処理するフィルターを追加して、後続のページから作成される不要なメッセージを除外できます。

ページネーションの起動をサポートするために、いくつかのスキーマ変更が含まれています。各 communicationId には、ページが1ページしかない場合でも、communicationId の後ろにハイフンでつながれたページ番号が含まれるようになりました。また、現在のページ番号と AWS Health イベントの合計ページ数を記述する detail.page と detail.totalPages という 2 つの新しいフィールドもあります。ページ分割された各メッセージに含まれる情報は、「Detail.affectedEntities」または「resources」のリストを除いて同じです。これらのリストは、すべてのページを受信した後で再構築できます。影響を受けるリソースやエンティティのページは、順序に依存しません。

組織ビューと委任された管理者アクセスを使用した AWS Health イベントの集約

AWS Health は、Amazon で公開された AWS Health イベントの組織ビューと委任された管理者アクセスをサポートします EventBridge。で組織ビューが有効になっている場合 AWS Health、管理アカウントまたは委任された管理者アカウントは、 の組織内のすべてのアカウントから AWS Health イベントの 1 つのフィードを受け取ります AWS Organizations。

この機能は、組織全体の AWS Health イベントを管理するのに役立つ一元的なビューを提供するように設計されています。管理アカウントで組織ビューと EventBridge ルールを設定しても、組織内の他のアカウントの EventBridge ルールは非アクティブ化されません。

で組織ビューと委任された管理者アクセスを有効にする方法の詳細については AWS Health、「イベントの集約」を参照してください AWS Health

でのイベントの受信 AWS HealthAWS Chatbot

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 通知サービスデベロッパーガイド] の [Amazon SNS の使用開始] を参照してください。

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

    1. ステップ 13 でイベントパターンの設定が完了したら、パターンの最後の行にカンマを追加し、次の行を追加してページ分割された AWS Health イベントから不要なチャットメッセージを削除します。での AWS Health イベントのページ分割 EventBridge を参照してください。

      "detail.page": ["1"]

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

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

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

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

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

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

    がルール EventBridge に一致するイベントを AWS Health に送信すると、 AWS Health イベントがチャットクライアントに表示されます。

  6. イベント名を選択すると、 AWS Health ダッシュボードに詳細情報が表示されます。

例 :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 ユーザーガイド」の「 による EventBridge Amazon EC2 の自動化」を参照してください。

前提条件

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

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

IAM ポリシーを作成するには
  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/iam/ で 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. ポリシーの確認ページで、AutomationEVRolePolicy などの名前 とオプションの 説明 を入力します。

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

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

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

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

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

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

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

  5. [次へ: アクセス許可] を選択します。

  6. AutomationEVRolePolicy など、作成したポリシー名を入力し、ポリシーの横にあるチェックボックスをオンにします。

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

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

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

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

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

  12. ロール情報を確認し、ロールの作成 を選択します。

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

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

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

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

  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 インスタンスの停止と起動を自動化できるようにします。

Systems Manager 自動アクション EventBridge の のルールを作成するには
  1. https://console.aws.amazon.com/events/ で Amazon EventBridge コンソールを開きます。

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

  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 など) を選択します。

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

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

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

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

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