1

我在 CloudFormation 中有一个 Aurora 集群(无服务器 - PostgreSQL)设置,我想将日志保留时间配置为 7 天左右,但我无法找到设置此设置的位置。

这是我对 DBCluster 的 CloudFormation 定义:

AuroraDBCluster:
    Type: AWS::RDS::DBCluster
    DeletionPolicy: Delete
    UpdateReplacePolicy: Delete
    Properties:
      Engine: aurora-postgresql
      EngineMode: serverless
      EngineVersion: 10.7
      DatabaseName: test-db
      DeletionProtection: false
      ScalingConfiguration:
        AutoPause: True
        MaxCapacity: 8
        MinCapacity: 2
        SecondsUntilAutoPause: 300
      VpcSecurityGroupIds: 
        - !Ref AuroraClusterSecurityGroup
      Port: !Ref DBPort
      MasterUsername:
        !Join ['', ['{{resolve:secretsmanager:', !Ref AuroraMasterSecret, ':SecretString:username}}' ]]
      MasterUserPassword:
        !Join ['', ['{{resolve:secretsmanager:', !Ref AuroraMasterSecret, ':SecretString:password}}' ]]
      DBSubnetGroupName: !Ref DBSubnetGroup      
      BackupRetentionPeriod: 35
      DBClusterParameterGroupName: !Ref RDSDBClusterParameterGroup
      StorageEncrypted: true
      KmsKeyId: !Ref AuroraKMSCMK

我创建了一个不同的 LogGroup,如下所示:

  AuroraClusterLogGroup:
    Type: "AWS::Logs::LogGroup"
    Properties:
      RetentionInDays: 7
      LogGroupName: !Join ["", ["/aws/rds/cluster/", !Ref AuroraDBCluster, /postgresql]]

但是当我部署堆栈时,它说:

CREATE_FAILED  AWS::Logs::LogGroup  AuroraClusterLogGroup  /aws/rds/cluster/aurora-serverless-db-ufeihfhef74465/postgresql already exists

因为(我认为)AuroraDBCluster 资源创建了自己的同名 LogGroup。

我已经查看了AWS::RDS::DBCluster文档,但没有找到任何有关日志保留的参考资料。

在这种情况下我能做什么?

谢谢!

4

1 回答 1

1

如果 Aurora 已经创建了自己的日志组,则无法从 CloudFormation 更改它。这样做的唯一方法是在模板中使用自定义资源。

在自定义资源中,您可以使用put-retention-policy修改所选日志组的保留时间。

于 2020-06-26T22:51:15.250 回答