ログはロググループ
とログストリーム
に分かれおり、ロググループ
が大分類を表してログストリーム
を包含する。
ロググループは、タスク定義の**ContainerDefinitions
**で指定する。CloudFormation
はロググループ
を以下のように指定する。
LogConfiguration:
LogDriver: awslogs
Options:
awslogs-group: "/ecs/example"
awslogs-region: ap-northeast-1
awslogs-stream-prefix: ecs # これはログストリームのプレフィックス
実行中のタスクもログストリーム
にログが出力される。
つまり実行中のサービスのログもログストリーム
に出力される。
ロググループ
の中に作成される。
{{awslogs-stream-prefix}}/コンテナ名/コンテナランタイム ID
コンテナランタイムID
はタスク(ID)
と同じハッシュ値。
つまりタスクが複数のコンテナを持つ場合のコンテナランタイムID
はすべて同じ。
CloudWatch
に自動出力している場合、ロググループ
を削除するとタスク実行時にエラーになるhttps://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/using_awslogs.html
prefix-name/container-name/ecs-task-id
AWS::ECS::TaskDefinition
.Properties
.ContainerDefinitions
.LogConfiguration
で定義する。
ContainerDefinitionがMyAppContainer
の場合。
LogConfiguration:
LogDriver: awslogs
Options:
awslogs-group: "/ecs/sample"
awslogs-region: ap-northeast-1
awslogs-stream-prefix: ecs # prefix-name
ロググループ /ecs/sample/
のタスク実行ログは、
/ecs/MyAppContainer/タスクId
になる。