ENGINEER BLOG ENGINEER BLOG
  • 公開日
  • 最終更新日

【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)がある場合は、本手順は不要

  1. AWSマネジメントコンソールにログインして、右上のリージョン選択箇所にて[東京]リージョンを選択する
    aws<em>region</em>tokyo

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

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

  4. 以降の手順は、ALB構築記事から、こちらの手順を参考に作成する

2. 起動テンプレートの作成

  1. 左のナビゲーションペインから[起動テンプレート]をクリックする
    autoscaling_04

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

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

      autoscaling</em>07

      autoscaling<em>08</em>02

      autoscaling_09

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

3. Auto Scaling グループの作成

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

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

      autoscaling</em>13

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

      autoscaling</em>15

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

      autoscaling</em>17

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

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

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

    autoscaling</em>21

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

4. 接続確認

  1. Auto Scaling グループのEC2 にアクセスできること確認するために、元々ALB に紐づいていたEC2 を停止する
    autoscaling<em>23</em>02

  2. ロードバランサーの管理画面に移動し、ロードバランサーのDNS名をコピーする
    autoscaling<em>24</em>03

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

    autoscaling_25

5. Auto Scaling の動作の確認

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

  2. 「SSMセッションマネージャー」を選択し、[接続]をクリックする
    autoscaling<em>27</em>02

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

    autoscaling_28

  4. インスタンスの管理画面に移動し、Auto Scaling によってEC2 が自動追加されていることを確認する
    autoscaling<em>29</em>02

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

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

    autoscaling</em>32

6. Auto Scaling の動作の停止

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

      autoscaling_34

  2. インスタンスの管理画面に移動し、EC2 が自動終了していることを確認する
    autoscaling<em>35</em>02

まとめ

今回は、Auto Scaling の基本的な設定方法と実際の挙動を確認しました。
今回のハンズオンを通してAuto Scaling の基本的な設定方法を押さえることで、
負荷変動に強く、コスト効率の高いアーキテクチャを検討できるようになるかと思います。
実際の環境では、EC2 で稼働しているアプリケーションに問題ないかの検証や、チューニングも必要になるので、
それらも念頭に置いておくと、なお良いかと思います。

この記事は私が書きました

めんらい

記事一覧

め の人です
AWSを日々勉強中です
フロリダ旅行を目指して頑張っています

めんらい

この記事を共有する

クラウドのご相談

CONTACT

クラウド導入や運用でお悩みの方は、お気軽にご相談ください。
専門家がサポートします。

サービス資料ダウンロード

DOWNLOAD

ビジネスをクラウドで加速させる準備はできていますか?
今すぐサービス資料をダウンロードして、詳細をご確認ください。