今回は、AWS HealthをAWS Organizationsと連携させるときの初期セットアップ手順について説明します。
AWS HealthはAWSサービスの障害や計画されたメンテナンスなどのイベントを通知する機能で、Organizationsと連携することで複数のAWSアカウントのヘルスイベントを集約することが可能になります。どのAWSアカウントにどんなヘルスイベントが通知されているかを集中管理することが可能になるため、管理面でのメリットがある機能となります。以下、セットアップ手順を紹介していきます。
想定する構成
管理アカウントで別のアカウントをHealthの委任アカウントとして指定した、以下の構成でセットアップを行っていきます。これにより管理アカウントにログインすることなく、Organizations配下の全AWSアカウントのヘルスイベントが確認可能となります。
管理アカウントの設定
これまで紹介してきたサービスと同じく、まずは管理アカウントで委任管理者の設定を行います。
(1)委任管理者アカウントの設定は、管理アカウントでのみ実施が可能ですので、管理アカウントにログインを行い、Organizationsの画面へ遷移します (2)サイドメニューから「サービス」をクリックします。 (3)AWS Healthを見つけ、クリックします。
(4)「信頼されたアクセスを有効にする」をクリックします。
(5)表示されたポップアップで下記のように入力を行い、「信頼されたアクセスを有効にする」ボタンをクリックします。
(6)ステータスが変更されていることを確認します。
(7)AWS Healthのコンソールへ移動し、サイドメニューから「組織の状態」-「設定」をクリックし、「組織ビューの有効化」ボタンをクリックします。
(8)処理が成功することを確認します。
(9)委任管理者の設定はAWS CLIのみで実施できるため、下記コマンドを実行します。管理アカウントのCloudshellで実行されるのが一番容易かと思います。
aws organizations register-delegated-administrator \
--account-id Health委任アカウントのアカウントID \
--service-principal health.amazonaws.com
(10)設定ができているかを確認するため、以下コマンドを実行します。
aws organizations list-delegated-services-for-account \
--account-id Health委任アカウントのアカウントID
Health委任管理アカウントでの確認
委任管理者として指定されたHealth委任アカウントでAWS Health Dashboardへ移動し、サイドメニューから「組織の状態」配下の何らかのメニューをクリックし、Organizations配下のHealthイベントが集約されていることを確認します。
課題となりやすいポイント
(1)第9回で紹介したように、Organizations配下の全AWSアカウントに集約したヘルスイベントをEventBridgeへ連携することが可能になったため、メンバーアカウントにEventBridgeルールを作成せずとも通知を行うことができるようになりました。
しかし、Organizations配下のAWSアカウントが増えてくると、すべてのヘルスイベントを通知してしまうと数が多すぎて管理しきれないこともあるかと思います。そうした際は、eventTypeCategoryがissueのものだけを通知するなどして、システムに影響を与えうるイベントだけを通知するようなフィルタリングを検討ください。
その他、各メンバーアカウント側で通知ルールを実装し、組織ビューはあくまで情報を集約する用途で利用し、通知のデータソースとしては利用しない運用という手もあります。
(2)AWS HealthはヘルスイベントにはAWSからの重要な通知が含まれるため、仮にリージョン障害が発生したとしても、通知を受け取りたいというケースはあるでしょう。ヘルスイベントは影響を受けるリージョンとそのバックアップリージョンの両方に通知がされる仕様となっています。
そのため、ヘルスイベントに関する通知の耐久性を高めたい場合は、バックアップリージョンにもEventBridgeルールやSNSによる通知の仕組みを用意するようにしてください。
(3)IAMなどの一部のAWSサービスはグローバルイベントと呼ばれ、バージニア北部リージョンにイベントが通知される仕様となっています。グローバルイベントを監視したい場合は、システムを稼働しているリージョンだけでなく、バージニア北部リージョンのヘルスイベントも通知するようにしてください。
まとめ
今回は、AWS HealthのOrganizations連携ステップと課題となりやすいポイントについて紹介しました。本稿が、Organizations配下のAWSアカウントのヘルスイベント管理にお役に立てば幸いです。