Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

Firelens ログルーターを使用して Amazon ECS 用のカスタムログパーサーを作成する - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Firelens ログルーターを使用して Amazon ECS 用のカスタムログパーサーを作成する

作成者: Varun Sharma (AWS)

概要

Firelensは、Amazon Elastic Container Service (Amazon ECS) と AWS Fargate 用のログルーターです。Firelens を使用して、Amazon ECS から Amazon CloudWatch やその他の転送先 (SplunkSumo Logic など) にコンテナログをルーティングできます。Firelens は Fluentd または Fluent Bit をロギングエージェントとして使用し、これにより Amazon ECS タスク定義パラメータを使用してログをルーティングできます。

ログをソースレベルで解析することを選択することで、ロギングデータを分析し、クエリを実行して、運用上の問題に効率的かつ効果的に対応できます。アプリケーションが異なればロギングパターンも異なるため、ログを構造化して最終転送先での検索を容易にするカスタムパーサーを使用する必要があります。

このパターンでは、カスタムパーサーを備えた Firelens ログルーターを使用して、Amazon ECS で実行されているサンプル Spring Boot アプリケーションから CloudWatch にログをプッシュします。その後、Amazon CloudWatch Logs Insights を使用して、カスタムパーサーによって生成されたカスタムフィールドに基づいてログをフィルタリングできます。

前提条件と制限

前提条件

  • アクティブな Amazon Web Services (AWS)アカウント。

  • ユーザーのローカルマシンにインストールされ、構成された AWS コマンドラインインターフェイス (AWS CLI)。

  • コンピュータにインストールされて構成されている Docker。

  • Amazon Elastic Container Registry (Amazon ECR) にある既存の Spring Boot ベースのコンテナ化アプリケーション。 

アーキテクチャ

Firelens ログルーターを使用して、Amazon ECS で実行されているアプリケーションから CloudWatch にログをプッシュします。

テクノロジースタック

  • クラウドWatch

  • Amazon ECR

  • Amazon ECS

  • Fargate

  • Docker

  • Fluent Bit

ツール

  • Amazon ECR – Amazon Elastic Container Registry (Amazon ECR) は、セキュリティ、スケーラビリティ、信頼性を備えた AWS マネージドコンテナイメージレジストリサービスです。

  • Amazon ECS – Amazon Elastic Container Service (Amazon ECS) は、クラスターでコンテナの実行、停止、管理を簡単に行うことのできる、高度にスケーラブルで高速なコンテナ管理サービスです。

  • Identity and Access Management (IAM) - IAM は、AWS サービスへのアクセスをセキュアに制御するためのウェブサービスです。

  • CLI – AWS コマンドラインインターフェイス (AWS CLI) はオープンソースのツールであり、コマンドラインシェルのコマンドを使って AWS サービスと対話することができます。

  • Docker — Docker は、アプリケーションの開発、出荷、実行のためのオープンプラットフォームです。

コード

このパターンには以下のファイルが添付されています。

  • customFluentBit.zip – カスタムの解析と構成を追加するためのファイルが含まれています。

  • firelens_policy.json – IAM ポリシーを作成するためのポリシードキュメントが含まれます。

  • Task.json – Amazon ECS のサンプルタスク定義が含まれています。

エピック

タスク説明必要なスキル

Amazon ECR リポジトリを作成します。

AWS マネジメントコンソールにサインインし、Amazon ECR コンソールを開いて、fluentbit_custom というリポジトリを作成します。

これに関する詳細については、Amazon ECR のドキュメントの「リポジトリを作成する」を参照してください。

システム管理者、開発者

customFluentBit.zip パッケージを解凍する。

 

  1. customFluentBit.zip パッケージ (添付) をローカルマシンにダウンロードします。 

  2. customFluentBit ディレクトリに移動して、次のコマンドを実行します: unzip -d customFluentBit.zip

  3. このディレクトリには、カスタムの解析と構成を追加するのに必要な以下のファイルが含まれています。

    • parsers/springboot_parser.conf – パーサーディレクティブが含まれ、カスタムパーサーの正規表現 (regex) パターンを定義します。特定のパーサーに正規表現パターンを追加できます。

    •  conf/parse_springboot.conf – フィルターとサービスディレクティブが含まれます。

    • Dockerkerfile

