Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスにセキュリティグループを設定しました。セキュリティグループの変更を監視するために、Amazon EventBridge と Amazon Simple Notification Service (Amazon SNS) を使用したいです。
簡単な説明
セキュリティグループの変更を監視するには、EventBridge ルールを作成し、アプリケーションがセキュリティグループを変更するために API コールを行う際に、このルールを実行します。次に、ルールに一致するイベントに関する Amazon SNS 通知を設定します。
解決策
前提条件 API コールの記録用に AWS CloudTrail 証跡を作成します。
SNS トピックを作成してサブスクライブする
SNS トピックを作成します。次に、トピックにサブスクライブし、[プロトコル] に [メール] を選択します。Amazon SNS からサブスクリプションの確認メールが送信されます。
EventBridge ルールを作成する
EventBridge ルールを設定し、次の手順を実行してルールパターンを設定します。
-
[サービスごとの事前定義パターン] を選択します。
-
[サービスプロバイダー] で [AWS] を選択します。
-
[サービス名] で [EC2] を選択します。
-
[イベントタイプ] で [CloudTrail 経由の AWS API コール] を選択します。
-
[特定の操作] を選択し、次の API コールを 1 つずつ入力します。
AuthorizeSecurityGroupIngressAuthorizeSecurityGroupEgress
RevokeSecurityGroupIngress
RevokeSecurityGroupEgress
注: 各 API コールを入力した後、[追加] を選択します。これらの API コールにより、セキュリティグループのルールが追加、削除されます。
上記の設定では、次のイベントパターンが作成されます。
{ "source": [
"aws.ec2"
],
"detail-type": [
"AWS API Call via CloudTrail"
],
"detail": {
"eventSource": [
"ec2.amazonaws.com"
],
"eventName": [
"AuthorizeSecurityGroupIngress",
"AuthorizeSecurityGroupEgress",
"RevokeSecurityGroupIngress",
"RevokeSecurityGroupEgress"
]
}
}
-
[ターゲットの選択] で、[ターゲット] リストから [SNS トピック] を選択します。
-
[トピック] に作成したトピックを入力します。
-
(オプション) デフォルトでは、[入力の設定] の [一致イベント] では [一致イベント] が選択されています。この設定では、イベントの JSON 出力全体を SNS トピックに渡します。イベント情報を絞り込むには、[入力トランスフォーマー] を選択します。[入力トランスフォーマー] を使用すると、イベントのテキストをカスタマイズし、読みやすいメッセージを作成できます。たとえば、[入力パス] で次のキーと値のペアを使用します。
{"name":"$.detail.requestParameters.groupId","source":"$.detail.eventName","time":"$.time","value":"$.detail"}
[入力テンプレート] にメッセージで表示するテキストと変数を入力します。
入力テンプレートの例
"A source API call was made against the security group name on time with the below details"" value "
-
[作成] を選択します。