LoginSignup
1
0

More than 5 years have passed since last update.

【JAWS-UG関西女子会】#2 ELB+EC2+RDSでECサイトをつくろう ~ELB作成編~

Last updated at Posted at 2016-04-04

はじめに

この記事はJAWS-UG関西女子会「はじめて女子応援企画!事例から学ぶもくもく&もぐもぐ会」で
もぐもぐ 1 もくもくする際のテキストとなります。

本記事での目標

  • EC2でWEBサーバーを構築すること
  • RDSでデータベースサーバを構築すること
  • EC2インスタンスへEC-CUBEインストール及び疎通確認
  • ELBでWEBサーバーの負荷分散をすること

以下のような構成となります。
ELB000301.JPG

EC2でWEBサーバーを構築すること

こちらを参照して下さい

RDSでデータベースサーバを構築すること

こちらを参照して下さい

ELBでWEBサーバーの負荷分散をすること

ELBでWEBサーバーの負荷分散をするまでのながれ

  1. セキュリティグループの設定
  2. ヘルスチェックファイルの設置
  3. ELBの作成・設定
  4. ELBを介しての疎通確認

ELBの用語について

ELB:
Elastic Load Balancerの略
負荷に応じてELB自身のスペックアップが自動でされます
※本手順では独自ドメインとの割当て方は省いています。
独自ドメインをしたい場合はサポートメンバーに言ってください!!

ヘルスチェック:
ELBで負荷分散しているサービスが正常に応答をしているかを判断すること  
ヘルスチェック応答がない場合、ELBは通信をそのサーバへ流さないようにする  
切り離しをするわけではありません

構築手順

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

 

1.1.ELB用セキュリティグループに自分のIPからの通信許可設定をします。
ELB用セキュリティグループを選択してEditボタンをクリックします。
ELB000265.png

 

1.2.Typeは「HTTP」をSourceは「My IP」を選択して「Save」ボタンをクリックします。
ELB000266.png

 

1.3.次はWEBサーバー用セキュリティグループにELBからの通信許可設定をします。
ELB000267.png

 

1.4.Typeは「HTTP」をSourceは「ELB用セキュリティグループ」を設定します。
ELB000268.png

 

1.5.「Save」ボタンをクリックします。
ELB000269.png

2.ヘルスチェックファイルの設置

 

2.1.WEB01にSSH接続して以下のコマンドを実行します。

vi /var/www/html/health.txt

Working! ←を入力して保存します

 

2.2.ブラウザでアクセスできることを確認します。
ELB000270.png

2.3.WEB02にも同様の設定をします。

3.ELBの作成・設定

 

3.1.EC2の左メニューで「Load Balancers」をクリックします。
ELB000271.png

 

3.2.「Create Load Balancer」ボタンをクリックします。
ELB000272.png

 

3.3.Load Balancer Nameを入力し、Enable advanced VPC configurationにチェックを入れます。
ELB000273.png

 

3.4.Select Subnetsで負荷分散対象サーバーがあるサブネットを+ボタンをクリックして選択します。
ELB000274.png

 

3.5.もう一つのサブネットも選択します。
ELB000275.png

 

3.6.「Next…」ボタンをクリックします。
ELB000276.png

 

3.7.ELBのセキュリティグループをここで割り当てます。
作成したELB用セキュリティグループを選択し「Next…」ボタンをクリックします。
ELB000277.png

 

3.8.セキュリティの警告が出ますが「Next…」ボタンをクリックします。
ELB000278.png

 

3.9.ping pathに「/health.txt」と入力し、Healthy Thresholdは「2」を選択し「Next…」ボタンをクリックします。
ping pathに入力されたファイルからの応答があればELBはサーバが正常にサービスが上がっていると判断します。
Health Check Intervalで指定された秒数間隔でELBはサーバへヘルスチェックを行います。
Unhealthy Thresholdで指定した回数応答がなかった場合にELBはサーバが異常であると判断し、通信を流さなくなります。
ELBの配下に組み込んだあとにHealthy Thresholdで指定した回数の応答があればELBはサーバのサービスが正常であると判断し、通信を流すようになります。
ELB000279.png

 

3.10.ELBの配下に組込むEC2インスタンスを選択します。
WEB01とWEB02にチェックを入れ「Next…」ボタンをクリックします。
ELB000280.png

 

3.11.タグを付けて「Review and Create」ボタンをクリックします。
ELB000281.png

 

3.12.内容を確認し「Create」ボタンをクリックします。
ELB000282.png

 

3.13.「Close」ボタンをクリックします。
ELB000283.png

 

3.14.Instancesタブをクリックします。
ELB000284.png

 

3.15.WEBサーバのStatusが「OutOfService」となっている場合はELBがサーバが正常に応答していないとみなしています。
作成したばかりなので1分ほど待ちましょう。
ELB000285.png

 

3.16.右上のリロードボタンを何度か押してみましょう。
ヘルスチェックが成功したらStatusが「InService」となります。
いくら経ってもInServiceとならない場合、設定ミスかサーバで何か以上が発生している可能性があります。
ELB000286.png

4.ELBを介しての疎通確認

 

4.1.WEB01にログインして以下のコマンドを実行します。

vi /var/www/html/index.html

以下の内容を入力して保存します。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
 "http://www.w3.org/TR/html4/strict.dtd">

<html>

 <head>
  <title>JAWS-UG関西女子会もくもく勉強会</title>
 </head>

 <body>
  <span style="font-size : 100pt">Hello World!!</span></br>
 <span style="font-size : 100pt">from WEB01!</span></br>
 </body>

</html>

 

4.2.ブラウザで直接WEB01にアクセスしてindex.htmlが見られることを確認します。
ELB000287.png

 

4.3.WEB02にログインして以下のコマンドを実行します。
ポイントとしてWEB02では表示内容を少し変えています。

vi /var/www/html/index.html

以下の内容を入力して保存します。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
 "http://www.w3.org/TR/html4/strict.dtd">

<html>

 <head>
  <title>JAWS-UG関西女子会もくもく勉強会</title>
 </head>

 <body>
  <span style="font-size : 100pt">Hello World!!</span></br>
 <span style="font-size : 100pt">from WEB02!</span></br>
 </body>

</html>

 

4.4.ブラウザで直接WEB02にアクセスしてindex.htmlが見られることを確認します。
ELB000288.png

 

4.5.DescriptionタブでDNS Nameに記載されているアドレスがELBのエンドポイントURLとなります。
ELB000289.png

 

4.6.エンドポイントURLにブラウザからアクセスしてみましょう。
何度かリロードするとWEB01とWEB02の両方が表示されることがわかるかと思います。
ELB000290.JPG


  1. 節子!それは懇親会や!! 

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