MonitoringAWS HealthAmazon CloudWatch Events - AWS Health

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

MonitoringAWS HealthAmazon CloudWatch Events

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

Notes
  • このトピックでは、CloudWatch イベントコンソールを使用してルールを作成します。Amazon EventBridge コンソールを使用してルールを作成することもできます。詳細については、「」を参照してください。のルールの作成AWSのサービスAmazon EventBridge ユーザーガイド

  • どちらのサービスでも、AWS Healthは、ベストエフォートベースでイベントを発行します。イベントが CloudWatch イベントまたは EventBridge に配信されるとは限りません。

  • CloudWatch イベントルールを作成して、アカウントの通知のみを受信できます。他のアカウントの組織イベントをAWS Organizations。詳細については、「組織ビューでのアカウント全体の AWS Health イベントの集計」を参照してください。

CloudWatch Events をAWS Healthワークフロー:

  • AWS Lambda 関数

  • Amazon Kinesis Data Streams

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

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

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

たとえば、Lambda 関数を使用して、AWS Healthイベントが発生した場合。または、Lambda イベントと CloudWatch イベントを使用して、AWS Healthイベントが発生した場合。

AWS Health イベントに作成できる自動アラートおよびカスタムアラートのサンプルについては、GitHub の AWS Health Tools を参照してください。

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

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

ある程度AWS Healthイベントはリージョン固有ではなく、代わりにグローバルです。AWS Identity and Access Management(IAM) である。グローバルイベントを受信するには、米国東部 (バージニア北部) リージョンのルールを作成する必要があります。

グローバルイベントを AWS GovCloud (US) でルールを作成するには、AWSGovCloud (米国西部) リージョン。

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

のみAWS Health固有のイベントです。AWSアカウントは CloudWatch イベントに配信されます。たとえば、Amazon EC2 インスタンスへの必要な更新や、アカウントやリソースに影響する可能性のあるスケジュールされた変更イベントなどのイベントを含めることができます。

現時点では、CloudWatch Events を使用してパブリックのイベントService Health Dashboard。Service Health Dashboard のイベントは、リージョンでのサービスの可用性に関する公開情報を提供します。これらのイベントはAWSアカウントに配信されるため、CloudWatch Events には配信されません。

代わりに、AWS HealthコンソールとDescribeEventDetailsオペレーション. どちらのオプションを使用してイベントに関する情報を返し、そのイベントが Service Health Dashboard の公開イベントか、アカウントに影響するアカウント固有のイベントかを特定できます。

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

  • 左AWS Personal Health Dashboard] で、影響を受けるリソース[] タブの []イベントログページで. リソースがあるイベントは、アカウントに固有です。リソースのないイベントはパブリックであり、アカウント固有のものではありません。詳細については、「AWS Personal Health Dashboard の開始方法」を参照してください。

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

また、 を使用することもできますAWS HealthService Health Dashboard 通知ツールで、公開イベントの通知を受けます。詳細については、「」を参照してください。aws-ヘルスツールGitHub ウェブサイトで。

の CloudWatch Events ルールの作成AWS Health

CloudWatch Events ルールを作成して、AWS Healthアカウントでイベントを発行します。AWS Health のイベントルールを作成する前に、以下のことを行う必要があります。

