AWSでApplication Load Balancerの作成

このチュートリアルでは、一歩一歩、**AWS**で**ロードバランサーアプリケーション**を作成する方法を説明します。

:::note warn
ここでは、オートスケーリングについては触れません。別のチュートリアルでオートスケーリングの導入方法について説明します。

通常、これらすべては**Terraform**、**CloudFormation**、**AWS CLI**、または**AWS CDK**などのツールを使用して自動的に行われるはずです。いつかそのやり方をお見せします。
:::


# EC2インスタンスを作成

EC2ダッシュボードにアクセスしてください。ここに「**インスタンスを起動**」をクリックしてください。

![Screenshot 2023-12-13 at 22.22.21__01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/6404139e-0472-c1d4-1cb8-035a28645cf9.png)

EC2インスタンスを作成する画面に移動します：

![Screenshot 2023-12-13 at 22.24.04__02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/7b2354f2-484b-5574-ad36-48bed32c5134.png)

「**名前とタグ**」セクションに移動してください。

![Screenshot 2023-12-13 at 22.24.04__03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/058443d2-1a8d-396f-ce57-c16f447a9f40.png)

「**名前**」の欄に「**MyInstance**」と書いてください。

![Screenshot 2023-12-13 at 22.24.29__04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/7286e7c8-446f-4baf-1e65-cdb0ec49809b.png)

「**インスタンス数**」セクションに移動してください。

![Screenshot 2023-12-13 at 22.27.38__05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/46569f44-627f-7231-1f15-2df13339107e.png)

フィールドに2と入力してください。

![Screenshot 2023-12-13 at 22.29.36__06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/5c1c3473-1b26-43ca-cbe0-29d31b415be7.png)

**Amazon Linux**を使用していることを確認ください。

![Screenshot 2023-12-13 at 22.31.12__07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/7638b791-1c99-6ef5-671c-9a5528589d9e.png)

また、**t2.micro**を使用していることを確認してください。

![Screenshot 2023-12-13 at 22.32.56__08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/1d07de1d-33bd-efed-a507-e7a3ea2349c1.png)

このチュートリアルでは、キーペアが要らないので使用しません。

「**キーペアなしで続行 (推奨されません)**」を選択してください。

![Screenshot 2023-12-13 at 22.34.51__09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/23356f3b-126d-fc91-f801-5ed872352b30.png)

「**ネットワーク設定**」セクションに移動してください。

![Screenshot 2023-12-13 at 22.37.13__10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/51c1583d-3264-f6fe-e4d6-f5b8cef253e6.png)

AWSは、セキュリティグループを作成すると書いています。

![Screenshot 2023-12-13 at 22.37.13__10_B.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/4f515bd2-6750-cc04-0cea-06b14ed77a45.png)

私の場合、セキュリティグループの名前は**launch-wizard-2**となります。ただし、注意してください。あなたの場合、異なる名前になる可能性があります。

次に、「**インターネットからの HTTP トラフィックを許可**」にチェックを入れて、インスタンスがインターネットにアクセスできるようにします。

![Screenshot 2023-12-13 at 22.39.27__11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/f690e471-c688-8008-14b2-2c031b6f13b8.png)

「**高度な詳細**」セクションに移動してください。

![Screenshot 2023-12-13 at 22.41.28__12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/505a15ae-aa3d-b266-fc9f-c896833a7232.png)

**ユーザーデータ**のブロックを探してください。

![Screenshot 2023-12-13 at 22.43.11__13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/3be15066-20ea-90aa-32f2-33c674cc190b.png)

以下のコマンドを入力してください：

```bash
#!/bin/bash
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html
```

その後、「**インスタンスを起動**」ボタンをクリックしてください。

![Screenshot 2023-12-13 at 22.48.16__15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/47e862dc-f5cd-e7ec-ce30-5137d83d5143.png)

EC2ダッシュボードの画面に戻ってください。

![Screenshot 2023-12-13 at 22.48.40__16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/a8bf6a65-df4f-b482-8bef-a4931b94bbb3.png)

