ログはロググループとログストリームに分かれおり、ロググループが大分類を表してログストリームを包含する。
ロググループは、タスク定義の**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になる。