1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS で「LB 経由」で「同一ホスト名」で SSH と HTTP/S にアクセスできるようにする

Last updated at Posted at 2025-02-04

多分同じこと書いているエントリ多数だと思うが、自分メモ

やりたいこと

インスタンスで立ち上がっている Git サーバーに、同一ホスト名で SSH も HTTPS アクセスもできるようにしたい

ここに至る過程

CLB の時はリスナーに HTTP/S も TCP も設定できたので、単純に両方を書いて A/AAAA レコードにその CLB をエイリアスすれば良かった

しかし、NLB/ALB 世代になって、NLB は HTTP を解さず、ALB は HTTP/S 以外を受け付けなくなった
両方を1つのホスト名に割り当てることはできないので、何らか工夫する必要がある

なんでこんな事始めたかというと、大昔に作成した CLB のセキュリティポリシーが TLS 1.3 とか受け付けないことに今更に気付いたから(周回遅れにも程がある)

結論

NLB の下に ALB を置けばいいじゃない

image.png

簡単な話だった
※ ここでは SSH のポートを 10022 にしているが、当然どのポートでもいい

注意点

  • ターゲットグループは HTTP と HTTPS で別々に作成する必要がある、ALB のターゲットポートが異なる為
  • 通常、ALB からインスタンスの接続は HTTP で行うだろうからヘルスチェックも HTTP にすると思うが、NLB → ALB の HTTPS ポートのヘルスチェックは HTTPS に設定する必要がある
  • ターゲットグループは dualstack に対応していない
  • ALB のリクエスト元は NLB になるらしい。アクセス元に応じたセキュリティグループでのアクセス制御は NLB でやればよいが、X-Forwarded-For に影響するかも(未確認)
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?