AWSは最近、Amazon CloudWatchアラームが状態変化に対するアクションとしてAWS Lambda関数をサポートするようになったと発表した。この新機能により、開発者は不健全なリソースを検出した際の改善アクションを自動化できるようになる。
アラームの状態変化に対するカスタムアクションを自動化する、最も簡単な方法として設計されたこの新しいオプションは、CloudWatchアラームがOK、ALARM、またはINSUFFICIENT_DATA状態に変化したときに、開発者がLambda関数を直接呼び出すことを可能にする。
PutMetricAlarmは、Lambda関数の最新バージョン(arn:aws:lambda:region:account-id:function:function-name)、関数の特定バージョン(arn:aws:lambda:region:account-id:function:function-name:version-number)、またはエイリアス(arn:aws:lambda:region:account-id:function:function-name:alias-name)の呼び出しをサポートするようになった。ドキュメントによると、Lambda関数がアラームアクションとして設定されている場合、CloudWatchはLambda関数を呼び出す際に、alarmData、previousState、およびconfiguration情報を含むJSONペイロードをLambda関数に配信する。
Lambda関数を呼び出すことだけがCloudWatch Alarmsで利用できる唯一のオプションではない。SNSトピックにメッセージを送信して1人以上の人やサービスに通知することは、依然として最も人気のある選択肢だ。さらに、アラームはAuto Scalingグループをスケールするアクションを実行でき、EC2メトリクスに基づくアラームはインスタンスの停止、終了、再起動、リカバリなどのEC2アクションを実行できる。最後に、アラームがALARM状態になると、Systems Manager Ops Centerで運用ワークアイテムを作成したり、Systems Manager Incident Managerでインシデントを作成できる。
クラウド・プロバイダーは、この新しいオプションを既存のオプションと組み合わせる能力を強調している。
アラームに複数のアクションが許可されていることを利用して、しきい値が突破されたときに電子メールを送信し、突破条件が終了したときに別のアクションを送信ができる。これは、スケーリングやリカバリーのアクションが予想されたときにトリガーされ、希望通りに動作していることを確認するのに役立つ。
コミュニティの反応は圧倒的にポジティブで、PostNLのプリンシパル・エンジニアであるLuc van Donkesgoed氏はこう書いている。
もう一つ、長い間(9年間も)待ち望まれていた機能がここにある:CloudWatchアラームがLambdaファンクションを直接呼び出せるようになりました!
Nordeaのプリンシパル・クラウド・エンジニア兼アーキテクトであるAntonio Lagrotteria氏は、これを "人々が10年近く待ち望んでいた、reinvent後の発表のトップ3 "の1つであり、reinventの発表のほとんどを影で支えているはずだと述べている。 Redditのスレッドでは、ユーザーのyourparadigmが、この変更は重要ではないとし、Lambda関数を間接的にトリガーにすることはすでに可能だったと強調している。
SNS Topicを前面に出すことは、それほど大きなことなのでしょうか?
別の発表で、クラウド・プロバイダーはCloudWatch Network Monitorが一般利用可能になったことを明らかにした。この新機能は、AWSとオンプレミス環境間のネットワークの可用性とパフォーマンスの監視を容易にし、AWS Direct ConnectとAWS Site-to-Site VPNで構築されたネットワークのハイブリッドモニターをサポートする。
LambdaアクションのCloudWatch Alarmsサポートはすべてのリージョンで利用可能で、Cloudwatchの標準価格が適用される。