Server Load Balancer

アプリケーションの高可用性を実現するサーバーロードバランサー

今すぐ購入

Server Load Balancer

Server Load Balancer は、アプリケーションと Web サイトに拡張性と高可用性を提供します。サーバーの状態を監視し、セッションを維持しつつ複数のサーバーにアプリケーションリクエストを自動的に分散させます。これにより、サービスの停止を回避できます。


お客様の声

"Server Load Balancer はシステムの安定性と信頼性を確保し、ユーザー可用性を大幅に向上させます。"


利点

可用性

● 最高99.9%の可用性を保証します。

● 異なるアベイラビリティゾーンに含まれる複数のインスタンス間で、トラフィックを自動的に分散します。

● 異常なインスタンスをすばやく検出し、正常なインスタンスのみに対してトラフィックを転送します。

安全性

● SYNフラッド攻撃およびDDoS攻撃を防御します。

● 内部ロードバランサーを作成し、Virtual Private Cloud (VPC)内でプライベートIPアドレスを使用してトラフィックを転送します。

● 内部(プライベート)およびインターネット(パブリック)向けのロードバランサーを使用して、安全なアーキテクチャを構築できます。

コスト削減効果

● 従量課金モデルを提供します。

● ロードバランシングの他の既存モデル(ハードウェア負荷分散装置を導入の場合)と比較すると、最大60%のコスト削減効果が期待できます。


プロダクトの詳細

Server Load Balancer は、複数のECSインスタンスに受信トラフィックを分散します。異常なインスタンスをすばやく検出し、正常なインスタンスのみに対してトラフィックを転送します。また、拡張性の高い堅牢なアプリケーションを構築ができるようになります。それにより、SPOF (単一障害点)が排除され、アプリケーションの高可用性を実現できます。

Server Load Balancer により、SPOF (単一障害点) が排除され、アプリケーションの高可用性が確保されます。このサービスは、ECS インスタンス上に設定されます。


特徴

可用性

● 単一および複数のアベイラビリティゾーンに含まれる正常なECSインスタンスに受信トラフィックを分散します。

● クラスターデプロイメントおよびマルチゾーンデプロイメントをサポートし、マルチレイヤーの耐障害性を保証します。

  • マシン間のセッション同期が可能なクラスターデプロイメントを有効にすることにより、ホットアップグレードをサポートし、ユーザーに対してマシンの障害とクラスターのメンテナンスを透過的にします。

  • 一部のリージョンでマルチゾーンデプロイメントモデルを使用することにより、ローカルディザスタリカバリを容易にします。

  • DNSと組み合わせて使用すると、グローバルロードバランシングとリージョンをまたぐディザスタリカバリがサポートされます。

ヘルスチェック

● ECS インスタンスのヘルスチェックをサポートし、ユーザーがヘルスチェックの頻度を指定できるようにします。 ECS インスタンスがヘルスチェックに合格しない場合は、トラフィックがそのインスタンスに転送されないため、アプリケーションの可用性が確保されます。

● 定期的なヘルスチェックにより、バックエンドで実行されている ECS インスタンスの通常の操作を確実にします。

柔軟性

● 複数のトラフィックスケジューリングアルゴリズムをサポートし、トラフィックを均等に分散します。

● 重み付きラウンドロビン(WRR)と最小接続アルゴリズム(Least Connections)もサポートします。ニーズに応じて最適なトラフィック分散アルゴリズムを選択できます。

● Server Load BalancerとElastic Scaling Serviceを使用すると、ECSインスタンスを簡単にスケーリングできます。

レイヤー 4 およびレイヤー 7 を介したロードバランシング

● レイヤー 4 およびレイヤー 7 のセッション維持をサポートします。

● レイヤー 4 Server Load Balancer は IP アドレス、レイヤー 7 Server Load Balancer はクッキーを使用して、セッション維持を実現します。

● 一定期間内に単一ユーザーからのアクセスリクエストを同じ ECS インスタンスに転送し、セッションの継続性を確保します。

安全性

● Alibaba Cloudのあらゆるネットワークに対応します。(クラシックネットワーク / VPCネットワークおよびパブリックネットワーク / プライベートネットワーク)

● HTTPSプロトコルに対応します。

管理機能

SLBには、さまざまな管理方法が用意されており、Server Load Balancerを作成、変更、および管理することができます。

  • コンソールを使用して、Server Load Balancerを作成、変更、および管理することが可能です。

  • SLB用のOpen API、SDK、CLIを使用して、SLBを作成、設定、および管理することも可能です。


料金

Server Load Balancerの料金は、インスタンスの数とその利用時間およびネットワークトラフィック量に基づいて計算されます。正確な価格は購入ページで表示される情報を確認ください。

