読者です 読者をやめる 読者になる 読者になる

うさがにっき

読書感想文とプログラムのこと書いてきます

Auto Scalingによる自動スケーリングシステムの構築

AWS

概要

リソース仕様の増減が大きいシステムをEC2サービスを用いて構築する場合、Auto Scalingを使用することでリソースの使用状況に応じてサーバを増減し、リクエストの量に適したサーバリソースを自動的に用意することができる
ここではAuto Scalingの基本的な設定方法をまとめる

詳細

まずは起動設定を設定する

トップメニューからEC2 > Auto Scalingの起動設定をクリック
f:id:tiro105:20150728225828p:plain

EC2に使用するAMIを選択する
自分で保存したAMIでも良いし、ここでOSを選ぶこともできる
今回はここでOSを選択し、スペックなどを設定
※AMIについては以下記事参照
サーバのバックアップ(SnapShot) - うさがにっき
f:id:tiro105:20150728230011p:plain
f:id:tiro105:20150728230216p:plain

起動設定の名前を設定
f:id:tiro105:20150728230348p:plain

ストレージの設定
f:id:tiro105:20150728230427p:plain

セキュリティグループの設定
f:id:tiro105:20150728230500p:plain

確認
f:id:tiro105:20150728230531p:plain

起動設定完了
f:id:tiro105:20150728230623p:plain

次にAuto Scalingのグループを作り実際に稼働させる
EC2 > Auto ScalingからAuto Scalingグループをクリック
Auto Scalingグループの設定をしていく
起動設定、グループ名、グループサイズ(インスタンス数)の定義、ネットワーク(VPC)の選択、サブネットの設定
f:id:tiro105:20150728230915p:plain

アラームの設定
アラームメールを投げたり、インスタンスを増減するタイミングとなる閾値を設定
f:id:tiro105:20150728231412p:plain

CPU稼働率が70パーセントを超えた時アラームメールを投げる
f:id:tiro105:20150728231554p:plain

前述のアラームが発生した時のインスタンスの増減を定義
f:id:tiro105:20150728231829p:plain

起動、終了などのイベントメールを受け取るメールアドレスを登録
f:id:tiro105:20150728231934p:plain

色々タグも設定できる
f:id:tiro105:20150728231958p:plain

Auto Scaling グループが作成された
f:id:tiro105:20150728232051p:plain
閾値なども反映されている
f:id:tiro105:20150728232125p:plain

これで閾値に応じて、起動設定したAMIが起動される
だが、このままでは色々まだ問題がある
閾値を下回りEC2インスタンスが終了した時に、キャッシュをどうするか?
・新たにアプリをリリースする時に自動起動されるAMIをどうするのか?
などなど
ここらへんは次回解決策をまとめる

参考

Amazon Web Services パターン別構築・運用ガイド

Amazon Web Services パターン別構築・運用ガイド