AWS Auto Scalingは、必要に応じてリソースを自動的に増減してくれるサービスです。
EC2を利用したスケーラブルなアーキテクチャにはほぼ必須と言っても良いと思います。
目的
- EC2にAWS Auto Scalingグループを適用する
- スケーリングポリシーによってEC2を起動させる
本題
前提
EC2インスタンスが作成されていること
起動設定の作成
EC2インスタンスを選択し、アクション→インスタンスの設定→Auto Scaling グループにアタッチするを選択
新規のAuto Scalingグループを選択し、起動設定名(任意の)を入力
アタッチを押下します。
作成完了ウィンドウが表示され、作成した起動設定名のリンクを押下するとAutoScalingのコンソールへ遷移します。
Auto Scalingグループの設定
先ほど作成した起動設定を選択し、「Auto Scalingグループの作成」を押下します。
作成画面が表示されたら、起動設定を選択し、先ほど作成した起動設定名をチェックして次へ進みます。
Auto Scalingグループの設定を入力していきます。
グループ名:Auto Scaling Group
グループサイズ:2
ネットワーク系の設定は環境に合わせて設定してください。
スケーリングポリシーの設定
「スケーリングポリシーを使用して、このグループのキャパシティを調整する」を選択します。
スケールグループサイズ欄が表示されるので「ステップスケーリングポリシーまたは簡易スケーリングポリシーを使用した Auto Scaling グループのスケーリング」を押下します。
グループサイズの増加
新しいアラームの追加を押下します。
通知の送信先チェックを外します。
アラーム名:awsec2-Auto-Scaling-Group-High-CPU-
状況:>=80パーセント
他はデフォルト設定で大丈夫です。
グループサイズの減少
新しいアラームの追加を押下します。
通知の送信先チェックを外します。
アラーム名:awsec2-Auto-Scaling-Group-Low-CPU-
状況:<=80パーセント
他はデフォルト設定で大丈夫です。
最後にスケーリングポリシーを確認して作成します。
動作確認
コンソールのEC2インスタンス一覧を確認するとオートスケーリングによってインスタンスが2つ新規作成されていることがわかります。
インスタンスをどれか一つ停止してみましょう。
インスタンスを選択し、アクション→インスタンスの状態→停止を押下します。
インスタンスが停止され、しばらく待つとスケーリングポリシーに基づいて停止されたインスタンスが削除され、新規にインスタンスが起動します。