AWS 为一些受支持的 RDS 引擎提供了完全配置且随时可用的轮换支持,包括 Amazon Aurora(也无服务器?)
我正在尝试使用以下方法在我的 CloudFormation 模板中设置密码轮换AWS::SecretsManager::RotationSchedule
(请注意,这不是一个功能齐全的模板,只是一个说明):
DBCluster:
Type: AWS::RDS::DBCluster
Properties:
Engine : aurora
EngineMode : serverless
EngineVersion : 5.6.10a
Secret:
Type: AWS::SecretsManager::Secret
Properties:
GenerateSecretString:
SecretStringTemplate: '{"username": "admin"}'
GenerateStringKey: password
PasswordLength: 20
ExcludeCharacters: '"@/\'
SecretTargetAttachment:
Type: AWS::SecretsManager::SecretTargetAttachment
Properties:
SecretId: !Ref Secret
TargetId: !Ref DBCluster
TargetType: AWS::RDS::DBCluster
SecretRotation:
Type: AWS::SecretsManager::RotationSchedule
Properties:
SecretId: !Ref UserAdminSecret
RotationLambdaARN: <ARN_GET_FROM_SERVERLESS_APPLICATION_REPOSITORY>
RotationRules:
AutomaticallyAfterDays: 1
但 AWS Lambda 轮换函数失败并显示以下消息:
“数据库引擎必须设置为 'mysql' 才能使用此旋转 lambda”:KeyError
AWS 提供的 AWS Lambda 轮换功能似乎不支持 Aurora Serverless。
是否有使用现有 Lambda 轮换模板设置 Aurora Serverless 密钥轮换的简单方法?
任何可用于为 Aurora Serverless 编写我自己的轮换函数的示例?