NGINX.COM
Web Server Load Balancing with NGINX Plus

NGINX Agent - An NGINX Project

NGINX Sprint 2022では、F5は、NGINXオープンソースプロジェクトの管理方法と自社コミュニティとの関わり方を最新化することをお約束しました。このお約束の一環として、NGINX Agentを近日中にリリースすることを発表しました。これは、コンパニオンソフトウェアとして個々のNGINX導入を管理し、可観測性と構成APIを提供するデーモンです。本日、Apache 2ライセンスの下でNGINX Agentをリリースし、このお約束を実現化できたことを誇りに思います。

F5 NGINXのビジョンは、アプリケーションの導入と管理のあらゆる側面をカバーするエコシステムを構築することです。NGINX Agentは、NGINXインスタンスを構成、モニタリング、および管理するために、きめ細かな制御と追加機能をDevelopment(開発)およびPlatform Ops( プラットフォーム運用)の両チームに提供し、そのビジョンにおける極めて重要な役割を果たします。

NGINX Agentの使命とは

NGINX Agentは、NGINX Open SourceやNGINX Plusインスタンスと一緒に導入できる軽量のデーモンで、NGINX Open Sourceでは提供されない多くの機能を以下のように実現します。

  • NGINXインスタンスのレポート作成とモニタリング
    NGINX Agentは、インフラストラクチャの問題を検出、調査、修正するために使用可能な拡張されたメトリクスのセットにより、NGINX Open SourceおよびNGINX Plusインスタンスをより広範囲に可視化します。NGINX Agentは、オペレーティングシステムのメトリクスに加えて、NGINXのアクセスとエラーのログからメトリクスを自動収集します。NGINX Plusインスタンスの場合は、RESTful NGINX Plus APIからのメトリクスも収集します。また、NGINX Agentは、NGINXインスタンスで発生している重要なイベントセットについても報告します。 その結果、NGINXインスタンスのパフォーマンス、健全性、使用状況を詳細に把握でき、これをPrometheus形式でエクスポートして、Grafanaなどのサードパーティツールで視覚化できます。
  • リモートNGINX構成管理
    NGINX Agentは、NGINX構成をNGINXインスタンスにリモートで適用するためにHTTP(REST)およびHTTP/2(gRPC)のインタフェースを提供します。また、 APIを使用してインスタンス構成をリモート管理することもできます。NGINX構成の自動化とリモート導入は、特に多数のインスタンスを管理する場合、運用のオーバーヘッドを大幅に軽減し、時間節約にも貢献します。
  • 管理プレーンの統合
    ビジネスの規模が拡大するにつれ、インフラストラクチャの導入と管理はさらに複雑化します。F5では、NGINXコミュニティがスケーリングと配信の課題を躊躇せずに、共有していることを嬉しく思います。NGINX Agentロードマップは、これらの課題に対処することを目的としています。NGINX Agentを使用すると、環境内でNGINXを制御・管理するための高度なメカニズムを開発できます。これには、NGINXインスタンスとインタフェースする独自の管理ソリューションと、エンタープライズクラスのデータプレーン管理機能を備えたNGINX Management Suiteの両方が含まれます。

NGINX Agentの機能とは

NGINX Agentは、NGINXインスタンスと共に実行され、コントロールプレーンと管理プレーンの両方からインスタンスとリモートでやり取りできるようにRESTとgRPCインタフェースの両方を公開します。これにより、高度なモニタリングと自動化機能の構築が実現します。

Diagram showing how NGINX Agent is colocated on the data plane with NGINX instances and communicates with a server on the control/management plane for metrics collection and configuration management

NGINX Agentをオープンソース化する理由とは

NGINX Agentのオープンソース化には、いくつかの目標があります。

NGINXオープンソースの補完

F5では、コミュニティがより多くのユースケースでより柔軟に NGINXオープンソースを使用できるようにしたいと考えています。NGINX Agentのオープンソース化は、NGINX Open Sourceの現在の機能上のギャップを埋めるのに役立ち、NGINX Open Sourceを拡張し、コミュニティに機能をより迅速に提供するためのまったく新しい道を開きます。NGINX Open Sourceインスタンスと一緒にインストールすることで、RESTまたはgRPCインタフェースによるNGINX構成の管理ができ、NGINXのイベントやメトリクスからの高度な視覚化を開発できます。

透明性の確保

F5では、業界をリードするオープンソースソフトウェアをコミュニティに提供し、お客様のビジネスを強化する高度かつスケーラブルで弾力性のあるインフラストラクチャを構築することにプライドを掛けています。この成功の中核をなす柱の1つは、オープンソースコミュニティがNGINXソフトウェアに寄せる信頼です。NGINX Agentの設計理念は、NGINXインフラストラクチャでどのようなデータにどのようにアクセスするかについて完全にオープンで透過的であることです。コミュニティに完全な透明性を、そして、お客様に喜んでいただける機能を提供することが、私たちのオープンソースビジョンの実現に向けた重要な要素であると考えています。

開発者にとって使い勝手がよいNGIMNXに

Sprintでのもう1つの約束(開発者エクスペリエンスの最適化)に忠実であり続けるために、NGINX Agentは、NGINXをより多くの採用者にとってより魅力的であるように制御と機能を提供し、NGINX製品の「価値実現までの時間」を短縮します。NGINX Agentはきめ細かい制御を実現するため、開発者は環境内でのNGINXの管理、導入、および構成について賢明な決定を下せます。F5の目標は、開発者が制御と管理の面でNGINXの製品スイートと統合したり、独自の製品を導入したりできるようにすることで、開発者のニーズに応えることです。

NGINX Agentのご紹介

NGINX Agentは、当初はNGINX Management Suite Instance Manager が使用するエージェントとして開発されました。この機能は今後も提供されますが、バージョン2.17.0でオープンソース化したことにより、より広範なNGINXオープンソースコミュニティにとって有用なものとして独立した道を歩み始めています。このような経緯から、NGINX Agentが成長するために必要な方法はたくさんあると考えられます。是非、GitHubのNGINX Agentのリポジトリにアクセスし、貢献、提案、問題の報告の方法についてご確認ください。

Hero image
NGINXクックブック 設定レシピ集(日本語版)

待望の【O'Reilly】NGINX Cookbook日本語版がついに完成!NGINXクックブックは、NGINXを最大限に活用する方法を解説しています。



著者について

Prabhat Dixit

Principal Product Manager

About F5 NGINX

F5 NGINXについて
F5, Inc.は、人気のオープンソースプロジェクト「NGINX」を支援しています。NGINXはモダンアプリケーションを開発・構築するためのテクノロジースイートを提供しています。NGINXとF5製品との併用で、コードからユーザーまでの広範なアプリケーション領域をサポートし、マルチクラウドアプリケーションサービスとしてNetOpsとDevOps間の課題を解決します。

詳しくはnginx.co.jpをご覧ください。Twitterで@nginxをフォローして会話に参加することもできます。