メインコンテンツまでスキップ

AWS での OpenSearch ログ記録

はじめに

Opensearch は、ログの集約、分析、可視化を可能にする、人気のあるオープンソースの検索・分析エンジンです。AWS は、アプリケーションを実行してログを生成するために使用できる ECS (Elastic Container Service)、EKS (Elastic Kubernetes Service)、EC2 (Elastic Compute Cloud) などの複数のコンピューティングサービスを提供しています。これらのコンピューティングサービスと Opensearch を統合することで、アプリケーションとインフラストラクチャを効果的に監視するための一元的なログ管理が可能になります。

Opensearch pipeline 図 1: Opensearch パイプライン

アーキテクチャの概要

以下は、ECS、EKS、EC2 を使用した AWS 上の OpenSearch ロギングのハイレベルなアーキテクチャです:

  1. ECS、EKS、EC2 上で実行されているアプリケーションがログを生成します
  2. ログエージェント(Fluentd、Fluent Bit、Logstash など)がコンピューティングサービスからログを収集します
  3. ログエージェントは、マネージド OpenSearch クラスターである Amazon OpenSearch Service にログを送信します
  4. OpenSearch がログデータのインデックス作成と保存を行います
  5. OpenSearch と統合された Kibana を使用して、ログデータの検索、分析、可視化を行います

主要なコンポーネント:

  • Amazon OpenSearch Service:ログの集約と分析のためのマネージド OpenSearch クラスター
  • コンピューティングサービス(ECS、EKS、EC2):ログを生成するアプリケーションがデプロイされる場所
  • ログエージェント:コンピューティングからログを収集し、OpenSearch に送信
  • OpenSearch インデックス:ログデータを保存
  • Kibana:ログデータの可視化と分析

メリット

  1. 集中ログ管理: すべてのコンピューティングサービスからのログを OpenSearch に集約し、ログ分析のための単一の管理画面を実現します
  2. スケーラビリティ: Amazon OpenSearch Service は大量のログデータの取り込みと分析に対応できます
  3. フルマネージド: OpenSearch Service により OpenSearch の運用オーバーヘッドが解消されます
  4. リアルタイムモニタリング: ログをほぼリアルタイムで取り込み、可視化して、プロアクティブなモニタリングを実現します
  5. 豊富な分析機能: Kibana はログの検索、フィルタリング、分析、可視化のための強力なツールを提供します
  6. 拡張性: 様々なログエージェントや AWS サービスとの柔軟な統合が可能です

デメリット

  1. コスト: 大規模な Opensearch へのログ集約は、データ転送とストレージのコストが大きくなる可能性があります
  2. 複雑なセットアップ: コンピューティングサービスから Opensearch へのログストリーミングの初期設定が複雑になる場合があります
  3. 学習曲線: 効率的な利用には Opensearch と Kibana の知識が必要です
  4. 大規模運用の制限: 非常に大量のログに対しては、Opensearch はスケーラビリティとパフォーマンスの課題に直面する可能性があります
  5. セキュリティのオーバーヘッド: Opensearch へのログ転送とアクセスを安全に保つには、慎重な設定が必要です

まとめ

OpenSearch を ECS、EKS、EC2 などの AWS コンピューティングサービスと統合することで、強力なログ集約と分析機能を実現できます。 スケーラブルで一元化されたリアルタイムに近いロギングソリューションを提供しますが、コスト、セキュリティ、スケーラビリティ、パフォーマンスを慎重に考慮してアーキテクチャを設計することが重要です。 適切に実装することで、AWS での OpenSearch ロギングは、アプリケーションとインフラストラクチャのオブザーバビリティを大幅に向上させることができます。