Amazon web services 如何创建lambda boto3函数以在另一个Aws帐户中创建cloudformation堆栈
我想创建一个lambda函数,它可以在另一个Aws帐户中创建cloudformation堆栈,并从中的S3 bucket获取模板Amazon web services 如何创建lambda boto3函数以在另一个Aws帐户中创建cloudformation堆栈,amazon-web-services,aws-lambda,amazon-cloudformation,Amazon Web Services,Aws Lambda,Amazon Cloudformation,我想创建一个lambda函数,它可以在另一个Aws帐户中创建cloudformation堆栈,并从中的S3 bucket获取模板 源帐户。AWS CloudFormation只能从部署资源的AWS帐户运行 因此,账户A中的AWS Lambda功能需要: 对帐户B中的IAM角色调用AssumeRole(),这将为帐户B提供临时凭据 使用这些临时凭据调用CreateStack()在Account-B中创建CloudFormation堆栈 用于创建堆栈的模板文件可以作为CreateStack()调
源帐户。AWS CloudFormation只能从部署资源的AWS帐户运行 因此,账户A中的AWS Lambda功能需要:
- 对帐户B中的IAM角色调用
,这将为帐户B提供临时凭据AssumeRole()
- 使用这些临时凭据调用
在Account-B中创建CloudFormation堆栈CreateStack()
CreateStack()
调用的一部分传递,也可以通过AmazonS3 URL引用。如果模板来自Account-A,那么S3 bucket将需要使Account-B可以访问该对象(例如通过bucket策略或ACL)
Ref:有任何问题,特别是错误吗?您当前的代码是什么?为什么不起作用?请尝试将其分解。您需要生成一个CFN模板并将其保存在源帐户S3中,然后需要设置一个交叉帐户以在两个帐户之间复制文件,然后在目标帐户上触发Lambda以创建CFN模板。您要做的是将CFN放入S3存储桶中,并通过URL调用Lambda以在目标帐户上执行,然后跨目标帐户复制S3文件并执行CFN模板。@Jeremythonpson我已准备好CFN模板,但我不知道如何使用boto3在Lambda中编写完整的代码。你们能帮我提供完整的lambda代码吗?我已经创建了上面提到的假定角色,但我在为上述需求编写适当的lambda函数时感到困惑@AssumeRole的示例代码:我应该为boto3中的cloudformation编写什么代码?从Python中,使用它启动cloudformation堆栈。