我已经使用无服务器设置了CloudFront发行版,并带有几个默认别名。别名可以在serverless.yaml
配置范围之外进行更新。分发配置方面发生某些变化时,是否可以防止别名在每次部署时重置为默认值?
如果分发配置没有任何变化,则不会使用默认值重置任何内容。在第一次部署后,我可能会尝试删除别名,以确保从那时起所有配置都不会更新,但这不是工作配置的理想方法。
# serverless.yaml
...
resources:
Resources:
myLovelyDistribution:
Type: AWS::CloudFront::Distribution
Properties:
DistributionConfig:
Aliases:
- alias1
- alias2
...
最初,我希望别名部署在每个部署上均保持不变,尽管在serverless.yaml
配置范围之外进行了任何更新。既然不是这种情况,如果仅更新发行版,是否有办法强制合并或防止任何重置?
谢谢!
答案 0 :(得分:0)
否,这是您所无法描述的。但是,我确实有一个想法可供您考虑,但首先要警告...
我必须提醒您您似乎已经知道的内容:使用多种工具和方法更新配置通常是不明智的。只选择一个,然后坚持下去。
现在我的想法是:当面对这些类型的挑战时,我喜欢使用键/值存储将多个工具/方法“粘合”在一起。大多数人都使用“系统管理器”区域中的AWS Parameter Store。
# serverless.yaml
...
resources:
Resources:
myLovelyDistribution:
Type: AWS::CloudFront::Distribution
Properties:
DistributionConfig:
Aliases: [${ssm:/path/to/this/service/CloudFront/Aliases}]
...
现在,您提到的该过程不在serverless.yaml
的范围内,可以由awscli aws ssm put-parameter --parameter-name /path/to/this/service/CloudFront/Aliases --value alias1,alias2,alias3
或AWS控制台由人来更新。