Amazon EC2 AutoScalingからEC2インスタンスを起動しスケーリングの状況を確認する

2021.03.10

こんにちは、yagiです。

本日は、「Amazon EC2 AutoScalingからEC2インスタンスを起動しスケーリングの状況を確認する」内容について記載します。

AutoScalingとは?


Amazon EC2 Auto Scalingは、アプリケーションの負荷を処理するために使用できるAmazonEC2インスタンスの正しい数を確保するのに役立ちます。AutoScalingグループと呼ばれるEC2インスタンスのコレクションを作成します。各AutoScalingグループでインスタンスの最小数を指定できます。AmazonEC2AutoScalingは、グループがこのサイズを下回らないようにします。各AutoScalingグループでインスタンスの最大数を指定できます。

AmazonEC2AutoScalingは、グループがこのサイズを超えないようにします。グループの作成時またはその後の任意の時点で必要な容量を指定すると、Amazon EC2 Auto Scalingにより、グループにこれだけ多くのインスタンスが含まれるようになります。スケーリングポリシーを指定する場合、たとえば、次のAuto Scalingグループの最小サイズは1インスタンス、必要な容量は2インスタンス、最大サイズは4インスタンスです。定義するスケーリングポリシーは、指定した基準に基づいて、インスタンスの最小数と最大数の範囲内でインスタンスの数を調整します。

上記説明にもある通り、予め定義した範囲内で基準に基づいて数を調整するので、インスタンスの起動数を勝手に増やしすぎたり減らしすぎたりすることもありません。安心して利用できます。

チュートリアルにしたがって設定してみる


Amazon EC2 AutoScalingの使用を開始する

上記公式サイトのチュートリアルにしたがって進めていきます。 以下のステップで進めます。

>ステップ1:起動テンプレートを作成する

>ステップ2:AutoScalingグループを作成する

>ステップ3:AutoScalingグループを確認する

ステップ1:起動テンプレートを作成する


AWSコンソールでEC2に移動し、インスタンスを起動したいリージョンを選択して、「インスタンス」の「テンプレートの起動」を押下します。

「起動テンプレートを作成」を押下します。

起動テンプレート名を入力します。

AMI、インスタンスタイプ、キーペア(SSH接続しなければ不要)を指定します。

ネットワーク設定で「VPC」を選択し、セキュリティーグループはデフォルトを設定、ストレージは初期入力のままとします。

「起動テンプレートを作成」を押下します。正常に作成された表示を確認して、「起動テンプレートを表示」を押下します。

ステップ2:AutoScalingグループを作成する

起動テンプレートの一覧から作成したテンプレートを選択し、「アクション」から「AutoScaling グループを作成」を押下します。

「Auto Scaling グループ名」を入力します。

「起動テンプレート」を選択し、「バージョン」とその他設定項目を確認して、「次へ」を押下します。

インスタンスの購入オプションは「起動テンプレートに準拠する」を選択します。

ネットワークでVPCとサブネットを選択します。高可用性を担保したいので、複数サブネットを選択することにします。 「次へ」を押下します。

今回ロードバランサーは省略しますが、ここで設定もできます。ヘルスチェックはデフォルト300秒です。(今回は確認を急ぐため、設定後編集して3秒に変更しています。)

グループサイズとスケーリングポリシーを入力します。以下のように入力しました。インスタンスのスケールイン保護について、有効にしたい場合は、「インスタンスのスケールイン保護」にチェックを入れます。(今回はなし)

なおターゲット追跡スケーリングポリシーについては以下の公式ドキュメントをご参照ください。

Amazon EC2 Auto Scalingのターゲット追跡スケーリングポリシー

確認画面まで遷移し、「Auto Scaling グループを作成」を押下して作成します。

以下のように作成されたことを確認します。

ステップ3:AutoScalingグループを確認する

Auto Scaling グループ の一覧から作成したAuto Scaling グループの横にあるチェックボックスをオンにして確認していきます。

「詳細」タブより設定内容の詳細を確認できます。

「アクティビティ」からアクティビティ履歴で進行状況を確認できます。

「インスタンス」より起動した4つのインスタンスが確認できます。

再度時間を置いてアクティビティ履歴を確認すると、「ターゲット追跡スケーリング」よりインスタンスが4→2に減らされていることが確認できます。

「インスタンス」より確認すると、起動しているインスタンスが2つになっていることを確認できます。

結論


Amazon EC2 AutoScalingからEC2インスタンスを起動しスケーリングの状況を確認するまでを実施しました。 大変基礎的な内容となっておりますが、どなたかのお役に立てれば嬉しく思います。

参考リンク


Amazon EC2 Auto Scaling

追記


今回設定した起動テンプレートとAuto Scalingグループを残しつつ、起動したインスタンスを終了し新たに起動しない状態としておくには、「グループの詳細」から、「編集」を押下し、最小と最大のキャパシティをそれぞれ0にして保存します。

アクティビティ履歴から現在起動しているインスタンスの終了を確認します。

「インスタンス」より起動されているインスタンスがないことを確認します。