0

インスタンスの終了時にEC2インスタンスの名前(InstanceIDではなく)をSNSに送信するCloudwatch Ruleを作成しようとしています。以下のスニペットは、この単純なルールを作成するときにAWSが提供したデフォルトのイベントパターンですが、「詳細タイプ」オブジェクトに1つのセクションを追加しました。このセクションは「インスタンス名」です。私が受け取ったSNSメールにはまだインスタンスの名前が含まれていないので、これはうまくいかなかった。メッセージ内にはInstanceIDのみが含まれていました。AWS Cloudwatchを使用してインスタンス名のメタデータ(タグから)をSNSに送信する方法

{ 
    "source": [ 
    "aws.ec2" 
    ], 
    "detail-type": [ 
    "Instance Name", 
    "EC2 Instance State-change Notification" 
    ] 
} 

これまでのところ、私はCloudwatch RuleからInstanceIDを取得するだけで成功しました。タグからのカスタムメタデータはCloudwatch経由で取得できますか?

クラウドウォッチでは不可能な場合は、LambdaにSNSトピックを送信し、Lambda関数を使用してinstanceIDをインスタンス名に変換することは可能でしょうか?

私のプロジェクトの全体的なポイントは、Lambdaを使用して、これらのインスタンスが終了した後に監視アプリケーションからこれらのインスタンスを削除するスクリプトを実行できるようにすることです。 AWSの外部では、名前を使用してインスタンスIDを識別します。

答えて

2

CloudWatchにSNSへの詳細情報を送信することはできません。ラムダ関数をSNSトピックに登録する必要があります。ラムダ関数の内部では、CloudWatchメッセージのインスタンスIDを使用してAWS API呼び出しを行い、インスタンスのタグを取得する必要があります。

関連する問題