すべてが緑色になるまでお待ちください。

![Screenshot 2023-12-13 at 22.51.39__17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/97533a9f-6470-21a6-16e8-12aa994fbbc1.png)

### Double Check

ウェブページが動作しており、ブラウザからアクセス可能であるかどうかを確認しましょう。

1番のインスタンスを選択してください：

![Screenshot 2023-12-13 at 22.52.35__18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/f39770c6-88e1-4f57-a19b-2912d544f275.png)

その後、「**パブリック IPv4 アドレス**」を検索してください。

![Screenshot 2023-12-13 at 22.52.35__18 copy.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/3b33db19-3b7f-0137-7f2b-44ee00981903.png)

私の場合、パブリックIPv4アドレスは52.195.205.32です。

次に、このIPをコピーしてブラウザに貼り付けてください。すべてがうまくいくと、このページが表示されるはずです：

![Screenshot 2023-12-13 at 22.55.22__19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/916c1005-b5ca-6f69-4477-13e0eb02380d.png)

2番のインスタンスを選択してください：

![Screenshot 2023-12-13 at 22.52.57__20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/0f829086-f34f-d9ea-7d71-89a5026dae7c.png)

その後、「**パブリック IPv4 アドレス**」を検索してください。

![Screenshot 2023-12-13 at 22.52.57__20 copy.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/78ea91c4-d833-35dd-d1fc-c482708f87bd.png)

私の場合、パブリックIPv4アドレスは18.183.80.169です。

次に、このIPをコピーしてブラウザに貼り付けてください。すべてがうまくいくと、このページが表示されるはずです：

![Screenshot 2023-12-13 at 22.55.36__21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/5cdebd1c-67e3-f146-7b57-9453e215fc8b.png)

# ターゲットグループを作成

「**ターゲットグループ**」をクリックしてください。

![Screenshot 2023-12-13 at 23.23.36__22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/dc828e6d-755b-9a96-4f82-212673306a68.png)

「**ターゲットグループの作成**」をクリックしてください。

![Screenshot 2023-12-13 at 23.25.36__24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/55409389-a57c-e5d0-eb64-72ed886cabd5.png)

「**ターゲットグループ名**」セクションに移動してください。

![Screenshot 2023-12-13 at 23.30.34__28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/784afb69-5a10-d72b-6b10-48a537fda3b7.png)

「**MyTargetGroupELB**」と書いてください。

![Screenshot 2023-12-13 at 23.32.27__29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/559441b3-3bcb-6986-4b8b-d3388423f89c.png)

その後、「**次へ**」ボタンをクリックしてください。

![Screenshot 2023-12-13 at 23.34.11__30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/2fc77a74-da6c-1b86-9eac-5e568d19efdf.png)

ターゲットを登録画面に移動します：

![Screenshot 2023-12-13 at 23.35.57__31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/14a2a14f-04d0-ea6a-33eb-f47e7d3f5c53.png)

インスタンスをApplication Load Balancerに追加してください。

![Screenshot 2023-12-13 at 23.36.53__32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/6b84db2c-dd50-8028-bc78-f71fde7750eb.png)

「**保留中として以下を含める**」ボタンをクリックしてください。

![Screenshot 2023-12-13 at 23.39.10__33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/1b332fa5-4702-ca37-2a9b-763420f7236b.png)

選択したインスタンスは、ターゲットを確認ブロックにあります。

![Screenshot 2023-12-13 at 23.41.05__34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/fca41e9a-6c0e-6454-d32a-c874f83acca2.png)

「**ターゲットグループの作成**」ボタンをクリックしてください。

![Screenshot 2023-12-13 at 23.42.46__35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/8c787bda-aa75-78e9-7df4-b008a3aab871.png)

ターゲットグループを作成しました。

![Screenshot 2023-12-13 at 23.44.09__36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/7d320f6a-abc5-9a5e-6d30-55e202f2fc20.png)

# セキュリティグルーフを作成