次の価格は参考用の価格です(※)。正確な価格は、選択するカスタマイズプランに基づきます。

※表示価格は特に断りがない限り税抜です。

従量課金

料金は、ロードバランサーのレンタル期間およびネットワークトラフィックに基づいて計算されます。

支払い方法: 先に使用して、料金は後払い

詳細:

a) パブリックネットワークとプライベートネットワークという、2 タイプの Server Load Balancer インスタンスがあります。パブリックのインスタンスにはグローバルIPアドレスの料金を含みます。

b) ネットワークトラフィックの料金は使用量に比例して計算されます。プライベートネットワークインスタンスの場合、ネットワークトラフィックの料金は課金されません。

c) ネットワークトラフィックは時間単位でリアルタイムで課金されます。インスタンスの使用時間が 1 時間未満の場合でも、1 時間分の料金が課金されます。

d) 課金額は、インスタンス料金とネットワークトラフィック料金の合計です。ただし、ネットワークトラフィック料金は送信トラフィック (ダウンストリームトラフィック) に課せられます。受信トラフィック (アップストリームトラフィック) には課せられません。


利用イメージ

Server Load Balancer は、異なるアベイラビリティゾーンに含まれる複数のインスタンス間で、Webサイト/アプリケーションのトラフィックを自動的に分散できます。Server Load Balancerの利用イメージを以下に示します。

トラフィックピークが頻繁に発生するWebサイト

この利用イメージでは、トラフィックを予測できるが、帯域幅の要件が変動することを想定しています。Server Load Balancerは、Elastic Scaling Service(ESS)と連携することで、周期的なトラフィックピークを管理し、Webサイトのパフォーマンスを維持することができます。

サービス構成例: Server Load Balancer + Elastic Compute Service (ECS) + Elastic Scaling Service (ESS) (近日リリース)

構成イメージ


はじめに

Alibaba Cloud Server Load Balancer では、コンソールをはじめ、CLI、API、SDKなどの開発者向けリソースを使用して、様々な方法でロードバランサの操作をすることができます。

コンソールを用いたServer Load Balancerの使用

コンソールは、ロードバランサーインスタンス及び、その配下のサーバー群を設定できる、Webベースのシンプルなコンソールです。このコンソールを使うことで、ロードバランサーを作成および変更、またSSL証明書やポートなどの設定も可能です。

ロードバランサーを管理する手順については、クイックスタートガイドを参照してください。

Alibaba Cloud CLI を介した Server Load Balancer の使用

Alibaba Cloud CLI (コマンドラインインターフェイス)を用いて、Server Load Balancerリソースを管理できます。こちらからCLIパッケージをダウンロードしてインストールできます。

Server Load Balancer API リファレンス

API を使用して、ロードバランサーの作成または変更、ヘルスチェックの実行、SSL証明書、ポート、およびインスタンスの管理を行うことができます。利用可能なAPIはこちらのAPI ガイドを参照してください。

Server Load Balancer SDK リファレンス

Server Load Balancerは、各種プログラミング言語のSDKを用いて操作することもできます。利用についてはSDK ガイドを参照してください。


リソース

これらのリソースを参照すると、Alibaba Cloud Server Load Balancerの構造を理解できます。 ドキュメント、SDK、およびその他のリソースへのリンクはこちらをご確認ください。

開発者向けリソース


よくある質問

1. どのような種類の Server Load Balancer が利用できますか。Server Load Balancer のタイプは変更できますか。

Alibaba Cloud には、2 つのタイプの Server Load Balancer サービスが用意されています。1 つはパブリックで、もう 1 つはプライベートです。ビジネス要件に応じて、Server Load Balancer のタイプを選択することができます。その後、パブリックまたはプライベート IP アドレスが Server Load Balancer に自動的に割り当てられます。

クラウドロードバランサー、つまり Server Load Balancer システムにより、選択したサーバーロードバランシングのタイプに応じて異なるサービスアドレス (パブリック/プライベート IP アドレス) が割り当てられます。Server Load Balancer のタイプを変更するには、最初に古い Server Load Balancer を削除してから、目的のタイプの新しい Server Load Balancer を作成する必要があります。

2. ECS インスタンスの重みとは何ですか。

インスタンスの重みは、SLB によって各 ECS インスタンスに転送されるトラフィックの割合として定義することができます。ECS の重み比率が高くなると、その ECS インスタンスが受信するトラフィックが増加します。

3. 同じ重み付け値を持つECSサーバーの間で、実際の負荷が異なるのはなぜですか。

