resource :EcsTask, 'AWS::ECS::TaskDefinition', DependsOn: [:IamRoleExec, :IamRoleTask, :LogGroup] do
cpu 512 # 256 512 1024 2048 4096 memory '1GB' # 2-8 times cpu requires_compatibilities [:FARGATE] execution_role_arn Fn::get_att(:IamRoleExec, :Arn) task_role_arn Fn::get_att(:IamRoleTask, :Arn) network_mode :awsvpc container_definitions [ { Name: :app, Image: Fn::sub('${AWS::AccountId}.dkr.ecr.${AWS::Region}.amazonaws.com/app:latest'), # FIXME MemoryReservation: 512, # Environment: [ # { Name: :STACK_NAME, Value: Fn::ref('AWS::StackName') }, # ], PortMappings: [ { ContainerPort: 3000 } ], LogConfiguration: { LogDriver: :awslogs, Options: { 'awslogs-group' => Fn::ref(:LogGroup), 'awslogs-region' => Fn::ref('AWS::Region'), 'awslogs-stream-prefix' => Fn::ref('AWS::StackName'), } } } ]
end
output :EcsTask, Fn::ref(:EcsTask)