の CloudWatch Events ルールを作成するにはAWS Health

  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

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

  3. ナビゲーションペインの [] で、イベント] で、ルール

  4. [Create rule] を選択し、次に [Event Source] の下の [Service Name] で [Health] を選択します。

  5. を使用する場合イベントタイプ[] で、次のいずれかのオプションを選択します。

    • 選択すべてのイベントすべてのに適用するルールを作成するにはAWSのサービス。このルールはAWS Health。このオプションを選択すると、イベントタイプのカテゴリやイベントタイプのコードを指定することはできません。

    • 選択特定のHealth スイベント,特定のサービス[] を選択し、リストからサービス名を選択します。この例では、EC2に設定して、CloudWatch イベントが Amazon EC2 イベントのみをモニタリングするようにします。

  6. 特定のサービスを選択した場合は、次のいずれかのオプションを選択します。

    • 選択任意のイベント・タイプ・カテゴリすべてのイベントタイプのカテゴリに適用されるルールを作成します。

    • 選択特定のイベント・タイプ・カテゴリリストから値を選択します。これにより、1 つのイベントタイプカテゴリにのみ適用されるルールが作成されます (scheduledChange

    ヒント
    • すべてを監視するにはAWS Healthイベントを特定のサービスに対して設定するには、[] を選択することをお勧めします。任意のイベント・タイプ・カテゴリおよび任意のリソース。これにより、ルールがすべてのAWS Healthイベント (新しいイベントタイプコードを含む)。ルールの例については、すべての Amazon EC2 イベント

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

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

    • 選択任意のイベント・タイプ・コードすべてのイベントタイプのコードに適用されるルールを作成します。

    • 選択特定のイベント・タイプ・コードリストから 1 つまたは複数の値を選択します。これにより、特定のイベントタイプコードにのみ適用されるルールが作成されます。たとえば、[] を選択した場合AWS_EC2_INSTANCE_STOP_SCHEDULEDおよびAWS_EC2_INSTANCE_RETIREMENT_SCHEDULEDに設定されている場合、ルールはアカウント内で発生したイベントにのみ適用されます。

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

    • 選択任意のリソースすべてのリソースに適用されるルールを作成するには。

    • 選択特定のリソース1 つ以上のリソースの ID を入力します。たとえば、Amazon EC2 インスタンス ID (i-EXAMPLEa1b2c3de4を使用して、このリソースにのみ影響するイベントを監視します。

  9. ルール設定を確認して、イベントモニタリング要件を満たします。

  10. [Targets] エリアで、[Add target*] を選択します。

  11. ターゲットのタイプの選択リストで、このルールを使用するために準備したターゲットのタイプを選択してから、そのタイプに必要な追加オプションを設定します。

  12. [設定の詳細] を選択します。

  13. リポジトリの []ルールの詳細の設定ページで、ルールの名前と説明を入力し、[] を選択します。州/地域ルールを作成してすぐに有効にするには] ボックスをオンにします。

  14. [Create rule] を選択します。

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

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


          すべての Amazon EC2 イベントだけの CloudWatch Events ルールを作成する方法について説明します。

例 : 特定の Amazon EC2 イベントに関するルール

次の例では、CloudWatch イベントが以下を監視するようにルールを作成します。

  • Amazon EC2 サービス

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

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

  • インスタンスがi-EXAMPLEa1b2c3de4ID


          特定の Amazon EC2 イベントだけの CloudWatch Events ルールを作成する方法について説明します。

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

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

以下のいずれかのオプションを使用できます。

既存のルールにサービスとカテゴリを追加するには

  1. CloudWatch イベントコンソールで、ルールページで、ルール名を選択します。

  2. 右上隅の [] を選択します。アクション[] を選択して [] を選択します。編集

  3. を使用する場合イベントパターンテキストフィールドに変更内容を入力します。

  4. 選択詳細の構成[] を選択して [] を選択します。ルールの更新[] をクリックして変更を保存します。

新しいルールのサービスとカテゴリを追加するには

  1. の手順に従います。の CloudWatch Events ルールの作成AWS Healthステップ 6

  2. リストから単一のサービスまたはカテゴリを選択する代わりに、イベントパターンのプレビュー] で、編集

  3. テキストフィールドに変更を入力し、[] を選択します。保存。以下を参照してくださいパターンの例

  4. イベントパターンを確認し、」の CloudWatch Events ルールの作成AWS Healthルールを作成するには、[] を選択します。

API を使用するAWS Command Line Interface(AWS CLI)

新規または既存のルールの場合は、PutRuleAPI オペレーションまたはaws events put-ruleコマンドを使用してイベントパターンを更新します。例AWS CLIコマンドの詳細については、put-ruleAWS CLIコマンドリファレンス

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

次のイベントパターンは、issue,accountNotification, およびscheduledChangeイベントタイプのカテゴリと 3 つのAWSのサービス。

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

受信AWS HealthイベントとAWS Chatbot

あなたは受け取ることができますAWS Healthイベントを Slack や Amazon Chime などのチャットクライアントに直接送信できます。このイベントを使用して、最近のAWS影響する可能性のあるサービスの問題AWSアプリケーションとインフラストラクチャ。その後、[]AWS Personal Health Dashboard更新プログラムの詳細については、「」を参照してください。たとえば、AWS_EC2_INSTANCE_STOP_SCHEDULEDイベントタイプAWSアカウントの場合、AWS Healthイベントは Slack チャンネルに直接表示されます。

Prerequisites

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

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

  • 作成して購読した Amazon SNS トピック。SNS トピックがすでにある場合は既存の SNS トピックを使用できます。詳細については、「」を参照してください。Amazon SNS の開始方法Amazon Simple Notification Service デベロッパーガイド

受信するにはAWS HealthイベントとAWS Chatbot

  1. の CloudWatch Events ルールの作成AWS Health」 の手順に従います。

    1. でターゲットを選択するとステップ 11で、SNS トピックを選択します。この同じ SNS トピックをAWS Chatbotconsole.

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

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

  3. Slack チャンネル名など、チャットクライアントを選択し、編集

  4. 通知-オプションセクションに追加します。トピックで、指定した SNS トピックと同じ SNS トピックを選択します。

  5. [Save] を選択します。

    メトリックAWS Healthがルールに一致するイベントを CloudWatch イベントに送信する場合、AWS Healthイベントは、チャットクライアントに表示されます。

  6. イベント名を選択すると、AWS Personal Health Dashboard。