セッション維持オプションが有効になっている場合、Server Load Balancerでは、ユーザーのセッションを特定のインスタンスに振り分けることができるため、セッション中にユーザーのすべてのリクエストが同じインスタンスに送信されます。その結果、同じ重み付け値を持つECSサーバーの間で、実際の負荷が異なる場合があります。

4. Alibaba Cloud Server Load Balancer を使用しているとき、Server Load Balancer 内の ECS インスタンスの数はいつでも増減できますか。

はい。クラウドロードバランサー内のバックエンドサーバーまたは ECS インスタンスの数を増減することができます。ただし、この操作の実行中に、新しいインスタンス向けのヘルスチェック機能を有効化しておくことをお勧めします。

5. Server Load Balancer は、同じポートを介した複数のサイトへの同時アクセスをサポートしていますか。

はい。複数のドメイン名を Server Load Balancer IP アドレスに解決し、複数の ECS サーバーにそれぞれ異なるホストヘッダーを設定することで、1 つの Server Load Balancer インスタンスに対して複数のポートからアクセスできるようになります。

6. Server Load Balancer は、最大で何個の ECS インスタンスをサポートしますか。

Alibaba Cloud の Server Load Balancer インスタンスの設定では、ECS サーバーの数は制限されていません。ただし、サービスの安定性と効率性を確保するために、業務のタイプやアプリケーションモジュールに応じて、別のサービスを提供するサーバーや別のタスクを実行するサーバーを別の Server Load Balancer インスタンスの下に設定することをお勧めします。

7. Server Load Balancer 内の異なるECSインスタンス間でデータを確実に同期する方法を教えてください。

Rsyncなど、多くの利用可能なツールのいずれかを選択し、サーバー間でデータを同期することができます。ECSインスタンスをステートレスアプリケーションサーバーとして構築し、データとファイルをリレーショナルデータベースサービス(RDS)とObject Storage Service (OSS)に保存することもできます。

8. 異なるオペレーティングシステムの ECS インスタンスは、同じ Server Load Balancer 内で機能しますか。

はい。アプリケーションサービスの設定と ECS インスタンスのデータについて整合性が確保されている限り、ECS インスタンスが使用するオペレーティングシステムに関して、Server Load Balancer 自体から制約が課されることはありません。ただし、インスタンスの管理と保守を容易にするために、同じオペレーティングシステムの ECS Web サーバーを 2 つ選択することをお勧めします。

9. ECS のロードバランシングには、追加の設定は必要ですか。

Server Load Balancer インスタンス内に ECS インスタンスを追加する場合、特別な設定は不要です。Linux システムで、レイヤー 4 Server Load Balancer (TCP プロトコル) サービスに関連付けられている ECS インスタンスへのアクセスに失敗する場合、システム設定ファイル /etc/sysctl.conf の次の 3 つの値が 0 であることを確認する必要があります。

net.ipv4.conf.default.rp_filter = 0

net.ipv4.conf.all.rp_filter = 0

net.ipv4.conf.eth0.rp_filter = 0

同じイントラネットにデプロイされている ECS インスタンス間の通信に失敗する場合は、次のパラメーターが正しく設定されているかどうかを確認する必要があります。

net.ipv4.conf.default.arp_announce = 2

net.ipv4.conf.all.arp_announce = 2

設定を更新するには、sysctl –p コマンドを使用します。

10. Server Load Balancer 内で ECS インスタンスを使用する場合、追加の帯域幅が必要ですか。

ECS インスタンスと Server Load Balancer はイントラネットを経由して通信するため、ECS は追加のインターネット接続帯域を必要としません。

11. 1 つのServer Load Balancerの複数のECSサーバーを異なるリージョンに配置できますか。

Server Load Balancerを、リージョンをまたいで配置することはできません。

12. ECS のパブリック NIC (ネットワークインターフェイスカード) を無効化すると、Server Load Balancer サービスに影響を及ぼしますか。

はい。ECS のパブリック NIC を無効化すると、Server Load Balancer サービスに影響を及ぼします。

ECS サーバーがパブリックとプライベートの両方の IP アドレスを使用している場合、パブリック NIC を無効化すると、SLB サービスに影響を及ぼします。これは、デフォルトのルートがパブリックからプライベートに変更されて、リクエストが返されなくなることがあるためです。Alibaba Cloud では、パブリック NIC を無効化しないことが推奨されます。

NIC を無効化しない場合は、デフォルトのルートをプライベートネットワークに変更する必要があります。ただし、パブリックネットワークを経由して RDS などの他のサービスにアクセスするときは、サービスがパブリックネットワークに依存しているかどうかを考慮する必要があります。

13. Server Load Balancer のセッション維持の背後にあるメカニズムは何ですか。

