[初心者向け]EC2 Auto Scaling グループを作成する

2020.11.30

こんにちは。コンサル部のYui(@MayForBlue)です。

今回は、EC2のAuto Scaling グループを作成する方法をご紹介します。

Auto Scaling とは

Amazon EC2 Auto Scaling によって、アプリケーションの負荷を処理するために適切な数の Amazon EC2 インスタンスを利用できるように準備することができます。Auto Scaling グループと呼ばれる EC2 インスタンスの集合を作成します。各 Auto Scaling グループ内のインスタンスの最小数を指定することができ、Amazon EC2 Auto Scaling のグループはこのサイズよりも小さくなることはありません。各 Auto Scaling グループ内のインスタンスの最大数を指定することができ、Amazon EC2 Auto Scaling のグループはこのサイズよりも大きくなることはありません。グループの作成時、またはそれ以降の任意の時点で、希望する容量を指定した場合、Amazon EC2 Auto Scaling によって、グループのインスタンス数はこの数に設定されます。スケーリングポリシーを指定する場合、Amazon EC2 Auto Scaling でアプリケーションに対する需要の増減に応じて、インスタンスを起動または終了できます。

Amazon EC2 Auto Scaling とは何ですか?

Auto Scaling を利用することで、希望するインスタンス台数を常に維持することができます。
また、スケーリングポリシーを設定すると、アプリケーションの利用状況によってインスタンス数を増減することができ、コストと可用性の向上に効果的です。

Auto Scaling の機能やユースケースなどは下記のブログで詳しく紹介されているので、ご覧いただければと思います。

手順

手順は大きく分けて以下となります。

  1. 起動テンプレートを作成する
  2. Auto Scaling グループを作成する

前提

  • 以下を作成済みであること
    • 起動テンプレートで使用するAMI
    • EC2を配置するVPC、サブネット

1. 起動テンプレートを作成する

まずは、Auto Scaling でインスタンスを作成する際の設定をまとめた「起動テンプレート」を作成します。

EC2のマネジメントコンソールの左側メニューの「起動テンプレート」を選択し、右側の「起動テンプレートを作成」をクリックします。

起動テンプレートの作成画面でテンプレート名、起動元のAMI、インスタンスタイプなどを設定し、「作成」をクリックします。

テンプレートを作成すると、起動テンプレートの一覧画面から詳細を確認できます。

2. Auto Scaling グループを作成する

作成した起動テンプレートからAuto Scaling グループを作成します。

EC2のマネジメントコンソールの左側メニューの「Auto Scaling グループ」を選択し、右側の「Auto Scaling グループを作成」をクリックします。

Auto Scaling グループ名を入力、起動テンプレートを選択して「次へ」をクリックします。

「設定の構成」でEC2を配置するVPC、サブネットを選択します。

グループサイズ(希望する容量、最小キャパシティ、最大キャパシティ)、スケーリングポリシーを設定して「次へ」をクリックします。

任意でAuto Scalingの状態変化の通知を設定できます。
必要に応じて設定を行い「次へ」をクリックします。

内容を確認して問題なければ「作成」をクリックします。

テストしてみる

EC2のインスタンス一覧画面でAutoScalingグループでフィルターをかけられるので、先ほど作成したグループでフィルターをかけてインスタンスを確認します。
1台のインスタンスが起動していることが確認できました。

AutoScalingグループが実際に動作していることを確認するため、今回は手動でインスタンスを終了し、新しいインスタンスが起動されることを確認してみます。
グループのインスタンスを選択し、右側の「インスタンスの状態」から、「インスタンスを終了」をクリックします。

インスタンスを終了してしばらくすると、新しいインスタンスが作成、起動していることが確認できました。

また、通知を設定したメールアドレス宛に「termination」「launch」の通知が送られていることも確認できました。

さいごに

EC2のAuto Scaling グループを作成する方法をご紹介しました。
この記事がどなたかのお役に立てば幸いです。

以上、コンサル部の(@MayForBlue)でした!

参考リンク

Auto Scaling を設定する中で登場する「希望する容量」について疑問に思われた方もいらっしゃるのではないでしょうか?
「希望する容量」(Desired Capacity)の動作について、下記のブログで詳しく解説されていますので、こちらもご一読いただければと思います。