Route 53 ホストゾーンのレコードに変更があったときに、通知を受信する方法を教えてください。
Amazon Route 53 からリソースレコードセットを作成または削除したときに、カスタム通知を含むメール応答を受信できるようにしたいです。
簡単な説明
ChangeResourceRecordSets API コールを行う際に起動する、Amazon EventBridge ルールまたは Amazon CloudWatch Events ルールを用いたカスタムイベントパターンを使用します。次に、応答を Amazon Simple Notification Service (Amazon SNS) トピックにルーティングします。
注: メールサブスクリプションを使用する Amazon SNS トピックがない場合は、Amazon SNS トピックと SNS トピックへのサブスクリプションを作成します。
解決策
前提条件: CloudTrail 経由の AWS API コールを監視するために、ルールを作成する対象の AWS リージョンでカスタム CloudTrail 証跡が有効になっている。CloudTrail のいずれかの detail-type 値に関するイベントを記録するには、証跡のログ記録を有効にする必要があります。証跡は、複数のリージョンで作成するか、us-east-1 リージョンのみで作成できます。詳細については、「CloudTrail 証跡を操作する」を参照してください。
EventBridge ルールを作成する
注: Route 53 は、米国東部 (バージニア北部) の AWS リージョンでのみ使用できる AWS グローバルサービスです。EventBridge ルールは、米国東部 (バージニア北部) リージョンで作成する必要があります。
次の手順を実行します。
- EventBridge コンソールを開きます。
- ナビゲーションペインで [ルール] を選択します。
- [ルールを作成] を選択します。
- [名前] と [説明] フィールドにルールの名前と説明を入力します。
- [選択したイベントバスでルールを有効にする] を選択します。
- [イベントパターンを持つルール] を選択します。
- [次へ] を選択します。
- [AWS イベント] または [EventBridge パートナーイベント] を選択します。
- [イベントパターン] で次のオプションを選択します。
[イベントソース] ドロップダウンリストで [AWS サービス] を選択します。
[AWS サービス] ドロップダウンリストで、[Route 53] を選択します。
[イベントタイプ] ドロップダウンリストで [CloudTrail 経由の AWS API コール] を選択します。 - [特定の操作] を選択します。
- [特定の操作] に ChangeResourceRecordSets と入力すると、イベントがリソースレコードセットの作成、削除、または更新のみを照合するように制限されます。
次のイベントパターンを入力します。
{ "source": ["aws.route53"], "detail-type": ["AWS API Call via CloudTrail"], "detail": { "eventSource": ["route53.amazonaws.com"], "eventName": ["ChangeResourceRecordSets"] } }
- [次へ] を選択します。
Amazon SNS のターゲットを EventBridge ルールに関連付ける
次の手順を実行します。
- EventBridge コンソールを開きます。
- [ターゲットタイプ] セクションで [AWS サービス] を選択します。
- [ターゲットの選択] ドロップダウンリストで [SNS トピック] を選択します。
- [トピック] ドロップダウンリストで該当する Amazon SNS トピックを選択します。
入力トランスフォーマーのオプションを設定し、SNS 通知をカスタマイズする
デフォルトでは、EventBridge は CloudTrail イベント全体をターゲットに転送します。次に、Amazon SNS トピックはフォーマットされていない JSON テキストとして通知を配信します。
EventBridge コンソールに入力トランスフォーマーオプションを使用すると、インバウンドイベントのフィールドを指定できます。次に、入力トランスフォーマーはイベントを人間に読みやすいメッセージに変換します。
次のステップでは、入力パスの例には eventTime、hostedZone、username、eventID が含まれます。ユースケースに合わせてフィールドを変更してください。EventBridge は、入力テンプレートのフィールドプレースホルダーを、入力トランスフォーマーで設定したフィールドで自動的に更新します。
Amazon SNS 通知をカスタマイズするには、次の手順を実行します。
-
EventBridge コンソールを開きます。
-
[その他の設定] ドロップダウンリストを展開します。
-
[ターゲットの入力の設定] ドロップダウンリストで [入力トランスフォーマー] を選択します。
-
[入力トランスフォーマーを設定] を選択します。
-
[入力パス] フィールドに次のコードを入力します。
{ "eventTime": "$.detail.eventTime", "hostedZone": "$.detail.requestParameters.hostedZoneId", "userName": "$.detail.userIdentity.sessionContext.sessionIssuer.userName", "eventID": "$.detail.eventID" }
-
[テンプレート] フィールドに次のテキストを入力します。
「At eventTime, one or more Route 53 records within Hosted Zone hostedZone were modified by user userName. (eventTime に、ホストゾーン HostedZone 内の 1 つ以上の Route 53 レコードがユーザー userName によって変更されました)To view the event directly in your Event History and review these changes, use the following link. (下記のリンク先で、イベント履歴でイベントを直接確認し、これらの変更をレビューできます)Note that the event may take up to 15 minutes to be available in your Event History: (イベントがイベント履歴に表示されるまでには、最大15分かかる場合があります) https://console.aws.amazon.com/cloudtrail/home?region=us-east-1#/events?EventId=eventID」
注: userName は、実際のユーザー名に置き換えます。 -
[確認] を選択します。
-
(オプション) EventBridge ルールにタグを追加し、[次へ] を選択します。
-
ルールの設定を確認した後、[ルールを作成] をクリックします。
完了すると、Route 53 リソースセットの変更時に、次のような通知が行われます。
「At 2022-08-16T21:02:46Z, one or more Route 53 records within Hosted Zone ZB3A123456789 were modified by user Admin. (2022-08-16T21:02:46Z に、ホストゾーン ZB3A123456789 内の 1 つ以上の Route 53 レコードがユーザー Admin によって変更されました)To view the event directly in your Event History and review these changes, use the following link. (下記のリンク先で、イベント履歴でイベントを直接確認し、これらの変更をレビューできます)Note that the event may take up to 15 minutes to be available in your Event History: (イベントがイベント履歴に表示されるまでには、最大15分かかる場合があります) https://console.aws.amazon.com/cloudtrail/home?region=us-east-1#/events?EventId=04d08662-537e-4424-97c2-8bc796943b75」
関連情報
EventBridge ルール用のカスタムイベントパターンを作成する方法を教えてください
入力トランスフォーマーを使用して、Amazon SNS 通知を人間が判読できるように EventBridge ルールを作成する方法を教えてください
チュートリアル: 入力トランスフォーマーを使用して EventBridge のイベントを変換する
チュートリアル: CloudTrail 経由の AWS API コールに対応する EventBridge ルールを作成する

関連するコンテンツ
- 質問済み 8年前lg...
- 質問済み 6ヶ月前lg...
- 質問済み 3ヶ月前lg...
- AWS公式更新しました 2年前
- AWS公式更新しました 2年前
- AWS公式更新しました 2年前
- AWS公式更新しました 3年前