0
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?

1つのELBでHTTP(S)とTCPに対応する

Posted at

1つのELBでHTTP(S)とTCPに対応する

概要

例えば、1つのホスト名でWebを公開しつつSSH接続も行いたい。というようなユースケースを想定した時、これをELBで校正する場合すこし複雑な構成になる。

ざっくりと下図のような構成。

image.png

CLB(ClassicLoadBalancer)であればウィザードに従うことでこのような構成でも直感的に構築できていたもののCLBが非推奨となった今、これをCLBを使わずに構築するのが意外と複雑なのでそれをまとめておく。

前提条件

  • 80番ポートは443番ポートへ転送
  • 443番ポートはACMの証明書を設定したhttpsとして公開
  • 22番ポートはTCPでSSH向けに公開

ポイント

  1. 外部向けはNLB(Network Load Balancer)を構築
  2. TCPはNLBからそのままインスタンスへ
  3. HTTPはALB(Application Load Balancer)のターゲットグループでALBへ転送

構築手順

Step1: HTTP(S)のALB構築

  1. ALBの構築
    • いつも通りALBを構築
    • スクショは、80は443へ転送して、ACMの証明書を設定した場合の例
      • image.png

Step2: ALBのターゲットグループ構築

  1. ALBのターゲットグループをhttp:80用とhttps:443用の2つ構築
    1. http:80用
      1. ターゲットタイプの選択で「Application Load Balancer」を選択
        • image.png
      2. Application Load BalancerにStep1で構築したALBを選択
        • image.png
    2. https:443用
      1. ターゲットタイプの選択で「Application Load Balancer」を選択
        • image.png
      2. Application Load BalancerにStep1で構築したALBを選択
        • image.png

Step3: 外部向けNLB構築

  1. 外部向けのNLBを新規で作成
    • image.png
  2. リスナーとルーティングの設定
    1. 22番ポートはEC2インスタンスを選択
    2. 80番ポートと443番ポートはStep2で構築したALBのターゲットグループを選択
      • image.png
0
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
0
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?