Amazon SNSとAuto Scalingを組み合わせる
どこで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による通知サービスで状況をリアルタイムに確認することができました。これで、運用の自動化とクラウドからの通知によって安心してサービス運営ができますね!