【问题标题】:Is there a way to prevent aliases from getting reset upon deployment?有没有办法防止别名在部署时被重置?
【发布时间】:2019-11-28 01:52:27
【问题描述】:

我设置了一个 CloudFront 分配,使用无服务器,有几个默认别名。别名可以在serverless.yaml 配置范围之外更新。当分发配置发生变化时,是否可以防止别名在每次部署时被重置为默认值?

如果分发配置方面没有任何变化,则不会使用默认值重置任何内容。我可能会在第一次部署后尝试删除别名,以确保从那时起不会通过配置更新任何内容,但这不是处理配置的理想方式。

# serverless.yaml
...
resources:
  Resources:
    myLovelyDistribution:
      Type: AWS::CloudFront::Distribution
      Properties:
        DistributionConfig:
          Aliases:
            - alias1
            - alias2
...

最初,我希望别名在每次部署时都保持不变,尽管在 serverless.yaml 配置范围之外进行了任何更新。由于情况并非如此,如果仅更新分发,是否有办法强制合并或防止任何重置?

提前致谢!

【问题讨论】:

    标签: serverless-framework


    【解决方案1】:

    不,正如您所描述的那样,这是不可能的。但是,我确实有一个想法供您考虑,但首先要警告...

    我必须提醒您,您似乎已经知道:使用多种工具和方法更新您的配置通常是不明智的。只选择一个,然后坚持下去。

    现在我的想法是:面对这些类型的挑战时,我喜欢使用键/值存储将多个工具/方法“粘合”在一起。大多数人使用 AWS Parameter Store,它位于 Systems Manager 区域。

    # 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 控制台进行更新。

    【讨论】:

      猜你喜欢
      • 2021-12-03
      • 1970-01-01
      • 1970-01-01
      • 2015-11-11
      • 2019-02-15
      • 2010-09-06
      • 1970-01-01
      • 2012-10-17
      • 1970-01-01
      相关资源
      最近更新 更多