「**セキュリティグルーフ**」をクリックしてください。

![Screenshot 2023-12-13 at 23.44.09__37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/06c0f258-265a-9654-c7a7-28c24e5159a9.png)

作成したEC2インスタンスに関連付けられているセキュリティグループを選択してください。私の場合、セキュリティグループは**launch-wizard-2**でした。

![Screenshot 2023-12-13 at 23.16.35__39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/1197e083-8fe8-9f3e-9e4c-09fcbaf7587f.png)

セキュリティグループ名を「**MyInstanceSecurityGroup**」に変更する。

![Screenshot 2023-12-13 at 23.19.30__40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/0b8aa3b6-f9d7-5c50-727a-dbb5f291b1f0.png)

新しいセキュリティグループを作成しましょう。
「**セキュリティグループを作成**」をクリックしてください。

![Screenshot 2023-12-13 at 23.48.23__41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/4dede75a-b2c1-1896-e95d-3f04a24f90b3.png)

セキュリティグループ名に「**MyLoadBalancerSecurityGroup**」を書いてください。

![Screenshot 2023-12-13 at 23.51.13__43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/f5dba660-4d91-7355-82df-6be7006c621b.png)

「**インバウンドルール**」セクションに移動してください。

![Screenshot 2023-12-13 at 23.52.54__44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/6657871c-6b7f-9bc0-72d5-69784f162ec6.png)

タイプに「**HTTP**」を選んでください。

![Screenshot 2023-12-13 at 23.57.02__45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/6566a122-ddde-659f-76a5-bfe1b4ecaa58.png)

ソースに「**0.0.0.0/0**」を選んでください。

![Screenshot 2023-12-13 at 23.54.57__46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/d675ba03-8f7c-6e3f-8a3f-17b9573b8ee7.png)

「**セキュリティグループを作成**」をクリックしてください。

![Screenshot 2023-12-13 at 23.58.46__46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/5ac54a13-9a4b-7b25-4f5d-3962020560bf.png)

セキュリティグループを作成しました。

![Screenshot 2023-12-13 at 23.59.17__47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/6183d575-06ee-9f59-0426-e100af1d127e.png)

# ロードバランサーを作成

「**ロードバランサー**」をクリックしてください。

![Screenshot 2023-12-14 at 0.02.07__48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/e3bd0f2c-da31-5624-9b28-138ca908c31c.png)

「**ロードバランサーの作成**」をクリックしてください。

![Screenshot 2023-12-14 at 0.03.42__50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/c5bdd7bb-b118-7c8f-cb24-c82c96df259b.png)

Application Load Balancerの作成ボタンをクリックしてください。

![Screenshot 2023-12-14 at 0.05.54__52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/05ffaa4c-297b-af7d-8c35-98250ccca14d.png)

ロードバランサー名に「**MyLoadbalancer**」を書いてください。

![Screenshot 2023-12-14 at 0.09.29__54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/e1c8ed99-4626-3895-332d-4e396c3a0683.png)

「**ネットワークマッピング**」セクションに移動してください。

![Screenshot 2023-12-14 at 0.11.07__55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/71dd3280-cce1-64b9-c7b5-2d2b66cceaaf.png)

Application Load Balancerを使用するゾーンを選択します。

![Screenshot 2023-12-14 at 0.12.47__56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/5c9d6a43-0ae0-9299-78ff-b24266d6411a.png)

「**セキュリティグループ**」セクションに移動してください。

![Screenshot 2023-12-14 at 0.15.28__57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/6c1b80f3-66fd-12c2-d819-5d7e14909aec.png)

「**MyLoadBalancerSecurityGroup**」を選択してください。

![Screenshot 2023-12-14 at 0.17.14__58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/c8a9dcf5-14af-4f9e-345a-672fbb795f32.png)

「**リスナーとルーティング**」セクションに移動してください。

![Screenshot 2023-12-14 at 0.18.55__59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/8cf1aec4-c6bb-daa7-efec-eee6e9d2dadd.png)

「**MyTargetGroupELB**」を選択してください。

