Amazon SNSとAuto Scalingを組み合わせる

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

どこでAuto ScalingにSNSが必要になるのか

Auto Scalingはインスタンスの状態が変更された際にAmazon SNSへ通知メッセージを渡すことができます。インスタンスが起動したか、終了したか知るのに大変便利な機能です。

Auto Scalingの通知タイプ一覧

通知タイプには、起動、起動エラー、終了、終了エラー、テストの5種類があります。

$ as-describe-auto-scaling-notification-types --region ap-northeast-1
NOTIFICATION-TYPE  autoscaling:EC2_INSTANCE_LAUNCH
NOTIFICATION-TYPE  autoscaling:EC2_INSTANCE_LAUNCH_ERROR
NOTIFICATION-TYPE  autoscaling:EC2_INSTANCE_TERMINATE
NOTIFICATION-TYPE  autoscaling:EC2_INSTANCE_TERMINATE_ERROR
NOTIFICATION-TYPE  autoscaling:TEST_NOTIFICATION

テスト通知を送ってみる

それでは、前回作成したAmazon SNSトピックへテスト通知を送ってみます。Auto Scalingグループはmygroup3として登録されているものとします。

$ as-put-notification-configuration mygroup3 --notification-types autoscaling:TEST_NOTIFICATION \
  --topic-arn arn:aws:sns:ap-northeast-1:771293814336:mytopic1 --region ap-northeast-1
OK-Put Notification Configuration

トピック結果を確認する

登録したメールアドレスにテストメッセージが届いています。無事にメッセージが届いたようです。

AWS Notifications no-reply@sns.amazonaws.com bounces.amazon.com
Service: AWS Auto Scaling
Time: 2011-08-29T16:52:10.684Z
RequestId: 3ce5e4d4-d25f-11e0-bb88-138666190d86
Event: autoscaling:TEST_NOTIFICATION
AccountId: XXXXXXXXXXXX
AutoScalingGroupName: mygroup3
AutoScalingGroupARN: arn:aws:autoscaling:ap-northeast-1:771293814336:autoScalingGroup:83ca4866-df95-4e77-8caa-99536ec689b0:autoScalingGroupName/mygroup3

まとめ

Auto Scalingによってインスタンスが正常に起動と終了したかAmazon SNSによる通知サービスで状況をリアルタイムに確認することができました。これで、運用の自動化とクラウドからの通知によって安心してサービス運営ができますね!