OpenResty Edge は、ゲートウェイサーバーの健全性を自動的にチェックする機能を提供し、障害のあるゲートウェイを特定し、迅速に対処することで、システムの安定した運用を確保します。Edge 管理コンソールを通じて、自動健全性チェックを簡単に設定でき、不健全なゲートウェイサーバーを DNS 解決と分散キャッシュから除外し、障害のあるノードへのトラフィックのルーティングを防ぐことができます。

新しいページルールの作成

Screenshot

OpenResty Edge の管理 Web コンソールを開きます。これは当社のコンソールのサンプルデプロイメントです。各ユーザーは独自のローカルデプロイメントがあります。

Screenshot

まず、「Applications」ページに移動します。

Screenshot

「test-edge.com」という名前のアプリケーションを事前に準備しました。

Screenshot

このアプリケーションの設定をクリックします。

Screenshot

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

Screenshot

ここで新しいルールを追加できます。

Screenshot

このページルールには、条件を指定する必要があります。

Screenshot

文字列の値として「/status」を入力します。

Screenshot

新しいアクションを追加します。

Screenshot

「output response body」を選択します。

Screenshot

レスポンスボディを「healthy」に設定します。リクエストの URI が「/status」の場合、レスポンスボディとして「healthy」を出力します。

Screenshot

「Create」ボタンをクリックします。

Screenshot

この新しい変更をプッシュするために公開する必要があります。

Screenshot

このボタンをクリックします。

Screenshot

公開します!

Screenshot

変更がすべてのゲートウェイサーバーに同期されました。

Screenshot

ヘルスチェックの有効化

ゲートウェイクラスターページに再度アクセスしましょう。

Screenshot

これが今日使用するクラスターです。

Screenshot

IP アドレスをコピーするボタンをクリックします。

Screenshot

ターミナルで、curl コマンドを使用してゲートウェイサーバーにリクエストを送信します。

Screenshot

レスポンスボディが「healthy」であることが確認できます。

Screenshot

このクラスターの設定を変更するボタンをクリックします。

Screenshot

ヘルスチェックを有効にします。

Screenshot

HTTP プロトコルを使用します。

Screenshot

HTTP リクエストホストをアプリケーション名に設定します。

Screenshot

リクエスト URI として「/status」を入力します。

Screenshot

レスポンスボディが「healthy」に一致することを要求します。

Screenshot

デモを迅速に行うために、リクエスト間隔を 3 秒に短縮します。

Screenshot

保存します。

Screenshot

テスト結果

ターミナルに切り替えます。まずサーバーを停止します。

Screenshot

サービスが停止しました。

Screenshot

リストを更新します。

Screenshot

このノードが現在赤色で表示されていることがわかります。これはオフライン状態を示しています。このノードの IP は DNS 解決および SSL セッション ID の分散キャッシュから削除されます。

Screenshot

「Details」をクリックして詳細を表示します。

Screenshot

赤い領域をクリックすると、障害の詳細情報を確認できます。

Screenshot

Screenshot

閉じます。

Screenshot

ここで、ゲートウェイサーバーを再起動します。

Screenshot

サーバーが正常に戻りました。

Screenshot

リストを再度更新します。ノードの状態が緑色に戻りました。

Screenshot

さらに、特定のパーティション内のすべてのゲートウェイクラスターとサーバーに対してヘルスチェックを有効にすることもできます。

Screenshot

このパーティションを編集するボタンをクリックします。

Screenshot

このボタンでヘルスチェックを有効にできます。

Screenshot

ここでのヘルスチェックは、アップストリームのバックエンドサーバーやオリジンサーバーを対象としていません。それについては別の動画で説明しています。

Screenshot

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 以上のオープンソースソフトウェアライブラリを執筆しております。

翻訳

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