Amazon Web Services(AWS)は先頃、組織全体のイベントのトラッキングや、分離されたアカウント内で高度なセキュリティスキームを実装するためのイベント処理といったユースケースのサポートするため、Amazon CloudWatch Eventsにアカウント間でのイベント配信機能を追加した。
Amazon CloudWatch EventsはAmazon CloudWatch(以前の記事)の一部で、1つまたは複数のターゲットを対象としたイベントにマッチするルールを使って“AWSリソース内の変化の追跡と応答を行なう”、“準リアルタイムのイベントストリーム”を提供する。Jeff Barr氏(AWSチーフエバンジェリスト)の紹介記事では、CloudWatch Eventsを“AWS環境における中枢神経系システム”と評している。大部分のサービスの読み取り/書き込みAPIコールイベントに加えて、サービス特有のイベントタイプのリストをサポートするだけでなく、AWS Step Functions、Amazon ECS、Amazon Kinesis Firehose、AWS CodeBuild、AWS CodePipelineなど最近の新たなエンティティなど、その対象を絶えず拡張していることから、そのような評価も頷ける。
AWSアカウント間のイベント送受信も可能になり、複数のアカウントからのイベントを1ヶ所で処理するファンインや、さまざまなタイプのイベントを別々のアカウントにルートするファンアウト(無限ループを防止するため、別のアカウントで生成されたイベントを転送することはできない)など、高度なユースケースやトポロジがサポートされるようになった。
- 組織のロールアップ – AWS Organizations(以前の記事)を介して管理されている、複数アカウントあるいは組織全体のイベントのトラッキング。
- セキュリティコンテキスト境界 – 関心の分離(separation of concerns)を目的とした専用ないし分離アカウント内における、セキュリティ関連のイベントへの応答。
現在のAWSはアカウント毎に1つのイベントをサポートしているが、“将来的には拡張する計画がある”。アクセスポリシには、受信アカウントのイベントバスにイベントを送信可能なAWSアカウントセットの指定が追加された。デフォルトでは、受信するアカウントのルールが、他のアカウントで発行されたイベントにも適用される。この動作は、ルールのイベントパターンの“account”フィールドに、1つ以上のAWSアカウントIDを指定することで変更できる。結果として、クロスアカウントなイベント処理の典型的手順は次のようなものになる。
- 受信側アカウントは、一つ以上(またはすべて)のAWSアカウントに対して、自身のデフォルトのイベントバスへのイベント送信を許可する。
- 送信側アカウントは、受信側アカウントのデフォルトのイベントバスを対象とした1つ以上のルールを設定する。
- 受信側アカウントは、1つ以上(またはすべて)のAWSアカウントから到着するイベントにマッチする、1つ以上のルールを設定する。
関連するニュースとしてAmazon CloudWatch Eventsでは、ターゲットに送信する前に入力イベントを変換する機能もサポートされており、“イベントのJSONから複数のキーと値のペアを抽出して、ニーズに合わせたデータ変換を行なう”ことが可能だ。さらにAWSは、CloudWatch Eventsの制限のデフォルト値も大幅に拡大した。他の大半のAWSサービスの制限値と同じように、AWSサポートセンタを経由すれば、これら新たなデフォルト値を越える制限値の設定を要求することができる。
AWS CloudWatch Eventsのドキュメントとしては、“始めに(getting started)”の章を含むユーザガイド、AWS CLIリファレンス、APIリファレンスなどが用意されている。サポートはAmazon CloudWatchフォーラムで提供される。カスタムイベントの利用と他アカウントへのイベント転送を除き、CloudWatch Eventsは無償で使用することができる。これらはカスタムイベントとして送信先のアカウントに対して、それぞれの契約に従った価格で課金される。
この記事を評価
- 編集者評
- 編集長アクション