NLB経由で複数のEC2にSSH接続を行う

Y
2023-10-25
2023-10-25

前回NLB経由でのSSH接続について記載しましたが、
同一プライベートAZ内の複数のEC2に対してNLB経由でSSHすることがありました。
すぐに忘れちゃいますので、備忘録として残すことにします。なお今回は2つのEC2に対しての設定とします。
簡易にはなるのですが、イメージ図としてはこういう感じです。
nlb-4-2



NATゲートウェイやルートテーブルの設定は前回の記事を参照いただけると嬉しいです。
NLB経由でSSH接続を行う

手順

1.  「EC2」からロードバランシングの「ターゲットグループ」を選択し、「ターゲットグループの作成」をクリックします。

nlb-6

2. 各項目を記載します。
nlb-1-1
ターゲットタイプ: インスタンス
ターゲットグループ名: example-tg1
プロトコル: TCP
ポート: 10022
VPC: example-vpc
ヘルスチェック: TCP

同じように2つ目のターゲットグループを作成します。

ターゲットタイプ: インスタンス
ターゲットグループ名: example-tg2
プロトコル: TCP
ポート: 20022
VPC: example-vpc
ヘルスチェック: TCP

3. ターゲットの登録を行う必要がありますので、プライベートサブネットに作成している対象インスタンスにチェックを入れ、「保留中として以下を含める」を選択し、「ターゲットグループの作成」を行います。
nlb-2-1

4. 「EC2」からロードバランシングの「ロードバランサー」を選択、「ロードバランサーの作成」をクリックします。
nlb-9

5. 「Network Load Balancer」の「作成」をクリックし、各項目を記載し完了です。
nlb-10ロードバランサー名: example-nlb
スキーム: インターネット向け
IP アドレスタイプ: IPv4
ネットワークマッピング: example-vpc
マッピング: ap-northeast-1a   ← パブリックAZを選択
サブネット: example-public-subnet-a
IPv4 アドレス: AWSによって割り当て済み
セキュリティグループ: example-nlb-sec-g(22ポートへの接続許可)
プロトコル: TCP
ポート: 10022
デフォルトアクション: example-tg1
[リスナーの追加]
プロトコル: TCP
ポート: 20022
デフォルトアクション: example-tg2

6. NLBに付与されているDNS名にSSH接続できれば完了です。

nlb-11

終わりに

いかがでしたでしょうか。
NLBを利用してSSH接続を行うことはあまりないかもしれませんが、
必要に応じて、上記の設定で対応するのも手段の一つかもしれません。