Server Load Balancer

Server Load Balancer
はじめに
Server Load Balancer
はじめに
はじめに
概要
Server Load Balancer は、トラフィックを複数の ECS インスタンスに分散させるサービスです。トラフィッ
クを分散することでアプリケーションシステムのサービス能力を向上すると共に、SPOF (単一障害点) を回
避することによって可用性を高めることができます。
このガイドでは、Server Load Balancer サービスを使用して複数のホストのトラフィック負荷をすばやく分
散させる方法について説明します。次の図は、負荷を分散させる主要なプロセスを示しています。
Server Load Balancer の詳細な説明については、リファレンスドキュメント「Server Load Balancer プロダ
クトの概要」を参照してください。
データプランニング
アプリケーションシナリオ
サービスを構築する前に、ニーズを明確に理解し、適切な準備を行う必要があります。
たとえば、ローカルな北京 BBS フォーラムでは、パブリック VIP、Server Load Balancer、バックエンドに
マウントされた ECS インスタンスが必要です。
1
Server Load Balancer
はじめに
データの準備
Alibaba Cloud Web サイトのアカウントを持っている必要があります。
未登録のユーザーは、「アカウント登録」を参照してください。
サービスリージョンを確認します。
Alibaba Cloud が Server Load Balancer サービスを提供するのは次のリージョンです。アジア太
平洋 (シンガポール)、中国北部 1 (青島)、米国東部 (バージニア)、中国東部 1 (杭州)、中国北部 2
(北京)、香港、中国南部 1 (深圳)、米国西部 (シリコンバレー)。レイテンシ時間を短縮してダウンロ
ードの速度を上げるため、最も近い Server Load Balancer ノードを選択することをお勧めします
。
インスタンスタイプ (パブリックネットワークまたはプライベートネットワーク) を確認します。
実際のビジネスニーズに応じて、適切なインスタンスタイプを選択します。パブリックネットワー
クアクセスが必要な場合は、パブリックネットワークインスタンスを選択します。イントラネット
へのアクセスだけが必要な場合は、プライベートネットワークインスタンスを選択します。
課金方法 (トラフィック課金または帯域幅課金) を確認します。
パブリックネットワークの Server Load Balancer インスタンスを選択する場合は、ビジネスの実
際の特性に基づいて適切な課金方法を選択します。トラフィックの変動が大きいビジネスの場合は
2
Server Load Balancer
はじめに
、トラフィック課金をお勧めします。帯域幅の使用量が比較的安定しているビジネスの場合は、帯
域幅課金をお勧めします。もちろん、独自の判断でどちらの課金方法を選択してもかまいません。
ECS インスタンスを作成する
アプリケーションシナリオ
ビジネスニーズに応じて、いつでも ECS インスタンスを作成できます。詳細については、「典型的なアプリ
ケーションシナリオ」を参照してください。
考慮事項
- Server Load Balancer はリージョンをまたぐデプロイメントをサポートしていないので、Server
Load Balancer サービスと同じリージョンの ECS インスタンスを選択する必要があります。
- 実際のニーズにあった CPU とメモリのオプションを選択します。Windows OS のイメージは CPU
とメモリの一部の組み合わせでは使用できないことに注意してください。
- 実際のニーズに適したパブリック帯域幅を選択します。
- Alibaba Cloud では、Ubuntu、OpenSUSE、CoreOS、Debian、CentOS、Alibaba Cloud
Linux、Windows Server、FreeBSD など、さまざまなオペレーティングシステムが提供されていま
す。実際のニーズに基づいて、Alibaba Cloud によって正式に提供される OS を選択できます。ま
た、イメージマーケットの OS イメージを使用することもできます。
- 必要に応じてデータディスクを追加できます。ここで追加したデータディスクはデタッチできない
ことに注意してください。
- ECS インスタンスの作成時に設定するパスワードと ECS インスタンス名により、購入した ECS イ
ンスタンスに簡単にログインして管理できます。
操作手順
- Windows インスタンスの作成方法については、「Windows を実行するインスタンスの作成」を参
照してください。
- Linux インスタンスの作成方法については、「Linux を実行するインスタンスの作成」を参照して
ください。
インスタンスの表示
ECS インスタンスを作成した後、[コンソール] に移動し、[プロダクトとサービス] の [Elastic
Compute Service (ECS)] をクリックして、ECS 管理コンソールに移動します。
3
Server Load Balancer
はじめに
左側のナビゲーションバーで [インスタンス] をクリックして [インスタンスリスト] に移動します
。
関連するリージョンを選択します (このドキュメントでは例としてAsia Pacific NE 1 (Japan)を使
用します)。
作成されたインスタンスを表示します。
ECS インスタンスを設定する
ECS インスタンスを作成した後、使用前にこのインスタンスを設定します。ECS インスタンスを設定する基
本的な方法を次に示します。
Web サーバーを設定する
作成する必要があるのは単純な静的ページのみです。Apache を使用して、Mac OS 環境に Alibaba Cloud
Linux ECS インスタンスを設定します。手順は次のとおりです。
ECS インスタンスに接続する
最初に、コンピューターで “Terminal” サービスを開始します。次のコマンドを入力して、ECS インスタ
ンスに接続します。
ssh [email protected]
xxx.xxx.xxx.x05 は、接続する必要がある ECS インスタンスのパブリック IP アドレスです。次に、このイン
スタンスのパスワードを入力して、接続を確立します。
Apache をインストールする
ECS インスタンスとの初回の接続が確立した後、次のコマンドを入力して Apache をインストールし、設定
します。
yum install httpd*
/etc/init.d/httpd start
その後、次のコマンドを入力してポートのステータスを調べます。
/etc/init.d/httpd status
netstat -an |grep 80
4
Server Load Balancer
はじめに
ステータスが OK の場合、この ECS インスタンスの静的 Web ページの編集を始めます。
静的 Web ページを編集する
次のコマンドを入力して、この ECS インスタンスの静的 Web ページを編集します。
cd /var/www/html/
vim index.html
編集が済んだら、次のコマンドを使用して、編集後の静的 Web ページを表示します。
cat index.html
静的 Web ページにアクセスする
ECS インスタンスの静的 Web ページを生成しました。このインスタンスのパブリック IP アドレスをブラウ
ザーに入力してこのページにアクセスできます。
上の図のように、インスタンス ECS01 のパブリック IP アドレス (xxx.xxx.xxx.x05) を入力すると、ECS01 の
静的 Web ページに移動します。
上の図のように、インスタンス ECS02 のパブリック IP アドレス (xxx.xxx.xxx.x83) を入力すると、ECS02 の
静的 Web ページに移動します。
ワンキー設定とインストールパッケージ
5
Server Load Balancer
はじめに
より複雑な動的 Web ページを作成するには、Apache を含むさらに多くのコンポーネントをインストールし
ます。設定を容易にするため、現在 Alibaba Cloud Web サイトでは、Windows および Linux オペレーティ
ングシステム向けのワンキー設定とインストールパッケージが提供されています。これらは、上海の Cloud
Technologies によって提供される無料のオープンソースインストールパッケージです。安全で安定しており
、効率的です。
Server Load Balancer のインスタンスを作成す
る
アプリケーションシナリオ
ユーザーが以下を必要とする場合、Server Load Balancer インスタンスを作成することによって解決できま
す。
- アクセス数の多いビジネスに適した、柔軟なトラフィック分散
- スケールトラフィックを必要なさまざまな Web サーバーおよびアプリに適した、水平スケーリン
グアプリケーションシステムのサービス機能
- 一部の ECS インスタンスがダウンした場合も、アプリケーションシステムの通常機能が継続できる
、アプリケーションシステムの SPOF の除去
- マルチゾーンデプロイメントによる、アプリケーションシステムの耐障害性機能の向上。ゾーンが
ダウンした場合でもシステムの正常な機能が継続。
- WAF や CC の問題が発生することの多いビジネスに適した、アプリケーションシステムに対する攻
撃の防止
考慮事項
- Server Load Balancer はリージョンをまたぐデプロイメントをサポートしていないので、バックエ
ンド ECS インスタンスと同じリージョンを選択する必要があります。
- Server Load Balancer のインスタンスには、パブリックネットワーク上のインスタンスとプライベ
ートネットワーク上のインスタンスの 2 種類があります。
- Server Load Balancer サービスには、トラフィック課金と帯域幅課金の 2 種類の課金方法がありま
す。
操作手順
Server Load Balancer 管理コンソールにログオンします。
ECS インスタンスと同じリージョンを選択し、右上隅の [ロードバランサーの作成] をクリックし
6
Server Load Balancer
はじめに
ます。
適切なリージョン、プライマリゾーンとバックアップゾーン、インスタンスタイプ、パブリック帯
域幅、数量を選択します。
[購入する] をクリックして [注文の確認] ページに移動します。
設定情報を確認し、[有効化] をクリックします。
作成が完了したことを示す次のページが表示されます。
Server Load Balancer のインスタンスを表示する
[コンソール] に移動し、[Server Load Balancer] をクリックして [ロードバランサー] ページに移
動します。
関連するリージョンを選択して作成されたインスタンスを表示します。
上の図のように、Asia Pacific NE 1 (Japan) リージョンのパブリックネットワークには Server Load
Balancer インスタンスが作成されます。また、名前、課金方法、ポート/ヘルスチェックの設定、バックエ
ンドサーバーの設定、ステータス、ゾーン、ネットワークタイプ、IP アドレス、作成された Server Load
Balancer インスタンスについての他の情報を確認できます。
Server Load Balancer のインスタンスを設定す
る
Server Load Balancer インスタンスを作成した後、使用前に設定を行います。Server Load Balancer インス
タンスの設定と管理を行うには、3 つの主要な操作が必要です。Server Load Balancer インスタンス属性の
設定、Server Load Balancer モニタリングの設定、および Server Load Balancer インスタンスのバックエ
ンド ECS インスタンスの設定が必要です。
7
Server Load Balancer
はじめに
Server Load Balancer のインスタンス属性を設定する
管理コンソールに移動し、[Server Load Balancer] サービスを選択します。
[Server Load Balancer] インスタンスリストページで、Server Load Balancer のインスタンスを
選択します。
基本情報ページの右にある [管理] をクリックします。
作成される Server Load Balancer インスタンスの名前を編集します。
上の図のように、この例では、”sarah.cxj-lb02” という名前の Server Load Balancer インスタンスを作成
します。
Server Load Balancer のモニタリングを設定する
Server Load Balancer インスタンスの [管理] リンクをクリックし、Server Load Balancer インス
タンスの詳細ページに移動します。
左側のナビゲーションバーで [インスタンスリスナー] をクリックし、[インスタンスリスナー] ペ
ージに移動します。
[インスタンスリスナーリスト] タブの右上隅にある [リスナーの作成] をクリックし、[リスナーの
追加] ダイアログボックスを表示します。
注意:
- 1 つの Server Load Balancer インスタンスに追加できるリスナーは 50 個までです。
- 現在、Server Load Balancer はレイヤー 4 (TCP、UDP プロトコル) とレイヤー 7
(HTTP、HTTPS プロトコル) に対して提供されています。
TCP プロトコルを選択し、リスナーのバックエンド ECS ポートを 80 に設定します。
8
Server Load Balancer
はじめに
注意: 前に作成した ECS インスタンスでは Apache の設定のみを実行したので、この例ではレイヤー 4 (TCP
プロトコル) の Server Load Balancer サービスモニタリングを設定します。
1. ニーズに基づいて、2 つの転送ルール [重み付きラウンドロビン (WRR)] と [最小接続アルゴリズム
(Least Connections)] のどちらかを選択できます。この選択に従って外部アクセス要求が転送され
ます。
- [重み付きラウンドロビン (WRR)] では、外部および内部のアクセスリクエストが処理の順番でバッ
クエンド ECS インスタンスに分散されます。
- [最小接続アルゴリズム (Least Connections)] では、最少数の接続で処理が行われ、これらのリク
エストがバックエンド ECS インスタンスに分散されます。
1. [次のステップ] をクリックしてヘルスチェック設定ページに移動します。
9
Server Load Balancer
はじめに
ヘルスチェックのパラメーターの設定では、以下を参考にすることをお勧めします。
応答タイムアウト: 5 秒
ヘルスチェック間隔: 2 秒
異常状態しきい値: 3
正常状態しきい値: 3
このように設定すると、ユーザーサービスとアプリケーションのステータスが迅速に統合されます。
ECS ヘルスチェックが失敗したときの応答時間: 2×3+5=11 秒
応答をさらに速くするには、応答タイムアウトの値を小さくします。ただし、実際のサービスが通常この値より短い時間で
処理されることを確認してください。
ECS ヘルスチェックが成功したときの応答時間: 2 × 3 = 6 秒
バックエンド ECS の設定
Server Load Balancer 管理コンソールにログオンします。
Server Load Balancer インスタンスの [管理] リンクをクリックし、Server Load Balancer インス
タンスの詳細ページに移動します。
10
Server Load Balancer
はじめに
左側のナビゲーションバーで [バックエンドサーバー] を選択し、[ロードバランサーサーバーのプ
ール] に移動します。
[追加されていないサーバー] タブをクリックし、関連する ECS リストページに移動します。
1. ECS インスタンスを選択し、その右側にある [追加] をクリックして [バックエンドサーバーを追加
] ダイアログボックスを表示します。
11
Server Load Balancer
はじめに
重みを設定します。各バックエンド ECS インスタンスの重みを 100 に設定すると、平均的な転送
ルールを採用したことになります。
次の図のように、追加した 2 つのバックエンド ECS インスタンスが [追加されたサーバー] タブに
表示されます。
ヘルスチェックのステータスを調べる
Server Load Balancer 管理コンソールにログオンします。
12
Server Load Balancer
はじめに
左側のナビゲーションバーで [ロードバランサー] をクリックしてインスタンス管理ページに移動
します。
適切なリージョンを選択し、対象のインスタンスの [ポート/ヘルスチェック] が [正常] かどうかを
確認します。
1. ステータスが [正常] であることを確認し、次のタスクに進みます。
Server Load Balancer を検証する
前提条件
前記の手順に従って、Server Load Balancer インスタンスの基本設定を完了します。
操作手順
この Server Load Balancer インスタンスの IP アドレスをブラウザーに入力します。
テスト結果を調べて、この Server Load Balancer インスタンスが正しく設定されているかどうか
を確認します。
次の 2 つの図のように、Server Load Balancer インスタンスのパブリック IP アドレス (xxx.xxx.xxx.x85) を
入力すると、2 つのバックエンド ECS インスタンスの一方の静的 Web ページにランダムにアクセスします
。
13
Server Load Balancer
はじめに
ドメイン名解決
アプリケーションシナリオ
DNS を介して外部のサービスを提供するアプリケーションを使用するためには、インターネット上で
Server Load Balancer と適切に連携します。そのためには、ドメイン名登録サービスプロバイダーの Web
サイトでドメイン名を対応する Server Load Balancer インスタンスの IP アドレスに解決する必要がありま
す。ドメイン名解決に成功した場合にのみ、DNS を介してこのサービスにアクセスできます。
たとえば、ECS インスタンスのドメイン名が “taobao.com” であれば、このドメイン名はパブリック IP
アドレス 1.1.1.1 に解決され、Server Load Balancer インスタンスのパブリック IP アドレスは 2.2.2.2 にな
ります。この場合、ドメイン名 “taobao.com” をパブリック IP アドレス 2.2.2.2 に解決して、ユーザーが
DNS を介してその IP アドレスにアクセスできるようにします。
通常、このドメイン名解決は A レコード名前解決を通じて行われます。
操作手順
Alibaba Cloud DNS を使用してドメイン名を解決できます。詳細については、「解決レコードを追加する」
を参照してください。
Server Load Balancer のインスタンスを削除す
る
アプリケーションシナリオ
不要になった Server Load Balancer インスタンスは削除できます。
14
Server Load Balancer
はじめに
注意: Server Load Balancer インスタンスを削除しても、バックエンドの ECS インスタンスに影響はありま
せん。
考慮事項
- 削除する前に、ドメイン名を新しい IP アドレスに付け替え、ビジネスが中断しないようにする必要
があります。
操作手順
トラフィックを Server Load Balancer のドメイン名の CNAME レコードに送っている場合は、
Server Load Balancer インスタンスを削除する前に、ドメイン名を新しい IP アドレスに付け替え
る必要があります。
Server Load Balancer コンソールにログインします。
左側のナビゲーションバーで [Instance Management] をクリックして [Instance Management]
ページに移動します。
リージョンおよび対応する Server Load Balancer を選択します。
[Release Settings] をクリックして、[Release Settings] ダイアログボックスを表示します。
[Immediate Release] または [Timed Release] を必要に応じて選択します。
- [Immediate Release] を選択した場合は、[Next] をクリックします。
- [Timed Release] を選択した場合は、自動リリース日時を選択して、[Next] をクリックします。
表示されるリリース設定確認ページで [OK] をクリックして、携帯電話検証ステージに進みます。
15
Server Load Balancer
はじめに
携帯電話検証コードを入力して [OK] をクリックし、Server Load Balancer をリリースします。
次の操作処理
Server Load Balancer インスタンスをリリースした後も、関連するバックエンド ECS インスタンスは実行を
続け、ユーザーはその動作に対して課金されます。これは、従量課金インスタンスのリリースに対してのみ
適用されます。具体的な動作については、「インスタンスのリリースと自動リリースの無効化 (従量課金ユー
ザー向け)」を参照してください。
16