こんにちは!Tamaです!
今回はAWS CLIでALBの設定を行ってみます!
従来のaws elbコマンドではなくaws elbv2コマンドがALBのものになります!
(ALBという表記になっているかと思い探し回ってしまいました・・)
以下の順番で行っていきます。
・ターゲットグループの作成
・ロードバランサの作成
・リスナーの作成
ターゲットグループの作成
1 2 |
aws elbv2 create-target-group --name [ターゲットグループ名] --protocol [プロトコル] --port [ポート番号] --vpc-id [VPC ID] |
ヘルスチェックの設定もここで行います。
今回は80番ポートでのHTTP接続で「/healthcheck/healthcheck.html」に対するヘルスチェックを30秒間隔、タイムアウト5秒で行い、10回連続成功で正常、2回連続で異常とする設定にしてみます。
arn(amazon resource name)はALBとの紐付け時に使用します。
次に作成したターゲットグループにEC2インスタンスを登録します。
1 |
aws elbv2 register-targets [ターゲットグループのarn] --targets Id=[インスタンスID] |
今回は1台だけ登録しました。
ロードバランサの作成
1 2 |
aws elbv2 create-load-balancer --name [ロードバランサ名] --subnets [サブネットID] -- security-groups [セキュリティグループID] |
先程設定したVPC内にあるサブネットを指定します。
サブネットはAZが異なる2つを指定する必要があります。
セキュリティグループは予め作成しておいたものを紐付けています。
arn(amazon resource name)はターゲットグループとの紐付け時に使用します。
リスナーの作成
ALBとターゲットグループの紐付けを行います。
1 2 |
aws elbv2 create-listener --load-balancer-arn [ALBのarn] --protocol [プロトコル] --port [ポート] --default-actions [ターゲットグループとデフォルトのアクション] |
デフォルトアクションはforward(転送)を指定しています。
最後に紐付けが行われヘルスチェックが通っていることを確認しましょう。
ロードバランシングのターゲットグループのページになります。
対象のインスタンスがhealthyになっています!
ちなみにCLIではdescribe-target-healthコマンドで確認ができます。
1 |
aws elbv2 describe-target-health --target-group-arn [ターゲットグループのarn] |
Stateがhealthyになっていることが分かります。
従来のCLB(Classic Load Balancer)ではロードバランサの作成、ヘルスチェックの設定、インスタンスの紐付けだったのに比べ、ターゲットグループの作成が増えている分少し複雑になっています。
今回は以上になります!
お疲れさまでした!
またお会いしましょう!