Auto Scaling グループへロードバランサーを登録して確認する

2021.03.23

こんにちは、yagiです。

本日は、AutoScalingGroupにロードバランサーを登録して確認する内容について記載します。

AutoScalingGroupにロードバランサーを登録することについて


Auto Scaling グループを Elastic Load Balancing ロードバランサーに登録すると、アプリケーションの負荷分散をセットアップできます。Elastic Load Balancing は Amazon EC2 Auto Scaling と連携して、正常な Amazon EC2 インスタンス間で着信トラフィックを分散します。これにより、アプリケーションのスケーラビリティと可用性が向上します。複数のアベイラビリティーゾーン内で Elastic Load Balancing を有効にして、アプリケーションの耐障害性を向上させることができます。

(公式ドキュメントからの引用)

なおヘルスチェックについてはインスタンスのステータスチェックとELBのヘルスチェックを確認することができます。

参考記事 Tutorial: Set up a scaled and load-balanced application AWS再入門2018 Amazon EC2 Auto Scaling編

設定してみる


上記公式ドキュメントのチュートリアルにしたがって進めていきます。 今回は以下のステップで進めます。

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

>Step 2. 起動設定を作成する

>Step 3. Auto Scaling グループの作成

>Step 4. ロードバランサーが登録されたことを確認する

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


EC2ダッシュボードのテンプレートの起動から、「起動テンプレート」の「起動テンプレートを作成」を押下します。 起動テンプレート名、AMI、インスタンスタイプ、キーペア、セキュリティグループを選択していきます。「起動テンプレートを作成」を押下します。

設定後は以下のような内容となっています。

Step 2. 起動設定を作成する


起動設定から、「起動設定の作成」を押下します。 起動設定名、AMI、インスタンスタイプ、ストレージ、セキュリティグループ、キーペアを選択します。 「起動設定の作成」を押下します。

設定後は以下のような内容となっています。

Step 3. Auto Scaling グループの作成


Auto Scaling グループにて、「Auto Scaling グループを作成する」を押下します。 起動テンプレートまたは起動設定を選択する にて、「名前」と「起動テンプレート」を入力します。 インスタンスの購入オプションで「起動テンプレートに準拠する」を選択し、ネットワークでVPCとサブネットを選択します。(サブネットは可用性のため複数選択します)

詳細オプションを設定 にて、ロードバランシングの「新しいロードバランサーにアタッチ」を選択します。新しいロードバランサーにアタッチ にて、ロードバランサーのタイプ「ApplicationLoadBalancer」を選択し、 スキームは「Internet-facing」を選択します。「ターゲットグループを作成する」を選択します。

そのほかはデフォルトの入力内容としています。

グループサイズとスケーリングポリシーを入力します。最後の確認画面で設定内容を確認し、「Auto Scaling グループを作成」します。

設定後は以下のような内容となっています。

Step 4. ロードバランサーが登録されたことを確認する


AutoScalingグループのインスタンス管理タブより、希望する容量で指定した2つのインスタンスが起動されていることを確認します。

次に、ターゲットグループのターゲットタブより、インスタンスのステータスが「healthy」になっていることを確認します。 これで、AutoScalingGroupにロードバランサーが登録され、ヘルスチェックで「healthy」になっていることが確認できました。

結論


AutoScalingGroupにロードバランサーをアタッチして、確認するまでを実施しました。 Auto Scaling グループを Elastic Load Balancing ロードバランサーに登録することで、アプリケーションの負荷分散ができ、アプリケーションのスケーラビリティと可用性が向上します。

なお、上記の手順において、ELBの稼働確認用に、AMIには事前にApacheインストール済みで稼働確認用のvar/www/html/index.htmlを配置したものを使用しています。