前回NLB経由でのSSH接続について記載しましたが、
同一プライベートAZ内の複数のEC2に対してNLB経由でSSHすることがありました。
すぐに忘れちゃいますので、備忘録として残すことにします。なお今回は2つのEC2に対しての設定とします。
簡易にはなるのですが、イメージ図としてはこういう感じです。
NATゲートウェイやルートテーブルの設定は前回の記事を参照いただけると嬉しいです。
NLB経由でSSH接続を行う
手順
1. 「EC2」からロードバランシングの「ターゲットグループ」を選択し、「ターゲットグループの作成」をクリックします。
2. 各項目を記載します。
ターゲットタイプ: インスタンス
ターゲットグループ名: example-tg1
プロトコル: TCP
ポート: 10022
VPC: example-vpc
ヘルスチェック: TCP
同じように2つ目のターゲットグループを作成します。
ターゲットタイプ: インスタンス
ターゲットグループ名: example-tg2
プロトコル: TCP
ポート: 20022
VPC: example-vpc
ヘルスチェック: TCP
3. ターゲットの登録を行う必要がありますので、プライベートサブネットに作成している対象インスタンスにチェックを入れ、「保留中として以下を含める」を選択し、「ターゲットグループの作成」を行います。
4. 「EC2」からロードバランシングの「ロードバランサー」を選択、「ロードバランサーの作成」をクリックします。
5. 「Network Load Balancer」の「作成」をクリックし、各項目を記載し完了です。
ロードバランサー名: 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を利用してSSH接続を行うことはあまりないかもしれませんが、
必要に応じて、上記の設定で対応するのも手段の一つかもしれません。