この記事は10部構成の一部です。
これらのブログ一式を無料のebookとして下記よりダウンロードいただけます。– Kubernetes のテスト環境から本番環境への移行
マイクロサービスの導入によりデジタル体験を促進する一方で、マイクロサービスアーキテクチャーによってこれらの体験自身を毀損してしまう場合もあります。開発者が新しいアプリケーションを市場に出すために急いで仕事を進めていたとしても、アーキテクチャーのせいで、故障やセキュリティの問題が発生したり、非効率なトラブルシューティングや本来であれば回避可能であった問題の対処が必要となり、時間を浪費するリスクが高まる可能性があります。プロダクショングレードについて取り扱うブログの2つ目では、トラフィックを可視化するコンポーネントによって、どのようにマイクロサービス環境の複雑さを軽減し、セキュリティを向上させることができるのかについて詳しく見ていきます。
最初に、いくつかの用語の定義について見てみましょう。
StackRoxが実施した2020年に調査では、75%のKubernetesユーザーが可視化の機能が必須であるとしました。デプロイされたものを知ることは難しくなる場合があるため、可視化が重要というのはもっともなことです。しかしその一方で、F5が実施した「アプリケーション戦略の現状」調査では、大量のデータを有してはいるものの、インフラストラクチャーとビジネスを保護し、進化させるのに必要なアプリケーションのパフォーマンス、セキュリティ、可用性についてのインサイトが不足しているとの回答が95%を占めていました。では、インサイトはなぜ重要であり、どうすれば獲得することができるのでしょう?
インサイトを用いてできること
インサイトを得るには、リアルタイムと履歴という2種類の可視化されたデータが必要です。リアルタイムのデータは今現在起きている問題の原因の診断を可能にするのに対し、履歴のデータは何が「正常」で、何が「異常」なのかの視点を提供します。可視性についてのこれらの2種類の情報を組み合わせることで、アプリとKubernetesのパフォーマンスに関するきわめて重要なインサイトが得られます。
他のテクノロジー投資と同様に、テクノロジーの恩恵をどうやって享受するのかについての戦略も必要になってきます。F5のレポートからは、雇用や従業員の育成、戦略やプロセス、どのデータをいつ誰が使うのかのコンセンサスに関連する組織的な要因によって、多くの人が貴重なインサイトを得られずにいることがうかがえます。調査結果は以下のような内容となっています。
この記事の残りの部分は、インサイトの技術的な側面に焦点を当てています。将来の戦略やプロセス、その他の情報についてぜひともご注目ください。
ほとんどのKubernetes環境ですでにモニタリングツールを使用しており、今のところ、もう1つのツールが必要であるということは無いかもしれません。そのため、我々はメトリクスを簡単に外部に公開するためNGINX Plus APIを実装しており、OpenTracing やGrafana、Prometheusなどの人気のあるツールとの統合を提供しています。これにより、あなたはクラスター内のパフォーマンスについて全体を把握することが可能になります。アプリケーションのパフォーマンスと可用性に関する詳細なトレースを取得し、マイクロサービスアプリケーション全体でどのようにリクエストが処理されるかを理解することができます。
送受信(North-South)トラフィックに関するインサイト
NGINX Ingress Controllerは、Kubernetesクラスターに出入りするトラフィックについてのインサイトを提供します。
NGINXを利用した人気のある3つのIngress Controllerをご存知ですか?すべてがプロダクションレディーなわけではなく、適切でない選択はマイクロサービスの戦略を向上するのではなく複雑にしてしまうこともあるのです。弊社のブログWait, Which NGINX Ingress Controller for Kubernetes Am I Using? は皆様のニーズに最適な選択ができるように選択肢における比較を紹介しております。
2つの一般的な課題に対しどの様に対処することが可能であるのか、内容を確認し、理解を深めてください:
同テクノロジーが実際に使われている様子を見たいとお考えの場合には、NGINXとGrafanaのエキスパート達によるこちらのライブストリームデモそしてAMA「Ask Me Anything(なんでも聞いてね)のセッションをご覧ください。ロードバランシングとパフォーマンスの主要なメトリクスに関するライブモニタリングを行い、それらのメトリクスをPrometheusにエクスポートし、蓄積されたデータからパフォーマンスを確認できるGrafanaダッシュボードを生成する方法について紹介しています。
DDoS攻撃かもしれない、あるいはユーザーからWebサイトのエラーが報告されているといったことはないですか? 問題の所在がはっきりするまで解決に取り掛かることはできません。
NGINX Ingress Controllerによるライブモニタリング
NGINX Plusでは、ライブアクティビティモニタリングダッシュボード(NGINX Plus APIで動作)に、負荷とパフォーマンスに関する数百の主要となるメトリクスが表示されます。1つのPodにいたるまで細かく把握することで、アプリケーションの応答にかかる時間をすばやく簡単に測定し、問題の原因を診断することができます。Kubernetes環境が拡大する際、NGINX Ingress Controllerインスタンスが追加されると、自動でダッシュボードが生成されます。
たとえば、HTTP Upstreamsタブの2つのカラムにより、アプリケーションとインフラストラクチャーの状態を瞬時に読み取ることが可能です。
HTTPエラーが発生した場合、503
エラーと40x
エラーはあなたがデプロイしたリソースに問題があることを示し、502
エラーは設定の変更が動作しないことを意味します。リソースが残り少なくなっている箇所を診断するには、履歴データを使ってください。
Prometheusメトリクス
特に人気の高いNGINX Ingress Controllerの機能の1つが、拡大を続けるPrometheusのメトリクスのリストです。これには、ネットワークパフォーマンスとIngress Controllerトラフィックに関する指標が含まれます。NGINX PlusベースのNGINX Ingress Controllerは、NGINXのワーカーノードに割り当てられた共有メモリに記録される、コネクション、キャッシング、HTTPおよびTCP/UDPトラフィックに関するメトリクスや、バックエンドサーバによって処理されるHTTPおよびTCP/UDPトラフィックに関するメトリクスなど、その他多くのメトリクスをエクスポートすることが可能です。
NGINX Service Mesh はPrometheusサーバーをデプロイし、NGINX Plus APIを使って、NGINX Service MeshのサイドカーおよびNGINX Ingress ControllerのPodからメトリクスを取得します。既存のPrometheusを利用する場合、Prometheusのスクレイプに関する設定が含まれており、Prometheus設定ファイルで取得するメトリクスをカスタマイズすることが可能です。
NGINX Ingress Controller(NGINX Plusベース)は30日間の無料トライアルが可能で、コンテナ化されたアプリケーションを保護するNGINX App Protectも含まれています。常時無料のNGINX Service Meshは、f5.comからダウンロード可能です。
"This blog post may reference products that are no longer available and/or no longer supported. For the most current information about available F5 NGINX products and solutions, explore our NGINX product family. NGINX is now part of F5. All previous NGINX.com links will redirect to similar NGINX content on F5.com."