Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services Cloudformation:ECS任务定义CloudWatch日志保留策略_Amazon Web Services_Logging_Amazon Cloudformation_Amazon Ecs_Amazon Cloudwatch - Fatal编程技术网

Amazon web services Cloudformation:ECS任务定义CloudWatch日志保留策略

Amazon web services Cloudformation:ECS任务定义CloudWatch日志保留策略,amazon-web-services,logging,amazon-cloudformation,amazon-ecs,amazon-cloudwatch,Amazon Web Services,Logging,Amazon Cloudformation,Amazon Ecs,Amazon Cloudwatch,是否可以在ECS任务定义中指定CloudWatch日志保留策略? 找不到有关它的任何文档 ServiceTaskDefinition: 类型:AWS::ECS::TaskDefinition 特性: 刽子手学习:!GetAtt执行角色。Arn TaskRoleArn:!GetAtt摇头丸角色。Arn 中央处理器:!Ref任务定义CPU 记忆:!Ref任务定义内存 网络模式:awsvpc 集装箱定义: -姓名:!加入['-',['container',!Ref AWS::StackName]] 图

是否可以在ECS任务定义中指定CloudWatch日志保留策略? 找不到有关它的任何文档

ServiceTaskDefinition:
类型:AWS::ECS::TaskDefinition
特性:
刽子手学习:!GetAtt执行角色。Arn
TaskRoleArn:!GetAtt摇头丸角色。Arn
中央处理器:!Ref任务定义CPU
记忆:!Ref任务定义内存
网络模式:awsvpc
集装箱定义:
-姓名:!加入['-',['container',!Ref AWS::StackName]]
图片:!参考EcrImage
端口映射:
-集装箱港口:!参考端口
主机端口:!参考端口
协议:tcp
基本:正确
日志配置:
车夫:awslogs
选项:
awslogs集团:!加入['',['/ecs/',!Ref AWS::StackName]]
awslogs地区:!Ref AWS::区域
awslogs流前缀:ecs
awslogs创建组:true
#保留策略??

。但是,您可以在带外创建日志组,并让任务定义使用它(而不是自动创建它)。可以在显式创建日志组时定义保留策略(即,在
AWS::Logs::LogGroup
定义中)。请参阅。

同意另一个答案,即没有在中指定日志保留的选项

我们需要创建并传递它:

  CloudwatchLogsGroup:
    Type: 'AWS::Logs::LogGroup'
    Properties:
      LogGroupName: !Sub '${AWS::StackName}-ECSLogGroup'
      RetentionInDays: 14
容器定义:

  ContainerTaskdefinition:
    Type: 'AWS::ECS::TaskDefinition'
    Properties:
      Family: !Ref 'AWS::StackName'
      ExecutionRoleArn: !Ref ECSTaskExecutionRole
      TaskRoleArn: !Ref ECSTaskExecutionRole
      Cpu: '256'
      Memory: 1GB
      NetworkMode: awsvpc
      RequiresCompatibilities:
        - EC2
        - FARGATE
      ContainerDefinitions:
        - Name: !Ref 'AWS::StackName'
          Cpu: 256
          Essential: 'true'
          Image: !Ref Image
          Memory: '1024'
          LogConfiguration:
            LogDriver: awslogs
            Options:
              awslogs-group: !Ref CloudwatchLogsGroup <-- refer to log group
              awslogs-region: !Ref 'AWS::Region'
              awslogs-stream-prefix: ecs
containerTaskId定义:
类型:“AWS::ECS::TaskDefinition”
特性:
家庭:!参考“AWS::StackName”
刽子手学习:!Ref执行角色
TaskRoleArn:!Ref执行角色
Cpu:'256'
内存:1GB
网络模式:awsvpc
要求符合性:
-EC2
-法尔盖特
集装箱定义:
-姓名:!参考“AWS::StackName”
中央处理器:256
关键:“真实”
图片:!参考图像
内存:“1024”
日志配置:
车夫:awslogs
选项:

awslogs集团:!Ref CloudwatchLogsGroup与所有其他支持记录到CloudWatch日志的服务一样,如果您想在日志组上设置KMS加密和日志保留之类的内容,您必须首先使用所需的设置创建日志组,然后配置服务以记录到该日志组。

是的,这似乎是唯一的方法