カスタム Docker イメージを作成します。

  1. ディレクトリを customFluentBit に変更します。

  2. Amazon ECR コンソールを開き、fluentbit_custom リポジトリを選択してから [プッシュコマンドを表示] を選択します。 

  3. プロジェクトをアップロードします。 

  4. アップロードが完了したら、ビルドの URL をコピーします。この URL は Amazon ECS でコンテナを作成する際に必要です。

詳細については、Amazon ECR のドキュメントの「Docker イメージの作成」を参照してください。 

システム管理者、開発者

カスタム Fluent Bit イメージの作成

タスク説明必要なスキル

Amazon ECR リポジトリを作成します。

AWS マネジメントコンソールにサインインし、Amazon ECR コンソールを開いて、fluentbit_custom というリポジトリを作成します。

これに関する詳細については、Amazon ECR のドキュメントの「リポジトリを作成する」を参照してください。

システム管理者、開発者

customFluentBit.zip パッケージを解凍する。

 

  1. customFluentBit.zip パッケージ (添付) をローカルマシンにダウンロードします。 

  2. customFluentBit ディレクトリに移動して、次のコマンドを実行します: unzip -d customFluentBit.zip

  3. このディレクトリには、カスタムの解析と構成を追加するのに必要な以下のファイルが含まれています。

    • parsers/springboot_parser.conf – パーサーディレクティブが含まれ、カスタムパーサーの正規表現 (regex) パターンを定義します。特定のパーサーに正規表現パターンを追加できます。

    •  conf/parse_springboot.conf – フィルターとサービスディレクティブが含まれます。

    • Dockerkerfile

カスタム Docker イメージを作成します。

  1. ディレクトリを customFluentBit に変更します。

  2. Amazon ECR コンソールを開き、fluentbit_custom リポジトリを選択してから [プッシュコマンドを表示] を選択します。 

  3. プロジェクトをアップロードします。 

  4. アップロードが完了したら、ビルドの URL をコピーします。この URL は Amazon ECS でコンテナを作成する際に必要です。

詳細については、Amazon ECR のドキュメントの「Docker イメージの作成」を参照してください。 

システム管理者、開発者
タスク説明必要なスキル

Amazon ECS クラスターを作成します。

Amazon ECS クラスターを作成するには、Amazon ECS ドキュメントの「クラスターの作成」の「ネットワーク専用テンプレート」セクションの指示に従います。

注記

Amazon ECS クラスターの新しい Virtual Private Cloud (VPC) を作成するには、必ず VPC の作成 を選択してください。

システム管理者、開発者

Amazon ECS クラスターの設定

タスク説明必要なスキル

Amazon ECS クラスターを作成します。

Amazon ECS クラスターを作成するには、Amazon ECS ドキュメントの「クラスターの作成」の「ネットワーク専用テンプレート」セクションの指示に従います。

注記

Amazon ECS クラスターの新しい Virtual Private Cloud (VPC) を作成するには、必ず VPC の作成 を選択してください。

システム管理者、開発者
タスク説明必要なスキル

Amazon ECS タスク実行 IAM ロールを設定します。

AmazonECSTaskExecutionRolePolicy マネージドポリシーを使用して Amazon ECS タスク実行 IAM ロールを作成します。これに関する詳細については、Amazon ECS デベロッパーガイド の 「Amazon ECS タスク実行 IAM ロール」 を参照してください。

注記

IAM ロールの Amazon リソースネーム (ARN) を必ず記録してください。

システム管理者、開発者

IAM ポリシーを Amazon ECS タスク実行 IAM ロールに添付する。

  1. firelens_policy.json (添付された) ポリシードキュメントを使用して IAM ポリシーを作成します。これに関する詳細については、IAM ドキュメント の 「JSON タブでのポリシーの作成」を参照してください。

  2. このポリシーを、先に作成した Amazon ECS タスク実行 IAM ロールに添付します。詳細については、IAM ドキュメントの「IAM ポリシーの追加 ( CLI)」を参照してください。 

システム管理者、開発者

