Pocket

AWS ELBを用いたサーバーの冗長化を行う方法

  • add this entry to hatena bookmark

Amazon Web Service では、ロードバランシング機能を使ったサーバの冗長化を容易に構成できます。ここでは、EC2インスタンスを2台用いた Elastic Load Balancing(ELB)の構成方法を記載します。

1.EC2インスタンスの作成

今回はまず最初に、EC2インスタンスを作成します。作成するインスタンスは複数個欲しいので、EC2インスタンス1号機と2号機の合計2個準備する事にします。

AWS ELB構成

なお、作成する2個のEC2インスタンスは、同じアベイラビリティゾーンに属する設定にします。

2.作成したEC2インスタンスで、apache設定を行い、httpdデーモンを起動する。

yumでapacheをインストールし、apache設定を行います。

その後、簡単なテスト用ページ(index.html)を作成します。

作成するindex.htmlはとてもシンプルなページをEC2インスタンス毎に用意します。以下は1号機に配置するindex.htmlの例です。

<HTML>
<TITLE>EC2インスタンス1号機</TITLE>
<BODY>
<H1>Test Server 1</H1>
</BODY>
</HTML>

以上で、EC2インスタンス側の準備は一旦終了です。

3.ELB作成

次にELBを作成します。

「Load Balancers」メニューから「Create Load Balancer」ボタンをクリックすると、作成ウィザードが始まります。

まず最初の画面では、名前、ポート設定、プロトコル設定を行います。

load-balancer-name

次の画面では、ヘルスチェックのオプション設定を行います。ヘルスチェック方法や、LBでEC2の状況を判断する為の間隔や条件について設定します。

health-check

次の画面では、LBに含めるEC2インスタンスを選択します。ここでは既に作成済の2個のEC2インスタンスを含めます。各EC2インスタンスは同じアベイラビリティゾーンになっています。

add-ec2-instances

次のレビュー画面で「Create」ボタンをクリックすると、ロードバランサーの作成処理が走ります。数分待つと、ロードバランサーが作成されます。

作成したロードバランサーの画面は以下のような感じです。

まずは、Description画面です。この画面では、LBのDNS名が参照できます。なお、LBに設定されるIPアドレスは時間が過ぎると変更される為、LBのアドレスに対してDNS公開名を設定する際は、CNAMEレコードとして作成する等の対応になります。

lb-description

次はロードバランシング対象のインスタンス一覧画面です。

lb-instances

次はヘルスチェックの設定内容画面です。

lb-health-check

次はロードバランサーでのリスナー設定です。

lb-listeners

4.バランシング確認

LBに設定されているDNS名を使って、ブラウザでアクセスしてみると、EC2インスタンスに設定したindex.htmlファイルの内容が確認できます。

なお、EC2インスタンス上のaccessログを参照すると、以下のようなログエントリになっていました。

10.152.133.160 - - [14/Jul/2013:04:50:57 +0000] "GET /index.html HTTP/1.1" 200 79 "-" "ELB-HealthChecker/1.0"
10.152.133.160 - - [14/Jul/2013:04:51:27 +0000] "GET /index.html HTTP/1.1" 200 79 "-" "ELB-HealthChecker/1.0"
10.152.133.160 - - [14/Jul/2013:04:51:57 +0000] "GET /index.html HTTP/1.1" 200 79 "-" "ELB-HealthChecker/1.0"
10.152.133.160 - - [14/Jul/2013:04:52:27 +0000] "GET /index.html HTTP/1.1" 200 79 "-" "ELB-HealthChecker/1.0"

ヘルスチェック間隔は30秒で設定していましたので、しっかり30秒毎にヘルスチェックがされているようです。エージェント名は「ELB-HealthChecker/1.0」となっていました。

Pocket

One thought on “AWS ELBを用いたサーバーの冗長化を行う方法

  1. Pingback: AWSについてのまとめ | kokonotsu.log

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。