Firelens のログ送信先を CloudWatch Logs に設定する - Amazon CloudWatch

Firelens のログ送信先を CloudWatch Logs に設定する

Amazon ECS 対応 FireLens では、タスク定義パラメータを使用して、ログのストレージと分析のために Amazon CloudWatch Logs にログをルーティングできます。FireLens は Fluent Bit および Fluentd で動作します。提供されている AWS for Fluent Bit イメージを使用することも、独自の Fluent Bit または Fluentd イメージを使用することもできます。FireLens 設定を使用した Amazon ECS タスク定義の作成は、AWS SDK、AWS CLI、および AWS マネジメントコンソール でサポートされています。CloudWatch Logs の詳細については、「CloudWatch Logs とは」をご参照ください。

Amazon ECS に FireLens を使用する場合、重要な考慮事項があります。詳細については、「考慮事項」をご参照ください。

Fluent Bit イメージ用の AWS を見つけるには、「Fluent Bit イメージのために AWS を使用する」をご参照ください。

FireLens 設定を使用するタスク定義を作成するには、「FireLens 設定を使用するタスク定義の作成」をご参照ください。

次のタスク定義の例は、CloudWatch Logs ロググループにログを転送するログ設定を指定する方法を示しています。詳細については、Amazon CloudWatch Logs User Guideの「Amazon CloudWatch Logs とは」を参照してください。

ログ設定オプションで、ロググループ名とロググループが存在するリージョンを指定します。Fluent Bit で自動的にロググループを作成するには、"auto_create_group":"true" を指定します。フィルタリングに役立つログストリームプレフィックスとしてタスク ID を指定することもできます。詳細については、「CloudWatch Logs 用の Fluent Bit プラグイン」を参照してください。

{ "family": "firelens-example-cloudwatch", "taskRoleArn": "arn:aws:iam::123456789012:role/ecs_task_iam_role", "containerDefinitions": [ { "essential": true, "image": "906394416424.dkr.ecr.us-west-2.amazonaws.com/aws-for-fluent-bit:latest", "name": "log_router", "firelensConfiguration": { "type": "fluentbit" }, "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "firelens-container", "awslogs-region": "us-west-2", "awslogs-create-group": "true", "awslogs-stream-prefix": "firelens" } }, "memoryReservation": 50 }, { "essential": true, "image": "nginx", "name": "app", "logConfiguration": { "logDriver":"awsfirelens", "options": { "Name": "cloudwatch", "region": "us-west-2", "log_key": "log", "log_group_name": "/aws/ecs/containerinsights/$(ecs_cluster)/application", "auto_create_group": "true", "log_stream_name": "$(ecs_task_id)" } }, "memoryReservation": 100 } ] }