Amazon ECS タスク定義のセットアップ

  1. Task.json サンプルタスク定義 (添付) の以下のセクションを更新してください。

    • タスク実行 IAM ロールの ARN を使用して、executionRoleArntaskRoleArn を更新します。

    • 先に作成したカスタム Fluent Bit Docker イメージで、containerDefinitions のイメージを更新します。

    • containerDefinitions のイメージを、アプリケーションイメージの名前で更新します。

  2. Amazon ECS コンソールを開き、[タスク定義] を選択し、[新しいタスク定義の作成] を選択してから、[互換性の選択] ページで [Fargate] を選択します。   

  3. [Json による構成] を選択し、更新した Task.json ファイルをテキスト領域に貼り付けて、[保存] を選択します。

  4. タスク定義を作成します。

これに関する詳細については、Amazon ECS ドキュメントの「タスク定義の作成」」を参照してください。

システム管理者、開発者

Amazon ECS タスクを設定する

タスク説明必要なスキル

Amazon ECS タスク実行 IAM ロールを設定します。

AmazonECSTaskExecutionRolePolicy マネージドポリシーを使用して Amazon ECS タスク実行 IAM ロールを作成します。これに関する詳細については、Amazon ECS デベロッパーガイド の 「Amazon ECS タスク実行 IAM ロール」 を参照してください。

注記

IAM ロールの Amazon リソースネーム (ARN) を必ず記録してください。

システム管理者、開発者

IAM ポリシーを Amazon ECS タスク実行 IAM ロールに添付する。

  1. firelens_policy.json (添付された) ポリシードキュメントを使用して IAM ポリシーを作成します。これに関する詳細については、IAM ドキュメント の 「JSON タブでのポリシーの作成」を参照してください。

  2. このポリシーを、先に作成した Amazon ECS タスク実行 IAM ロールに添付します。詳細については、IAM ドキュメントの「IAM ポリシーの追加 ( CLI)」を参照してください。 

システム管理者、開発者

Amazon ECS タスク定義のセットアップ

  1. Task.json サンプルタスク定義 (添付) の以下のセクションを更新してください。

    • タスク実行 IAM ロールの ARN を使用して、executionRoleArntaskRoleArn を更新します。

    • 先に作成したカスタム Fluent Bit Docker イメージで、containerDefinitions のイメージを更新します。

    • containerDefinitions のイメージを、アプリケーションイメージの名前で更新します。

  2. Amazon ECS コンソールを開き、[タスク定義] を選択し、[新しいタスク定義の作成] を選択してから、[互換性の選択] ページで [Fargate] を選択します。   

  3. [Json による構成] を選択し、更新した Task.json ファイルをテキスト領域に貼り付けて、[保存] を選択します。

  4. タスク定義を作成します。

これに関する詳細については、Amazon ECS ドキュメントの「タスク定義の作成」」を参照してください。

システム管理者、開発者
タスク説明必要なスキル

Amazon ECS タスクを実行します。

Amazon ECS コンソールで [クラスター] を選択し、先に作成したクラスターを選択して、スタンドアロンタスクを実行します。

これに関する詳細については、Amazon ECS ドキュメントの「スタンドアロンタスクの実行」を参照してください。

システム管理者、開発者

Amazon ECS タスクを実行する

タスク説明必要なスキル

Amazon ECS タスクを実行します。

Amazon ECS コンソールで [クラスター] を選択し、先に作成したクラスターを選択して、スタンドアロンタスクを実行します。

これに関する詳細については、Amazon ECS ドキュメントの「スタンドアロンタスクの実行」を参照してください。

システム管理者、開発者
タスク説明必要なスキル

ログを検証します。

  1. CloudWatch コンソールを開き、[ロググループ] を選択して、/aws/ecs/containerinsights/{{cluster_ARN}}/firelens/application を選択します。

  2. ログ、特にカスタムパーサーによって追加されたカスタムフィールドを検証します。

  3. CloudWatch を使用して、カスタムフィールドに基づいてログをフィルタリングします。

システム管理者、開発者

CloudWatch のログを検証する

タスク説明必要なスキル

ログを検証します。

  1. CloudWatch コンソールを開き、[ロググループ] を選択して、/aws/ecs/containerinsights/{{cluster_ARN}}/firelens/application を選択します。

  2. ログ、特にカスタムパーサーによって追加されたカスタムフィールドを検証します。

  3. CloudWatch を使用して、カスタムフィールドに基づいてログをフィルタリングします。

システム管理者、開発者

関連リソース

添付ファイル

このドキュメントに関連する追加コンテンツにアクセスするには、次のファイルを解凍してください。「attachment.zip

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.