![Screenshot 2023-12-14 at 0.20.22__60.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/8550ee1a-2360-b0c9-ebdd-d0024f065a47.png)

その後、「**ロードバランサーの作成**」ボタンをクリックしてください。

![Screenshot 2023-12-14 at 0.22.07__61.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/2ae7ff85-0abf-823c-8385-51a363a9ad73.png)

「**ロードバランサーを表示**」ボタンをクリックしてください。

![Screenshot 2023-12-14 at 0.23.43__62.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/98513e6c-1d62-c1e2-3161-00a80cf3ce7e.png)

ロードバランサー画面に移動します。

![Screenshot 2023-12-14 at 0.23.53__63.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/2f71c247-67a0-efae-f418-b29b5493c4af.png)

すべてが緑色になるまでお待ちください。

![Screenshot 2023-12-14 at 0.26.27__64.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/2dc6fec3-3981-08f6-e4ed-43d070eaea04.png)

# Check 

Application Load Balancerを選択してください。

![Screenshot 2023-12-14 at 0.27.01__65.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/524c035b-757b-73ee-3c57-2b1568c99052.png)

Application Load BalancerのDNSを検索してください。

![Screenshot 2023-12-14 at 0.27.01__66.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/bcc23070-e269-e596-4187-bb1dc220f273.png)

次に、このDNSをコピーしてブラウザに貼り付けてください。すべてがうまくいくと、このページが表示されるはずです：

![Screenshot 2023-12-14 at 0.31.07__67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/c5ed70fa-7034-b57c-a9ac-235bd1880ac0.png)

ページを更新すると、2つのインスタンスが交互に表示されるのがわかるでしょう。

![Screenshot 2023-12-14 at 0.31.18__68.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/97a03a9d-e5e8-fa16-0d12-352af2fc901a.png)

# ユーザーが直接インスタンスにアクセスできないようにする方法はありますか？

Application Load Balancerを作成しました。ウェブサイトにはApplication Load Balancerからだけがアクセスできるようにしたいと考えています。言い換えれば、ユーザーがインスタンスのIPを直接経由してウェブサイトにアクセスできないようにしたいです。

これを行うには、インスタンスのセキュリティグループを編集するだけです。

「**セキュリティグループ**」をクリックしてください。

![Screenshot 2023-12-14 at 0.35.19_Security_69.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/16c31b6a-f22f-ee6d-646e-deac08487957.png)

 「**MyInstanceSecurityGroup**」を選択してください。

 ![Screenshot 2023-12-14 at 0.37.00__70.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/7369e7ff-fcbf-d94e-3287-d71e445923b2.png)

「**インバウンドのルールを編集**」ボタンをクリックしてください。

![Screenshot 2023-12-14 at 0.38.42__71.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/cff8d207-2c6d-8079-f79b-ede5568372d8.png)

タイプ「**HTTP**」を削除してください。

![Screenshot 2023-12-14 at 0.41.24__72.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/64182bad-d105-056b-e25f-4fe7df3298a6.png)

新しい「**HTTP**」を作成が「**MyLoadBalancerSecurityGroup**」を選択してください。

![Screenshot 2023-12-14 at 0.43.35__73.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/151e6187-755d-e8e2-8b09-0fec68a08b54.png)

「**ルールを保存**」ボタンをクリックしてください。

![Screenshot 2023-12-14 at 0.45.47__74.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/2050d05f-aedb-26ed-5c28-92a1169f6e8d.png)


インスタンスのIPアドレスを使用してサイトにアクセスすることは不可能になった。

![Screenshot 2023-12-14 at 0.48.25__75.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620161/8b55eca3-3faa-8110-8286-2227482d6c90.png)


# 動画

必要なら、Youtubeで動画を作成しました。

<iframe width="1062" height="606" src="https://www.youtube.com/embed/JPh-z7S9-hs" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

# 次のステップ

次のチュートリアルを読んで続けることができます。

https://qiita.com/seikida/items/ce551f705aec25653160