AWS での OpenSearch ログ記録
はじめに
Opensearch は、ログの集約、分析、可視化を可能にする、人気のあるオープンソースの検索・分析エンジンです。AWS は、アプリケーションを実行してログを生成するために使用できる ECS (Elastic Container Service)、EKS (Elastic Kubernetes Service)、EC2 (Elastic Compute Cloud) などの複数のコンピューティングサービスを提供しています。これらのコンピューティングサービスと Opensearch を統合することで、アプリケーションとインフラストラクチャ を効果的に監視するための一元的なログ管理が可能になります。
図 1: Opensearch パイプライン
アーキテクチャの概要
以下は、ECS、EKS、EC2 を使用した AWS 上の OpenSearch ロギングのハイレベルなアーキテクチャです:
- ECS、EKS、EC2 上で実行されているアプリケーションがログを生成します
- ログエージェント(Fluentd、Fluent Bit、Logstash など)がコンピューティングサービスからログを収集します
- ログエージェントは、マネージド OpenSearch クラスターである Amazon OpenSearch Service にログを送信します
- OpenSearch がログデータのインデックス作成と保存を行います
- OpenSearch と統合された Kibana を使用して、ログデータの検索、分析、可視化を行います
主要なコンポーネント:
- Amazon OpenSearch Service:ログの集約と分析のためのマネージド OpenSearch クラスター
- コンピューティングサービス(ECS、EKS、EC2):ログを生成するアプリケーションがデプロイされる場所
- ログエージェント:コンピューティングからログを収集し、OpenSearch に送信
- OpenSearch インデックス:ログデータを保存
- Kibana:ログデータの可視化と分析
メリット
- 集中ログ管理: すべてのコンピューティングサービスからのログを OpenSearch に集約し、ログ分析のための単一の管理画面を実現します
- スケーラビリティ: Amazon OpenSearch Service は大量のログデータの取り込みと分析に対応できます
- フルマネージド: OpenSearch Service により OpenSearch の運用オーバーヘッドが解消されます
- リアルタイムモニタリング: ログをほぼリアルタイムで取り込み、可視化して、プロアクティブなモニタリングを実現します
- 豊富な分析機能: Kibana はログの検索、フィルタリング、分析、可視化のための強力なツールを提供します
- 拡張性: 様々なログエージェントや AWS サービスとの柔軟な統合が可能です
デメリット
- コスト: 大規模な Opensearch へのログ集約は、データ転送とストレージのコストが大きくなる可能性があります
- 複雑なセットアップ: コンピューティングサービスから Opensearch へのログストリーミングの初期設定が複雑になる場合があります
- 学習曲線: 効率的な利用には Opensearch と Kibana の知識が必要です
- 大規模運用の制限: 非常に大量のログに対しては、Opensearch はスケーラビリティとパフォーマンスの課題に直面する可能性があります
- セキュリティのオーバーヘッド: Opensearch へのログ転送とアクセスを安全に保つには、慎重な設定が必要です
まとめ
OpenSearch を ECS、EKS、EC2 などの AWS コンピューティングサービスと統合することで、強力なログ集約と分析機能を実現できます。 スケーラブルで一元化されたリアルタイムに近いロギングソリューションを提供しますが、コスト、セキュリティ、スケーラビリティ、パフォーマンスを慎重に考慮してアーキテクチャを設計することが重要です。 適切に実装することで、AWS での OpenSearch ロギングは、アプリケーションとインフラストラクチャのオブザーバビリティを大幅に向上させることができます。