例 :AWS HealthSlack に送信されたイベント

以下に、2 つの例を示します。AWS HealthSlack チャネルに表示される米国東部 (バージニア北部) リージョンの Amazon EC2 および Amazon Simple Storage Service (Amazon S3) のイベントです。


          2 つのスクリーンショットAWS Healthイベントは Slack チャンネルに表示されます。

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

Amazon EC2 インスタンスのスケジュールされたイベントに応答するアクションを自動化できます。メトリックAWS HealthはイベントをAWSアカウントを使用すると、CloudWatch イベントルールがAWS Systems Manager自動化ドキュメント。ユーザーに代わってアクションを自動化します。

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

Notes
  • この手順では、CloudWatch イベントコンソールを使用してルールを作成します。EventBridge コンソールを使用してルールを作成することもできます。詳細については、「」を参照してください。のルールの作成AWSのサービスAmazon EventBridge ユーザーガイド

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

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

Prerequisites

作成する必要があります。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 を置き換えます。

    1. Resourceパラメータには、Amazon リソースネーム (ARN) にAWSアカウント ID。

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

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances", "ec2:DescribeInstanceStatus" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "ssm:*" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/AutomationCWRole" } ] }
  6. [Next: (次へ:)] を選択します タグ

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

  8. [Next: (次へ:)] を選択します 確認.

  9. リポジトリの []ポリシーの確認ページで、名前など自動化CWRoleポリシー説明(オプション)。

  10. [] を確認します。概要ページをクリックして、ポリシーで許可されているアクセス許可を表示し、ポリシーの作成

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

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

向けのロールを作成するにはAWSのサービス

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

  2. ナビゲーションペインで [Roles] を選択し、続いて [Create role] を選択します。

  3. [Select type of trusted entity (信頼されたエンティティのタイプの選択)] で、[AWS のサービス] を選択します。

  4. 選択EC2このロールを引き受けることを許可するサービスの

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

  6. 作成したポリシー名を入力します(自動化CWRoleポリシーポリシーの横にあるチェックボックスをオンにします。

  7. [Next: (次へ:)] を選択します タグ

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

  9. [Next: (次へ:)] を選択します 確認.

  10. を使用する場合ロール名[] で、AutomationCWRole。この名前は、前に作成した IAM ポリシーの ARN に表示される名前と同じである必要があります。

  11. (オプション)ロールの説明ロールの説明を入力します。

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

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

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

ロールの信頼ポリシーを更新するには

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

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

  3. ロールのリストでAWSアカウントで、作成したロールの名前 (AutomationCWRole

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

  5. を使用する場合ポリシードキュメントをクリックし、次の JSON をコピーして、デフォルトのポリシーを置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ssm.amazonaws.com", "events.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  6. [Update Trust Policy] を選択します。

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

CloudWatch Events のルールの作成

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

Systems Manager の自動アクションの CloudWatch イベントのルールを作成するには

  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. ナビゲーションペインの [] で、イベント] で、ルール

  3. [Create rule] を選択し、次に [Event Source] の下の [Service Name] で [Health] を選択します。

  4. を使用する場合イベントタイプ] で、特定のHealth スイベント

  5. 選択特定のサービス[] を選択して、[EC2

  6. 選択特定のイベント・タイプ・カテゴリ[] を選択して、[scheduledChange

  7. 選択特定のイベント・タイプ・コードをクリックし、イベントタイプのコードを選択します。たとえば、Amazon EC2 EBS-backed インスタンスの場合は、AWS_EC2_PERSISTENT_INSTANCE_RETIREMENT_SCHEDULED。Amazon EC2 instance store-Backed インスタンスの場合は、AWS_EC2_INSTANCE_RETIREMENT_SCHEDULED

  8. 選択任意のリソース

    あなたのイベントパターンのプレビュー次の例のようになります。

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

  10. を使用する場合ドキュメント*] で、AWS-RestartEC2Instance

  11. を展開します。オートメーションパラメーターの設定[] を選択して、[インプットトランスフォーマー

  12. 向けの入力パスフィールドに [] と入力します。{"Instances":"$.resources"}

  13. 2 番目のフィールドに [] と入力します。{"InstanceId": <Instances>}

  14. 選択既存のロールを使用する[] を選択し、作成した IAM ロールを選択します。AutomationCWRole

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

    
              CloudWatch Events コンソールの「SSM オートメーション」の例のスクリーンショット。
    注記

    必要な EC2 および Systems Manager アクセス許可と信頼関係を持つ既存の IAM ロールがない場合、ロールはリストに表示されません。詳細については、「Prerequisites」を参照してください。

  15. [設定の詳細] を選択します。

  16. ルールの名前と説明を入力します。保持する州/地域オプションが選択されました。

  17. [Create rule] を選択します。