- 公開日
- 最終更新日
【EC2 Auto Scaling】Auto Scaling の設定方法
この記事を共有する
目次
はじめに
パーソル&サーバーワークスの めんらい です。
今回はAWSをこれから触るor触り始めの方向けに、Amazon EC2 Auto Scaling(以下、Auto Scaling)の設定方法を書いていこうと思います。
また、実際にEC2 に負荷をかけて、Auto Scaling によって追加のEC2 が自動起動するかを確認します。
※ALB構築記事の続きからを意識して書いています。
本記事の目的
- Auto Scaling の基本的な設定方法を知る
- Auto Scaling 設定時の基本的な挙動を知る
前提
- AWSマネジメントコンソールへのログインができること
- 東京リージョンを利用
- Amazon VPC(以下、VPC)構築済み(VPCはこちらの記事の構成)
- Amazon EC2(以下、EC2)構築済み(EC2はこちらの記事の構成)
- Application Load Balancer(以下、ALB)構築済み(ALBはこちらの記事の構成)
Auto Scaling とは?
- トラフィック量や負荷に応じて、EC2インスタンス数を自動的に増減させる機能
- スケーリングポリシーを利用して、条件に応じたスケーリングが可能
ハンズオン
1. Amazon Machine Image の作成
※既にAmazon Machine Image(以下、AMI)がある場合は、本手順は不要
- AWSマネジメントコンソールにログインして、右上のリージョン選択箇所にて[東京]リージョンを選択する

- 左上の検索バーにて[EC2]を検索して開く

- 左のナビゲーションペインから[インスタンス]をクリックする

- 以降の手順は、ALB構築記事から、こちらの手順を参考に作成する
2. 起動テンプレートの作成
- 左のナビゲーションペインから[起動テンプレート]をクリックする

- [起動テンプレートの作成]をクリックする

- 以下設定を入力し、[起動テンプレートを作成]をクリックする
- ・起動テンプレート名:<名前>-yyyymmdd-lt(以下例の場合、menrai-20260903-lt)
- ・イメージの説明:<名前>-yyyymmdd-lt(以下例の場合、menrai-20260903-lt)
- ・EC2 Auto Scaling で使用できるテンプレートをセットアップする際に役立つガイダンスを提供:※チェックを入れる
- ・自分のAMI:<「1. Amazon Machine Image の作成」で作成したAMI>
- ・セキュリティグループ:< EC2で利用しているセキュリティグループ >
- ・IAMインスタンスプロフィール:< EC2で利用しているIAMロール >




- 起動テンプレートが正常に作成されたら、次のステップの [Auto Scalingグループを作成] をクリックする

3. Auto Scaling グループの作成
- 以下設定を入力し、[次へ]をクリックする
- ・Auto Scaling グループ名:<名前>-yyyymmdd-as(以下例の場合、menrai-20260903-as)
- ・起動テンプレート:< 作成した起動テンプレート >

- 以下設定を入力し、[次へ]をクリックする
- ・VPC:< 作成したVPC >
- ・アベイラビリティゾーンとサブネット:< 作成したprotectedサブネット >


- 以下設定を入力し、[次へ]をクリックする
- ・ロードバランシングオプションを選択:既存のロードバランサーにアタッチする
- ・既存のロードバランサーターゲットグループ:< 作成したALBのターゲットグループ >
- ・追加のヘルスチェックタイプ:Elastic Load Balancing のヘルスチェックをオンにする


- 以下設定を入力し、[次へ]をクリックする
- ・希望するキャパシティ:2
- ・最小の希望する容量:2
- ・最大の希望する容量:4
- ・ターゲットの追跡ポリシーを使用するかどうかを選択する:ターゲット追跡スケーリングポリシー
- ・モニタリング:※チェックを入れる


- 以下設定を入力し、[次へ]をクリックする
- ・キー:Name
- ・値:<名前>-yyyymmdd-as(以下例の場合、menrai-20260903-as)

- 設定内容を確認し、問題なければ[Auto Scaling グループを作成する]をクリックする

- 作成したAuto Scaling グループのステータスが「希望するキャパシティ」になることを確認する


- インスタンスの管理画面に移動し、Auto Scaling によって作成されたEC2(<名前>-yyyymmdd-as)が起動していることを確認する

4. 接続確認
- Auto Scaling グループのEC2 にアクセスできること確認するために、元々ALB に紐づいていたEC2 を停止する

- ロードバランサーの管理画面に移動し、ロードバランサーのDNS名をコピーする

- ブラウザを開き、ALBのDNS名にアクセスし、サイトが表示されることを確認する
http://< ALBのDNS名 >

5. Auto Scaling の動作の確認
- インスタンスの管理画面に移動し、Auto Scaling によって作成されたEC2(<名前>-yyyymmdd-as)を選択した上で、[接続]をクリックする

- 「SSMセッションマネージャー」を選択し、[接続]をクリックする

- 以下のコマンドを実行し、EC2 に負荷をかける(もう片系も同様に負荷をかける)
sudo su - ec2-user
yes > /dev/null

- インスタンスの管理画面に移動し、Auto Scaling によってEC2 が自動追加されていることを確認する

- SSMマネージャーの画面に移動し、[Ctrl]+[C]キーで実行しているコマンドを停止させる

- ※Auto Scaling の動作が確認できない場合は、Auto Scaling の管理画面の「オートスケーリング」から、ターゲットの値を小さくしてみてください


6. Auto Scaling の動作の停止
- Auto Scalingの設定は残しておきたいが、EC2 は稼働しておきたくない(料金発生をおさえたい)場合は、[詳細]タブで以下の値を0にする
- ・希望するキャパシティ:0
- ・最小の希望する容量:0


- インスタンスの管理画面に移動し、EC2 が自動終了していることを確認する

まとめ
今回は、Auto Scaling の基本的な設定方法と実際の挙動を確認しました。
今回のハンズオンを通してAuto Scaling の基本的な設定方法を押さえることで、
負荷変動に強く、コスト効率の高いアーキテクチャを検討できるようになるかと思います。
実際の環境では、EC2 で稼働しているアプリケーションに問題ないかの検証や、チューニングも必要になるので、
それらも念頭に置いておくと、なお良いかと思います。
この記事は私が書きました
めんらい
記事一覧め の人です
AWSを日々勉強中です
フロリダ旅行を目指して頑張っています