AWS Elastic Beanstalk .ebextensions 不更新默认配置

AWS Elastic Beanstalk .ebextensions not updating the default configuration

由于日志轮换,我的 Elastic Beanstalk 实例中存在内存磁盘问题,因此我尝试按照文档修改日志轮换的默认配置:

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.logging.html

添加我的配置并重建环境后,当我通过 SSH 连接到我的 EB 时,我可以看到我的配置(在我指定的路径中)。但是,我的更改似乎没有应用,日志也没有根据我的配置轮换。

##################################################################
##  Sets up the elastic beanstalk log publication to include
##   the admin logs for cloudwatch logs
##################################################################

Resources:
  AWSEBAutoScalingGroup:
    Metadata:
      "AWS::CloudFormation::Init":
        configSets:
          "_OnInstanceBoot":
            "CmpFn::Insert":
              values:
                - EBCWLLogPublicationSetup
        EBCWLLogPublicationSetup:
          files:
            "/etc/logrotate.elasticbeanstalk.hourly/logrotate.elasticbeanstalk.awslogs.conf":
              content: |
                /var/log/awslogs.log {
                size 2M
                rotate 3
                missingok
                compress
                notifempty
                copytruncate
                dateext
                dateformat %s
                olddir /var/log/rotated
                }
                mode: "000644"

我的 EB 实例包含一个 Java 应用程序(dropwizard,Java 1.8),它是 docker 化的。

有什么想法吗?

最后,我找到了另一种有效的方法:

container_commands:
    01-custom-rotate:
        command: "/bin/sed -i 's/size 10M/size 7M/g' /etc/logrotate.elasticbeanstalk.hourly/logrotate.elasticbeanstalk.awslogs.conf"

基本上它替换了配置文件中的文本。 EB 仍然需要重建才能看到变化。