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 など) がコンピューティングサービスからログを収集します
- ログエージェントがログを Amazon Opensearch Service (マネージド Opensearch クラスター) に送信します
- 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 への安全なログ転送とアクセスを確保するには、慎重な設定が必要です
まとめ
ECS、EKS、EC2 などの AWS コンピューティングサービスと Opensearch を統合することで、強力なログ集約と分析機能が実現します。スケーラブルで一元化されたほぼリアルタイムのログソリューションを提供しますが、コスト、セキュリティ、スケーラビリティ、パフォーマンスを考慮してアーキテクチャを慎重に設計することが重要です。適切な実装により、AWS 上の Opensearch ログは、アプリケーションとインフラストラクチャのオブザーバビリティを大幅に向上させることができます。