先日は ELB に SSL 証明書を登録する手順を解説しました。
【AWS】ELBにSSLサーバー証明書を導入しインターネット経由でアクセスできる環境を構築する手順
Amazon Route 53 を利用して「お名前.com」で取得した独自ドメインを名前解決させる手順です。
【AWS】お名前.com で取得した独自ドメインを Amazon Route 53 で名前解決して EC2 インスタンスの Web サーバーにアクセスさせる手順
今回はインターナル(プライベートサブネット)でロードバランスをする ELB の構築方法について解説します。
ネットワーク構成図
全体のネットワーク構成図です。
構成の要件としては以下のようになります。
- Webサーバー(Apache)からAPIサーバー(Tomcat)へロードバランスしたい。
- WebサーバーからAPIサーバーだから内部でのロードバランスとなる。
- ELBは異なるアベイラビリティゾーン(AとC)に配置したい。
インターナル ELB(内部 ELB)を構築する手順
AWS 管理コンソールにログインして「サービス」–「コンピューティング」–「EC2」をクリックします。
左側ペインより「ロードバランサー」をクリックします。
「ロードバランサ―の作成」ボタンをクリックします。
「Classic Load Balancer」の「作成」ボタンをクリックします。
「ステップ1:ロードバランサ―の定義」画面で以下のように設定します。
- 内部向けロードバランサーの作成 ← チェックを入れます。
- リスナーの設定: ロードバランサ―のプロトコル HTTP
ロードバランサ―のポート 80
インスタンスのプロトコル HTTP
インスタンスのポート 8080
「ステップ2:セキュリティグループの割り当て」画面でセキュリティグループを割り当てます。
「新しいセキュリティグループ」を作成するか「既存のセキュリティグループ」を割り当てます。
設定が完了したら「セキュリティ設定の構成」ボタンをクリックします。
「ステップ3:セキュリティ設定の構成」画面でメッセージを確認したら「ヘルスチェックの設定」ボタンをクリックします。
「ステップ4:ヘルスチェックの設定」画面で下図のように設定します。
- ping プロトコル : TCP ← ファイル(health.htmlなど)に直接アクセスしてヘルスチェックする場合は「HTTP」を選択します。
- ping ポート : 80 ← ポート番号を指定します。HTTPS なら 443 を選択します。
- 応答タイムアウト : 5 ← 何秒応答がなかったらタイムアウトとするのか設定します。ネットワーク環境が悪い場合は若干タイムアウト時間を延ばすなど設定をします。
- 間隔 : 10 ← 何秒間隔でヘルスチェックを行なうか設定します。この間隔はタイムアウトよりも長くなければなりません。(同値か低い値を選択するとエラーになります)
- 非正常のしきい値 : 2 ← 何回タイムアウトが発生したら非正常と判断するのか設定します。
- 正常のしきい値 : 2 ← 何回正常が続いたら正常と判断するのか設定します。
設定が完了したら「EC2インスタンスの追加」ボタンをクリックします。
「ステップ5:EC2 インスタンスの選択」画面で ELB で負荷分散をするインスタンスを2つ選択します。
※今回の場合はアベイラビリティゾーンを a と c に分散しています。
選択をしたら「タグの追加」ボタンをクリックします。
「ステップ6:タグの追加」画面でタグを任意のタグを作成して「確認と作成」ボタンをクリックします。
「ステップ7:確認」画面で設定内容をチェックして問題がなければ「作成」ボタンをクリックします。
下図のように「ロードバランサ―を正常に作成しました」のメッセージが出力されることを確認します。
アクセス確認
アクセスする時は、インターナル用の DNS 名でアクセスをします。
インターナル用の DNS は、インターネット経由ではつながりませんが、プライベートサブネットからならアクセスできます。
コメント