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 ログは、アプリケーションとインフラストラクチャのオブザーバビリティを大幅に向上させることができます。