AWSを使ってロードバランシングを30分でしたことのまとめ

aws1

社内のAWS勉強会でサーバーを簡単に立ち上げることが出来たのでそのことをまとめたいと思います。
AWSのアカウントは持ってる前提です。

目標

  • EC2でnginxをインストールし3台のサーバーを立ち上げる
  • ロードバランサーで3台のサーバーを負荷分散

サーバー(インスタンス)の設定

インスタンスの立ち上げ

AWSマネジメントコンソールにアクセスし、サインインします。

EC2の場所

画面左上のEC2をクリック

インスタンスの作成

インスタンスの作成をクリック

Amazon Linux

今回はAmazon Linuxで作ります。

インスタンスタイプの選択

無料枠のt2.microを選択し、確認と作成をクリック

インスタンス作成の確認

ウェブサービス用にHTTPを開いておきたいのでセキュリティグループの編集をクリックし、以下の用に設定

セキュリティグループの設定

作成をクリックするとキーペアを作成するか聞かれるので無ければ作成し、チェックボックスにチェックを入れ、インスタンスを作成します。作成したキーは ~/.ssh 以下に保存しておきます。今回はtarosky-lab.pemを作成しました。

これで一台のサーバーが立ち上がりました。これを三台分繰り返すしインスタンスを表示してみると以下のようになります。

名前は空白になっていると思うのでホバーすると表示される鉛筆マークをクリックし、名前を付けておきます。

名前付け

nginxのインストール

sshの設定

パブリックDNS

tarosky-lab-hi1をクリックし、下に表示されるパブリックDNSをコピーします。
今回はec2-user@ec2-52-68-123-128.ap-northeast-1.compute.amazonaws.comです。

cd ~/.ssh
chmod 600 tarosky-lab.pem # 権限の変更
ssh -i tarosky-lab.pem ec2-user@ec2-52-68-123-128.ap-northeast-1.compute.amazonaws.com
# 接続していいか聞かれるのでyes

~/.ssh/configに以下を記述して

Host tarosky-lab
    HostName ec2-52-68-123-128.ap-northeast-1.compute.amazonaws.com
    User ec2-user
    IdentityFile ~/.ssh/tarosky-lab.pem
ssh tarosky-lab

でも接続できます。

nginxのインストール

接続できたら以下のコマンドを打っていきます。

sudo yum -y update # yumのアップデート
sudo yum -y install nginx # nginxのインストール

sudo chkconfig --list | grep nginx # 自動起動するサービスの確認
sudo chkconfig nginx on # nginxを自動起動するサービスにする

sudo service nginx start # nginxを開始

/etc/nginx/nginx.confによるとサーバーのルートフォルダが/usr/share/nginx/htmlになってるようなのでそこにあるindex.htmlを編集します

sudo vi /usr/share/nginx/html/index.html
# 適当に変更

ブラウザからec2-52-68-123-128.ap-northeast-1.compute.amazonaws.comにアクセスしてみると先程編集したindex.htmlが表示されていることが分かります。

これを三台それぞれで行いましょう。サーバーの立ち上げが簡単に出来ました!

ロードバランシングの設定

さて、この三台のサーバーにロードバランサーを付けて負荷分散してみましょう。
ロードバランサーの場所

ロードバランサーをクリックしロードバランサーの作成をクリックします

ロードバランサーの定義

ロードバランサー名を付け、次の手順をクリック

セキュリティグループの割り当てを聞かれるので先ほど設定したのと同じようにし、次の手順へ

セキュリティ設定の構成では何もせずに次の手順へ

ヘルスチェックの設定でも何もせずに次の手順へ

EC2インスタンスの追加

追加したいEC2インスタンスを選択し、次の手順へ

タグは必要無いのでそのまま次の手順へ

作成をクリック

数分待つことでロードバランサーが機能します。

DNS名

DNS名に書かれたアドレスににアクセスし更新ボタンを何度か押すとページが切り替わっていきます。
ロードバランサーが正常に機能していることが分かります!

今回の話は無料枠ですが一応使い終わったインスタンスやロードバランサーなどは削除しておきましょう。

お疲れ様でした!