HAPPY HACKING Oouchi's BLOG

PSE(ポンコツエンジニア)の技術ブログ

EC2にAuto Scalingを設定する

AWS Auto Scalingは、必要に応じてリソースを自動的に増減してくれるサービスです。
EC2を利用したスケーラブルなアーキテクチャにはほぼ必須と言っても良いと思います。

目的

  • EC2にAWS Auto Scalingグループを適用する
  • スケーリングポリシーによってEC2を起動させる

本題

前提

EC2インスタンスが作成されていること

起動設定の作成

EC2インスタンスを選択し、アクション→インスタンスの設定→Auto Scaling グループにアタッチするを選択
f:id:ooooouchi:20200517135152p:plain

新規のAuto Scalingグループを選択し、起動設定名(任意の)を入力
アタッチを押下します。

f:id:ooooouchi:20200517135158p:plain

作成完了ウィンドウが表示され、作成した起動設定名のリンクを押下するとAutoScalingのコンソールへ遷移します。

f:id:ooooouchi:20200517135202p:plain

Auto Scalingグループの設定

先ほど作成した起動設定を選択し、「Auto Scalingグループの作成」を押下します。
作成画面が表示されたら、起動設定を選択し、先ほど作成した起動設定名をチェックして次へ進みます。
Auto Scalingグループの設定を入力していきます。

グループ名:Auto Scaling Group
グループサイズ:2

ネットワーク系の設定は環境に合わせて設定してください。

f:id:ooooouchi:20200517135206p:plain

スケーリングポリシーの設定

「スケーリングポリシーを使用して、このグループのキャパシティを調整する」を選択します。

スケールグループサイズ欄が表示されるので「ステップスケーリングポリシーまたは簡易スケーリングポリシーを使用した Auto Scaling グループのスケーリング」を押下します。

グループサイズの増加

新しいアラームの追加を押下します。
通知の送信先チェックを外します。

アラーム名:awsec2-Auto-Scaling-Group-High-CPU-
状況:>=80パーセント

他はデフォルト設定で大丈夫です。

f:id:ooooouchi:20200517135215p:plain

グループサイズの減少

新しいアラームの追加を押下します。
通知の送信先チェックを外します。

アラーム名:awsec2-Auto-Scaling-Group-Low-CPU-
状況:<=80パーセント

他はデフォルト設定で大丈夫です。

最後にスケーリングポリシーを確認して作成します。

f:id:ooooouchi:20200517135219p:plain

動作確認

コンソールのEC2インスタンス一覧を確認するとオートスケーリングによってインスタンスが2つ新規作成されていることがわかります。

f:id:ooooouchi:20200517135224p:plain

インスタンスをどれか一つ停止してみましょう。

インスタンスを選択し、アクション→インスタンスの状態→停止を押下します。

インスタンスが停止され、しばらく待つとスケーリングポリシーに基づいて停止されたインスタンスが削除され、新規にインスタンスが起動します。

f:id:ooooouchi:20200517135228p:plain