ALBのターゲットにEC2 Auto Scaling Groupを設定する方法で迷った時に読む記事
はじめに
初歩的なことですが、ALBのターゲットにEC2 Auto Sacling Group(以下ASG)を設定する際、
毎回どこからやるんだっけ?ということを数分考える or マネジメントコンソールから確認する。という時間が発生するので、備忘録として書き残します。
みなさんはALBのターゲットにASGを設定する際、こんなことを考えることはありませんか?
ALB側で登録するんだっけ?
ASG側で登録するんだっけ?
ASGで起動したEC2をELBのターゲットグループに登録すればいいんだっけ?
私はあります。
先に結論
ALBのターゲットにASGを登録する場合、ASGのロードバランサーターゲットグループという項目を設定します。
つまりASG側で設定します。
コンソール画面だとココです。
やってみた
ALBで登録しようとしてみる
以下の条件で、ターゲットグループのターゲットにASGが選択できるか確認します。
- ASG作成済み
- ASG側でのロードバランサーとの紐付け設定は未設定
- ASGによりEC2を2台起動
ターゲットグループの画面でターゲットを登録しようとすると、そもそもASGを選択する。ということができません。
コンソール画面で確認しても、どこにもそれらしい項目はありませんね。
今回はASGにより2台のEC2があるので、とりあえず1台だけ追加するとどうなるのか確認してみます。
想定通り、EC2が1台だけターゲットに登録されました。
ASGに含まれるEC2が1台でもターゲットに含まれれば、ASG全体がALBのターゲットになる。というようなことはありませんね。
あくまでもASG内の単体のEC2がターゲットに含まれるだけです。
ASGでロードバランサーターゲットグループを設定
ASGのロードバランサーターゲットグループを設定します。(こっちが正解)
これはASG側でALBのターゲットグループと紐付けを行う設定です。
ASGのコンソール画面 > 詳細 > ロードバランシング
の順に進みます。
紐付けを行うターゲットグループを選択します。
ターゲットグループと紐づけられたことが確認できました。
それではターゲットグループの画面から確認してみます。
ASGで起動されたEC2が2つ登録されています。
つまり、ASGで起動したEC2が自動的にALBのターゲットに含まれたことが分かります。
ASG管理のEC2をさらに増やすと自動的にターゲットに含まれるはずです。やってみましょう。
ASGでEC2の起動数を3にしてみましょう。
これでターゲットに含まれるインスタンスが3つになっていればALBのターゲットにASGごと含まれていることが確認できます。
3つ目のインスタンスも自動的にターゲットグループに登録されていますね。
これでターゲットグループとASGが紐づいていることが確認できました。
NLBのターゲットグループ
上記はALBのターゲットグループで確認しましたが、NLBのターゲットグループでも確認しました。
ALBであれ、NLBであれターゲットグループ単位での設定となるため、結果は同じくASG側のロードバランサーターゲットを設定することで、NLBのターゲットにASGを設定できました。
まとめ
ALBのターゲットにASGを設定するには、ASG側で設定すればいいということが頭に焼き付けられました。
これで毎回発生する少し考える時間を短縮できるようになりそうです。
この記事が私と同じようなことを毎回考えてる誰かのためになれば嬉しいです。