セッション維持を有効にすると、Server Load Balancer により、セッション中にサーバーアクセスリクエストが 1 つのクライアントから同じ ECS インスタンスに配信されて処理されます。

レイヤー 7 Server Load Balancer (HTTP プロトコル) では、システムのセッション維持はクッキーに基づきます。

レイヤー 4 Server Load Balancer (TCP プロトコル) では、システムのセッション維持は IP アドレスに基づきます。

Server Load Balancer のセッション維持の詳細については、『SLB ユーザーガイド』を参照してください。

14. セッション維持を有効にする方法とその最長時間を教えてください。

Server Load Balancer モニタリングを設定するときに、セッション維持のオプションを選択できます。モニタリングサービスごとに異なるセッション維持ポリシーを設定できます。最も長いセッション維持は、86,400 秒 (24 時間) です。

Server Load Balancer のセッション維持の詳細については、『SLB ユーザーガイド』を参照してください。

Server Load Balancer のセッション維持設定の詳細については、以下を参照してください。

15. Server Load Balancer では、ドメイン名の違いに応じたセッション維持ルールがサポートされていますか。

はい。Server Load Balancer では、ドメイン名の違いに応じたセッション維持ルールがサポートされています。これは、Server Load Balancer によって提供されている "サービス Cookie の書き換え" セッション維持によって実現できます。サーバーロードバランシングの設定の詳細については、『SLB ユーザーガイド』を参照してください。

16. ECS サーバーのヘルスチェックを有効にする方法を教えてください。

Server Load Balancer モニタリングを設定するときに、ヘルスチェックのオプションを有効にする必要があります。モニタリングサービスごとに異なるヘルスチェックポリシーを設定できます。

Server Load Balancer のヘルスチェックの詳細については、『SLB ユーザーガイド』を参照してください。

Server Load Balancer のヘルスチェックの詳しい設定手順については、『SLB コンソール操作ガイド』を参照してください。

17. ヘルスチェックを適切に設定する方法を教えてください。

Server Load Balancer のヘルスチェックは、主に ECS インスタンスに対してハートビートチェックを開始することで実施されます。

Server Load Balancer システムと ECS は、イントラネットを通じて相互に通信します。ヘルスチェックを正常に行うためには、イントラネットを通じて ECS にアクセスできるようにする必要があります。

エンタープライズロードバランサーのヘルスチェックの詳細については、『SLB ユーザーガイド』を参照してください。

18. Server Load Balancer の最大帯域幅とその設定制限を教えてください。

アプリケーションの容量要件に応じて、さまざまな帯域幅ピークを設定できます。 帯域幅ピークを設定するときのルールは次のとおりです。

  • Alibaba Cloud SLB では、各モニタリングサービス用のさまざまなルールが適用される最大 50 個のサービスを管理できます。

  • 単一のモニタリングサービスの帯域幅ピークは、5 ~ 1,000 Mbps の範囲で設定できます。

  • アプリケーションの要件が現在の制限を超えていることがモニタリングサービスで示されている場合、帯域幅制限をリセットできます。

Server Load Balancer の帯域幅ピーク設定の詳細については、『SLB コンソール操作ガイド』を参照してください。

19. Server Load Balancer でサポートされるプロトコルは何ですか。

Server Load Balancer では、レイヤー 4 TCP プロトコル、レイヤー 7 HTTP プロトコル、およびレイヤー 7 HTTPS プロトコルがサポートされます。

20. Server Load Balancer でサポートされている転送方法は何ですか。

現在、Server Load Balancerでは、次の2つの転送アルゴリズムがサポートされます。

1. 重み付きラウンドロビンアルゴリズム(WRR):バックエンドサーバーまたはECSインスタンスに外部および内部のアクセスリクエストを処理順に転送します。

2. 最小接続アルゴリズム(Least Connections):最も接続が少ないECSインスタンスにアクセスリクエストを転送します。

21. ヘルスチェックを設定するときの推奨値は何ですか。

Alibaba Cloudでは、ヘルスチェック用に次の設定が推奨されます。

応答タイムアウト: 5 秒

ヘルスチェック間隔: 2 秒

異常状態しきい値: 3

正常状態しきい値: 3

22. Server Load Balancer IP アドレスにバインドされているドメイン名を通じて HTTP Server Load Balancer サービスへのアクセスを試みると、503 エラーが発生する理由は何ですか。

通常、このエラーは、ヘルスチェックの設定が正しくないことによって発生します。

Alibaba Cloud Server Load Balancer のヘルスチェック例外のトラブルシューティングの詳細については、『SLB ユーザーガイド』を参照してください。