LoginSignup
7
5

More than 1 year has passed since last update.

今さら聞けないAWSでロードバランサーを使ったWEBサイト構築手順(ロードバランサー編)

Posted at

第4回目はロードバランサー編ということで、ロードバランサーを作成していきます。
あと最後にロードバランサー用のDNSレコードを登録します。

構成図

構成図でいうと赤枠部分の設定をしていきます。
20220901_alb.png

ロードバランサー作成

いよいよ最後となるロードバランサーを作成します。

ロードバランサー作成は「ロードバランサーの作成」と「ターゲットグループ」の作成が必要になります。

ターゲットグループはロードバランサー配下にどのインスタンスを配置するか指定します。
今回のような1台構成でもターゲットグループの作成は必要です。

図にすると以下のようになります。
alb_01.png
ロードバランサーにSSL証明書を適用して
ターゲットグループとしてWEBサーバーを登録するイメージになります。

ではターゲットグループから作成していきます。

ターゲットグループ作成

AWSマネジメントコンソールからEC2へ移動します。
「ターゲットグループ」をクリックします。
alb_02.png

次に「Create target group」をクリックします。
alb_03.png

target typeは「instances」を選択してターゲットグループ名を入力します。例では「web-system-tg」とします。
ターゲットのプロトコルはHTTPとします。これはVPC内でロードバランサーとWEBサーバー間はhttp通信のためにこの設定となります。
alb_04.png

次にVPCとProtocolを選択します。
VPCは作成した「VPC」
Protpcolは「HTTP1」
を選択します。Health checksはデフォルト設定のままとします。
alb_05.png

画面右下の「Next」をクリックします。
alb_06.png

ここでターゲットグループに追加するインスタンスを選択します。
WEBサーバーの「web-system」を選択して「」include as pending below」をクリックします。
alb_07.png

Review targetsに登録されたことを確認します。
確認したら「create target group」をクリックします。
alb_08.png

以上でターゲットグループの作成は完了です。

サブネットの追加

次はロードバランサーの設定といきたいところですが、ここでサブネットを1つ追加します。
ロードバランサーを作成するために最低2つのAZにサブネットが必要になります。

AWSマネジメントコンソールからVPC→サブネット→サブネットの作成と画面遷移します。
そして以下の画面のように設定してpublicサブネットを1つ追加します。
subnet_add.png

ロードバランサー作成

AWSマネジメントコンソールからEC2へ移動します。
「ロードバランサー」をクリックします。
alb_09.png

次に「ロードバランサーの作成」をクリックします。
alb_10.png

次にロードバランサーのタイプを選択しますが今回は「Application Load Balancer(ALB)」を選択します。
alb_11.png

ロードバランサーの名前を入力します。例では「web-system-alb」とします。
その他の設定はそのままとします。
alb_12.png

VPCとPublicサブネットを2つ選択します。ap-northeast-1cのサブネットは直前で作成したものでap-northeast-1aのサブネットはネットワーク編で作成したサブネットです。
両方ともPublicサブネットであることを確認します。
これはロードバランサーをPublicサブネットに配置するためです。
alb_13.png

セキュリティグループは作成した「web-system-alb-sg」を選択します。
defaultで最初から適用されているものがありますが削除して問題ありません。
alb_14.png

セキュリティグループは最終的に以下のようになっていればOKです。
alb_15.png

次にリスナーの設定です。HTTPで通信する場合のターゲットグループを登録します。
HTTPを選択して「Forward to」を選択し、その中から作成したターゲットグループを選択します。
この設定をいれることでロードバランサーにHTTPでアクセスが来た場合にターゲットグループ(WEBサーバー)に転送されてWEBページが閲覧できるようになります。
alb_16.png

最後に「Create load balancer」をクリックします。
alb_17.png

ロードバランサーが作成されたことを確認します。
確認しましたらリスナーの追加をします。先ほどはHTTPの設定だけをしましたがHTTPS通信もロードバランサーで受け付ける設定を追加します。
マネジメントコンソールのロードバランサーの画面でロードバランサーを選択して、「リスナー」タブをクリックして、さらにリスナーの追加をクリックします。
alb_18.png

今度はHTTPSを選択して、Add actionを選択します。
alb_19.png

「Forward to」を選択して、ターゲットグループを選択します。
この設定でロードバランサーでHTTPSで受け取ってVPC内部のターゲットグループ(WEBサーバー)にはhttpで通信するという設定が入ることになります。
alb_20.png

次にHTTPS通信を受け取るので証明書を指定します。
第1回目で作成したSSL証明書を選択します。選択したら「Add」をクリックします。
alb_21.png

最終的に以下のようになっていればOKです。
alb_22.png

以上でロードバランサーの設定は完了です。

DNSレコードの登録

最後の仕上げです。作成したロードバランサー用のDNSレコードを追加してブラウザから独自ドメインでアクセスできるように設定します。

AWSマネジメントコンソールからRoute53へ移動します。
「ホストゾーン」をクリックします。
dns_01.png

ホストゾーンのドメインをクリックします。
dns_02.png

次に「レコードの作成」をクリックします。
dns_03.png

ロードバランサー用のレコードはエイリアスレコードを作成します。
エイリアスをクリックします。
正直このエイリアスレコードって何?って最初思いました。オンプレの世界には無いレコードで、クラウド専用のレコードと思っていただければ良いかと思います。
dns_04.png

トラフィックルーティング先にて対象のロードバランサーを選択します。
以下の図のように順番に選択します。
最後に「レコードを作成」をクリックします。
dns_05.png

最後にブラウザでアクセスできることを確認します。
dns_06.png

非常に長くなりましたが、これでロードバランサーを経由したWEBサーバにアクセスさせることができました。
お疲れ様でした!

7
5
1

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
7
5