フォーム読み込み中
ご覧いただきありがとうございます。ソフトバンクの結城です。
Alibaba Cloudが提供しているロードバランサプロダクト『Server Load Balamcer (SLB)』で2022年7月22日より、新たに『Network Load Balancer (NLB)』のパブリックプレビュー版がリリースされましたので紹介します。
※NLBを除く、Alibaba Cloudのロードバランサについては以下、記事で紹介しておりますので、ぜひ、参照ください。
▶ 『Alibaba Cloudのロードバランサ機能 / 使い方について紹介』
▶『パブリッククラウドのロードバランサ機能について比較をしてみた(Alibaba Cloud/ AWS / Azure / Google Cloud)』
◆NLBの特徴
NLBはOSI参照モデルのL4 (トランスポート層)に特化したロードバランサです。
オンデマンドで自動的にスケーリングができ、最大1億の同時接続がサポートされていることが大きな特徴です。CLBが提供しているL4機能に加えて、8つの機能が利用できます。
◆CLBとの機能比較
機能タイプ | 特徴 | CLB | NLB |
|---|---|---|---|
リスナー | TCPリスナー | 〇 | 〇 |
UDPリスナー | 〇 | 〇 | |
SSL over TCP を使用するリスナー | - | 〇 | |
スケジューリングアルゴリズム | ラウンドロビン | 〇 | 〇 |
加重ラウンドロビン | 〇 | 〇 | |
ソースIPアドレスに基づくコンシステントハッシュ | 〇 | 〇 | |
4 つの要素に基づく一貫性のあるハッシュ | 〇 | 〇 | |
QUIC ID に基づく一貫したハッシング | 〇 | 〇 | |
信頼性 | クロスゾーン展開 | - | 〇 |
ヘルスチェック | 〇 | 〇 | |
バックエンド サーバー | Elastic Compute Service (ECS) インスタンス、Elastic Network Interface (ENI)、Elastic Container インスタンス | 〇 | 〇 |
IPアドレス | - | 〇 | |
別の地域のオンプレミス サーバ | - | 〇 | |
高度な機能 | 1 秒あたりの新しい接続数の制限 | - | 〇 |
ポート範囲によるリッスン | - | 〇 | |
Connection Draining | - | 〇 | |
プロトコルのバージョン | デュアルスタック (IPv4 および IPv6) | - | 〇 |
◆考察
CLBではL4, L7の2つのレイヤーをサポートしていますが、L4に特化した機能が利用できるNLBが登場したことによって、CLBでL7を使っていない / L4で大きなスケールで利用したいといった場合はNLBを選択するとよいでしょう。特にオンプレミス環境と接続ができる機能については、利用ユーザがロードバランサの機器の導入 / 設定 / 設置をする必要がないため、利用ユーザがメンテナンス等をする必要がありません。
この機能はCLB, ALBでは提供されていないため、現在NLBのみがこの機能を利用することができます。
2022年8月現在、NLBの正式版はされておらず、パブリックプレビュー版のみがリリースされています。
※公式のアナウンス
デフォルトではSLBコンソールにNLBのメニューが表示されておらず、利用開始にはAlibaba Cloudコンソールよりチケット起票をいただき、利用開始の申請をいただく必要があります。
パブリックプレビュー版では、急なサービスの停止の可能性があるため、本番環境で利用することは推奨されておりません。本番利用される場合は、正式版のリリースまでお待ちください。
※SLBのプロダクトアップデート情報 (公式サイト)
また、現在サポートされているリージョンは以下、リージョンがサポートされています。
NLBは従量課金制のみサポートしています。課金項目としてはインスタンス料金 / LCU料金 / アウトバンドトラフィック料金があります。パブリックプレビュー版では、インスタンス料金や LCU 料金は請求されず、インターネットを介したデータ通信に対してのみ課金されます。
パブリックプレビュー期間の終了予定は未定ですが、NLBの導入を検討されている場合は、お早めに検証等をいただくことをお勧めいたします。
※課金に関する詳細
今回はNLBを使って一般的なWebサイトの環境構成の構築方法と実際にNLBが機能している様子について紹介します。
環境については以下の通りです。
<ECSインスタンス>
ShanghaiリージョンのZoneB / Fにそれぞれ1台ずつECSインスタンスを作成します。
今回はECS_1をダウンさせて、ECS_2のWebページが表示されるかNLBの動作確認を行いますのでWebページを用意してください。
※Webページを設定されていない場合は以下、手順を参照いただき、Webページを設定してください。
◆Webページの準備方法 (ECS_1 と ECS_2の両方に設定する必要があります)
1 ) ECSインスタンスにSSHでログインします
2 ) rootユーザで以下のコマンドを実行します
① #yum -y install httpd
② #vi /var/www/html/index.html
ECS_1の場合 ) This Instance is NLB-Zone B
ECS_2の場合 ) This Instance is NLB-Zone F
③ #systemctl enable httpd
④ #systemctl restart httpd
<ICP登録済みのドメイン>
今回はChina(Shanghai)リージョンを利用するため、ICP登録済みのドメインが必要となります。
中国でドメインを利用する場合は、ICP登録が必須となります。
※ICP登録の詳細
① SLBコンソールにアクセスし、左ペインの【NLB】のプルダウンをクリックし、【Instance】をクリックします。以下、画面が表示されますので【Create NLB】をクリックします。
② NLBインスタンスの購入画面が表示されますので、今回は以下の通りパラメータを設定します。
Region : China(Shanghai)
Network Type : Internet-facing
VPC : 任意のVPCを指定します
Zone : Shanghai Zone B / Fにチェックを入れVswitchを選択します
設定が完了したら画面下部にある【Buy Now】をクリックします。
③ 購入が完了するとインスタンスが表示されますので、インスタンスが作成されたか確認します。
④ 左ペインの【Server Group】をクリックし、【Create Server Group】をクリックします。
⑤ Server Groupの設定画面が表示されますので、今回は以下の通りパラメータを設定します。
Server Group Type : Instance
Server Group Name : 任意の名前を入力します
VPC : NLBインスタンス作成時に指定したVPCを選択します
Backend Server Protocol : TCP
Scheduling Algorithm : Weighted Round-Robin
設定が完了したら画面下部にある【OK】をクリックします。
⑥ 作成が完了するとServer Groupが表示されますので、Server Groupが作成されたか確認します。その後、作成されたServer GroupのIDをクリックします。
⑦ 以下の画面の通り、【Backend Servers】のタブをクリックし、【Add Backend Server】をクリックします。
⑧ Backend Serverの設定画面が表示されますので、ECS(Shanghai Zone B / F)インスタンスのチェックボックスにチェックを入れ、画面下部にある【Next】をクリックします。
⑨ 表示された画面で以下の通り、パラメータを入力します。
<Shanghai Zone B>
Port : 80
Weight : 100
<Shanghai Zone F>
Port : 80
Weight : 10
パラメータの入力が完了したら、画面下部にある【OK】をクリックします。
⑩ バックエンドサーバが追加されると、Backend Serversに追加したバックエンドサーバが表示されますので、追加したバックエンドサーバが表示されるか確認します。
⑪ 左ペインの【NLB】のプルダウンをクリックし、【Instance】をクリックします。②で作成したNLBのインスタンスIDをクリックします。
⑫ 【Listener】のタブをクリックし、【Create Listener】をクリックします。
⑬ リスナーの設定画面が表示されますので以下の通り、パラメータを設定します。
Listening Protocol : TCP
Listener Port : 80
Listener Name : 任意の名前を入力します
設定が完了したら、画面下部にある【Next】をクリックします。
⑭ ⑤で作成したServer Groupを指定し、画面下部にある【Next】をクリックします。
⑮ 設定値を確認します。確認が完了したら画面下部にある【Submit】をクリックします。
⑯ 左ペインの【NLB】のプルダウンをクリックし、【Instance】をクリックします。
②で作成したNLBのインスタンスIDをクリックします。
⑰ 【Instance Details】のタブをクリックし、以下図の赤枠の【Domain Name】をコピーします。
コピーしたDomain Nameを事前に準備したICP登録済みのドメインのCNAMEレコードに追加します。
<設定例>
host : nlb-test
value : nlb-9n165p0gnez5cyev9q.cn-shanghai.nlb.aliyuncs.com
※事前にTTLの値を短くしておくことをお勧めします。
NLBの設定は以上となります。
① WebブラウザでICP登録済みのドメインに追加したCNAMEのホスト名でアクセスし、ECS(Shanghai Zone B)に設定したWebページが表示されるか確認します。
<例>
http://nlb-test.xxxx.xxx
② 次はECS(Shanghai Zone B)を停止させて、ECS(Shanghai Zone F)のWebページが表示されるか確認します。ECSコンソールにアクセスし、ECS(Shanghai Zone B)を停止します。
③ WebブラウザでICP登録済みのドメインに追加したCNAMEのホスト名でアクセスし、ECS(Shanghai Zone F)に設定したWebページが表示されるか確認します。
<例>
http://nlb-test.xxxx.xxx
ECS(Shanghai Zone F)のWebページが表示されたので、ECS(Shanghai Zone F)に切り替わっていることを確認できます。
今回はSLBで新しくリリースされたNLBの機能 / 簡単な構成の構築方法について紹介しました。
NLBの提供前はL4で利用ができるロードバランサはCLBのみでしたが、L4に特化したNLBがリリースされたことによって、CLBにはなかった機能が利用できるようになりました。
特にオンプレミス環境との接続機能では、ALB / CLBにはなかった機能となり、クラウド環境とオンプレミス環境をあわせて利用することができるため、利用できる幅がさらに広がったのではないでしょうか。
また、CLBよりも大幅に処理機能が向上しているため、IoTデバイスからの大量のリクエストも処理することができます。
正式版がリリースされましたら、ぜひ、導入をご検討ください。
条件に該当するページがございません