OpenResty Edge のグローバルサーバーロードバランシング(GSLB)は、平均負荷、遅延、帯域幅などのリアルタイム指標に基づき、DNS レベルでトラフィックを複数のゲートウェイクラスターに分散します。このチュートリアルでは、OpenResty Edge の管理コンソールで GSLB を設定する方法をご説明いたします。具体的には、ロードバランシング計画の確認、グローバル設定の調整、そしてノードごとの高低水位の設定を取り上げます。設計思想を先に知りたい方は、トラフィック制御をアプリケーション層から再考する GSLB 設計手記をご参照ください。GSLB は健全なノード間でトラフィックを制御します。障害ノードをあらかじめ DNS 解決から除外するのは、ゲートウェイサーバーのヘルスチェックの役割です。

GSLB ロードバランシング計画の確認

それでは、OpenResty Edge の管理者用 Web コンソールにアクセスしましょう。これはサンプルデプロイメントのコンソールです。各ユーザーには独自のローカルデプロイメントがあります。

OpenResty Edge 管理者用 Web コンソールのアプリケーション一覧ページ

DNS 管理ページに移動します。

OpenResty Edge 管理コンソールのナビゲーションで強調表示された DNS タブ

「GSLB」ページに移動します。

OpenResty Edge の DNS ページで DNS Zones 配下のグローバルサーバーロードバランシング項目

「Plans」を選択します。

OpenResty Edge GSLB ページの計画(Plans)タブ

ここでは、グローバルロードバランシング(GSLB)を有効にした後のトラフィック分布を確認できます。

この円グラフは、現在の実際のトラフィックが各ネットワーククラスター間でどのようにリアルタイムに分散されているかを示しています。

OpenResty Edge GSLB における各ゲートウェイクラスターのリアルタイムトラフィック分布を示す円グラフ

このクラスターが最も多くのトラフィックを処理していることがわかります。

GSLB の円グラフで最も多くのトラフィックを処理しているゲートウェイクラスター

これは前回の計画におけるトラフィック分布です。

GSLB 計画比較表で選択された前回の計画(Previous Plan)タブ

aliyun-beijing という名前のこのクラスターでは、前回の計画でのトラフィック分布が 52% と 48% であったことがわかります。

aliyun-beijing クラスターにおける前回の GSLB 計画の 52% と 48% のトラフィック分布

現在、50% と 50% の分布に調整中です。

aliyun-beijing クラスターにおける現在の GSLB 計画の 50% と 50% のトラフィック分布

これは初期計画、つまり GSLB の最初の計画です。

初期計画(Original Plan)タブに表示された均等分配の最初の GSLB 計画

これは現在の計画で、定期的に更新されます。

GSLB 計画比較で強調表示された現在の計画(Current Plan)列

左側のトラフィック分布または計画が右側の GSLB 計画と一致しない場合、右側は赤と緑の強調表示で表示されます。

トラフィック分布と GSLB 計画が一致しない場合に右側が赤と緑で強調表示される画面

緑色は増加を、赤色は減少を示しています。

GSLB 計画の比較で緑色がトラフィック増加、赤色が減少を示す画面

前の計画をクリックします。

前の GSLB 計画を表示するボタン

そして次の計画をクリックします。過去の計画を閲覧できます。

次の計画(Next Plan)リンクで過去の GSLB 計画を閲覧する画面

OpenResty Edge での GSLB の設定

次に、GSLB の設定を見てみましょう。

OpenResty Edge GSLB ページの設定(Config)タブ

これは GSLB のスイッチです。

OpenResty Edge で GSLB を有効または無効にする切り替えボタン

無効状態に切り替えられた GSLB スイッチと送信ボタン

これは計画の更新間隔です。60 は 60 秒ごとに計画が再調整されることを意味します。

60 秒に設定された GSLB 計画の更新間隔

ここでは、返される DNS クエリ結果に含まれる結果の数を指定できます。

DNS クエリごとに返される結果数の設定

Edge ノードごとのトラフィック調整

次に、各 Edge ノードの設定を見てみましょう。編集ボタンをクリックして編集します。

GSLB ノード設定テーブルのゲートウェイクラスター行にある編集ボタン

ドロップダウンリストを使用して指標を選択し、DNS 結果を調整することで、システムのトラフィックを調整できます。

平均負荷や毎秒リクエスト数などの選択肢を含む指標のドロップダウンリスト

例えば、「load average in last 1 minute」(過去 1 分間の平均負荷)を選択します。

水位(Watermark)指標のドロップダウンリストで平均負荷指標を選択する画面

指標が低水位に達すると、計算された確率に基づいてトラフィックが調整されます。

強調表示された低水位(Low)入力欄。低水位に達すると計算された確率でトラフィックを調整

指標が高水位に達すると、このノードへのトラフィック分散は停止されます。

強調表示された高水位(High)入力欄。高水位に達すると DNS 解決がこのノードを返さなくなる

OpenResty Edge について

OpenResty Edge は、マイクロサービスと分散トラフィックアーキテクチャ向けに設計された多機能ゲートウェイソフトウェアで、当社が独自に開発しました。トラフィック管理、プライベート CDN 構築、API ゲートウェイ、セキュリティ保護などの機能を統合し、現代のアプリケーションの構築、管理、保護を容易にします。OpenResty Edge は業界をリードする性能と拡張性を持ち、高同時接続・高負荷シナリオの厳しい要求を満たすことができます。K8s などのコンテナアプリケーショントラフィックのスケジューリングをサポートし、大量のドメイン名を管理できるため、大規模ウェブサイトや複雑なアプリケーションのニーズを容易に満たすことができます。

著者について

章亦春(Zhang Yichun)は、オープンソースの OpenResty® プロジェクトの創始者であり、OpenResty Inc. の CEO および創業者です。

章亦春(GitHub ID: agentzh)は中国江蘇省生まれで、現在は米国ベイエリアに在住しております。彼は中国における初期のオープンソース技術と文化の提唱者およびリーダーの一人であり、Cloudflare、Yahoo!、Alibaba など、国際的に有名なハイテク企業に勤務した経験があります。「エッジコンピューティング」、「動的トレーシング」、「機械プログラミング」 の先駆者であり、22 年以上のプログラミング経験と 16 年以上のオープンソース経験を持っております。世界中で 4000 万以上のドメイン名を持つユーザーを抱えるオープンソースプロジェクトのリーダーとして、彼は OpenResty® オープンソースプロジェクトをベースに、米国シリコンバレーの中心部にハイテク企業 OpenResty Inc. を設立いたしました。同社の主力製品である OpenResty XRay動的トレーシング技術を利用した非侵襲的な障害分析および排除ツール)と OpenResty Edge(マイクロサービスおよび分散トラフィックに最適化された多機能ゲートウェイソフトウェア)は、世界中の多くの上場企業および大企業から高い評価を得ております。OpenResty 以外にも、章亦春は Linux カーネル、Nginx、LuaJITGDBSystemTapLLVM、Perl など、複数のオープンソースプロジェクトに累計 100 万行以上のコードを寄与し、60 以上のオープンソースソフトウェアライブラリを執筆しております。

翻訳

英語版の原文と日本語訳版(本文)をご用意しております。読者の皆様による他の言語への翻訳版も歓迎いたします。全文翻訳で省略がなければ、採用を検討させていただきます。心より感謝申し上げます!