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 コンソールを使用してルールを作成することもできます。詳細については、「」を参照してください。のルールの作成AWSservice()Amazon EventBridge ユーザーガイド

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

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

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

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

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

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

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

代わりに、[] を使用できます。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 イベントルールを作成して、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. 特定のサービスおよびイベントタイプカテゴリを選択した場合は、イベントタイプコードに次のいずれかのオプションを選択します。

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

    • 選択特定のイベント・タイプ・コード[] を選択し、リストから値を選択します (または複数)。これにより、特定のイベントタイプコードにのみ適用されるルールが作成されます。たとえば、[] を選択すると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 イベントルールを作成する方法のスクリーンショット。

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

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

  • Amazon EC2 サービス

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

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

  • インスタンスがi-EXAMPLEa1b2c3de4ID


          特定の Amazon EC2 イベントのみを対象に CloudWatch イベントルールを作成する方法のスクリーンショット。

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

前の手順の例で、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-rule()AWS 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 Chatbot()AWS Chatbot管理者ガイド

  • 作成してサブスクライブした Amazon 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 Healthイベントのうち、Slack チャネルに表示される米国東部 (バージニア北部) リージョンの Amazon EC2 および Amazon Simple Storage Service (Amazon S3) のイベントです。


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

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

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

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

Notes
  • この手順では、CloudWatch イベントコンソールを使用してルールを作成します。EventBridge コンソールを使用してルールを作成することもできます。詳細については、「」を参照してください。のルールの作成AWSservice()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 にサインインして、https://console.aws.amazon.com/iam の IAM コンソールを開きます。

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

  3. [Create policy] を選択します。

  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": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:*:*:Automation*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::123456789012:role/AutomationCWRole" } ] }
  6. [Next: (次へ:)] を選択します タグ

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

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

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

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

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

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

向けのロールを作成するにはAWSservice

  1. AWS Management Console にサインインして、https://console.aws.amazon.com/iam の 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 (ロールの作成)] を選択します。

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

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

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

  1. AWS Management Console にサインインして、https://console.aws.amazon.com/iam の 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 イベント用のルールの作成

リタイアが予定されている 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 インスタンスのストアバックされたインスタンスの場合、[] を選択します。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 イベントコンソールの「SSM オートメーション」の例のスクリーンショット。
    注記

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

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

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

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