【问题标题】:AWS Region issue while deploying cloudformation template部署 cloudformation 模板时出现 AWS 区域问题
【发布时间】:2021-11-20 10:50:36
【问题描述】:

我创建了一个 CloudFormation 模板,我将在其中部署一个 Lambda 函数,该函数将从压缩文件中的 S3 存储桶中获取代码。存储桶位于 us-west-2 区域。

我的问题是,如果用户将模板部署部署在另一个账户中的 us-west-2 之外的另一个区域,则模板部署无法创建 Lambda 函数,因为它无法在上述区域中找到存储桶。

另外,我不能直接在模板中添加代码,因为代码有一些依赖文件。

分享代码的sn-p。任何建议都非常感谢。 谢谢

Resources:
  DMARCFunction:
    Type: AWS::Lambda::Function
    Properties:
      Code:
        S3Bucket: lambda-code-bucket
        S3Key: Lambda.zip
      Runtime: python3.8
      Role: !GetAtt LambdaRole.Arn
      Handler: lambda_function.lambda_handler
      Timeout: 15
      TracingConfig:
        Mode: Active

【问题讨论】:

    标签: amazon-web-services amazon-s3 aws-lambda amazon-cloudformation


    【解决方案1】:

    这不是 CloudFormation 问题。这就是 lambda 的工作原理。 ZIP 和函数必须在同一区域。如果要创建函数,您必须将 ZIP 复制到所有区域和帐户。

    【讨论】:

    • 感谢您的回复@Marcin。您是否认为有办法在所有区域复制代码,因为如果我在不同区域创建 s\S3 存储桶,它必须具有不同的名称,但我在代码中只提到了 1 个存储桶。是否有可能的解决方法。谢谢
    • @ASingh 一个是通过here 描述的自定义资源。或者使用'lambda-zips-${AWS::Region}' 模式命名您的存储桶。
    • @ASingh 进展如何?仍然不清楚你能做什么?
    • @ASingh 没问题。很高兴它解决了:-)
    猜你喜欢
    • 1970-01-01
    • 2021-05-24
    • 2020-09-08
    • 2016-12-12
    • 2020-09-18
    • 2017-08-30
    • 1970-01-01
    • 2018-07-19
    • 2020-10-25
    相关资源
    最近更新 更多