このチュートリアルでは、一歩一歩、AWSでロードバランサーアプリケーションを作成する方法を説明します。
ここでは、オートスケーリングについては触れません。別のチュートリアルでオートスケーリングの導入方法について説明します。
通常、これらすべてはTerraform、CloudFormation、AWS CLI、またはAWS CDKなどのツールを使用して自動的に行われるはずです。いつかそのやり方をお見せします。
EC2インスタンスを作成
EC2ダッシュボードにアクセスしてください。ここに「インスタンスを起動」をクリックしてください。
EC2インスタンスを作成する画面に移動します:
「名前とタグ」セクションに移動してください。
「名前」の欄に「MyInstance」と書いてください。
「インスタンス数」セクションに移動してください。
フィールドに2と入力してください。
Amazon Linuxを使用していることを確認ください。
また、t2.microを使用していることを確認してください。
このチュートリアルでは、キーペアが要らないので使用しません。
「キーペアなしで続行 (推奨されません)」を選択してください。
「ネットワーク設定」セクションに移動してください。
AWSは、セキュリティグループを作成すると書いています。
私の場合、セキュリティグループの名前はlaunch-wizard-2となります。ただし、注意してください。あなたの場合、異なる名前になる可能性があります。
次に、「インターネットからの HTTP トラフィックを許可」にチェックを入れて、インスタンスがインターネットにアクセスできるようにします。
「高度な詳細」セクションに移動してください。
ユーザーデータのブロックを探してください。
以下のコマンドを入力してください:
#!/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
その後、「インスタンスを起動」ボタンをクリックしてください。
EC2ダッシュボードの画面に戻ってください。
すべてが緑色になるまでお待ちください。
Double Check
ウェブページが動作しており、ブラウザからアクセス可能であるかどうかを確認しましょう。
1番のインスタンスを選択してください:
その後、「パブリック IPv4 アドレス」を検索してください。
私の場合、パブリックIPv4アドレスは52.195.205.32です。
次に、このIPをコピーしてブラウザに貼り付けてください。すべてがうまくいくと、このページが表示されるはずです:
2番のインスタンスを選択してください:
その後、「パブリック IPv4 アドレス」を検索してください。
私の場合、パブリックIPv4アドレスは18.183.80.169です。
次に、このIPをコピーしてブラウザに貼り付けてください。すべてがうまくいくと、このページが表示されるはずです:
ターゲットグループを作成
「ターゲットグループ」をクリックしてください。
「ターゲットグループの作成」をクリックしてください。
「ターゲットグループ名」セクションに移動してください。
「MyTargetGroupELB」と書いてください。
その後、「次へ」ボタンをクリックしてください。
ターゲットを登録画面に移動します:
インスタンスをApplication Load Balancerに追加してください。
「保留中として以下を含める」ボタンをクリックしてください。
選択したインスタンスは、ターゲットを確認ブロックにあります。
「ターゲットグループの作成」ボタンをクリックしてください。
ターゲットグループを作成しました。
セキュリティグルーフを作成
「セキュリティグルーフ」をクリックしてください。
作成したEC2インスタンスに関連付けられているセキュリティグループを選択してください。私の場合、セキュリティグループはlaunch-wizard-2でした。
セキュリティグループ名を「MyInstanceSecurityGroup」に変更する。
新しいセキュリティグループを作成しましょう。
「セキュリティグループを作成」をクリックしてください。
セキュリティグループ名に「MyLoadBalancerSecurityGroup」を書いてください。
「インバウンドルール」セクションに移動してください。
タイプに「HTTP」を選んでください。
ソースに「0.0.0.0/0」を選んでください。
「セキュリティグループを作成」をクリックしてください。
セキュリティグループを作成しました。
ロードバランサーを作成
「ロードバランサー」をクリックしてください。
「ロードバランサーの作成」をクリックしてください。
Application Load Balancerの作成ボタンをクリックしてください。
ロードバランサー名に「MyLoadbalancer」を書いてください。
「ネットワークマッピング」セクションに移動してください。
Application Load Balancerを使用するゾーンを選択します。
「セキュリティグループ」セクションに移動してください。
「MyLoadBalancerSecurityGroup」を選択してください。
「リスナーとルーティング」セクションに移動してください。
「MyTargetGroupELB」を選択してください。
その後、「ロードバランサーの作成」ボタンをクリックしてください。
「ロードバランサーを表示」ボタンをクリックしてください。
ロードバランサー画面に移動します。
すべてが緑色になるまでお待ちください。
Check
Application Load Balancerを選択してください。
Application Load BalancerのDNSを検索してください。
次に、このDNSをコピーしてブラウザに貼り付けてください。すべてがうまくいくと、このページが表示されるはずです:
ページを更新すると、2つのインスタンスが交互に表示されるのがわかるでしょう。
ユーザーが直接インスタンスにアクセスできないようにする方法はありますか?
Application Load Balancerを作成しました。ウェブサイトにはApplication Load Balancerからだけがアクセスできるようにしたいと考えています。言い換えれば、ユーザーがインスタンスのIPを直接経由してウェブサイトにアクセスできないようにしたいです。
これを行うには、インスタンスのセキュリティグループを編集するだけです。
「セキュリティグループ」をクリックしてください。
「MyInstanceSecurityGroup」を選択してください。
「インバウンドのルールを編集」ボタンをクリックしてください。
タイプ「HTTP」を削除してください。
新しい「HTTP」を作成が「MyLoadBalancerSecurityGroup」を選択してください。
「ルールを保存」ボタンをクリックしてください。
インスタンスのIPアドレスを使用してサイトにアクセスすることは不可能になった。
動画
必要なら、Youtubeで動画を作成しました。
次のステップ
次のチュートリアルを読んで続けることができます。