Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 您应该如何在AWS中部署无服务器和非无服务器资源的组合?_Amazon Web Services_Amazon Cloudformation - Fatal编程技术网

Amazon web services 您应该如何在AWS中部署无服务器和非无服务器资源的组合?

Amazon web services 您应该如何在AWS中部署无服务器和非无服务器资源的组合?,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我需要部署无服务器(API GW和Lambda)和非无服务器资源(RDS、ElastiCache等)的组合。使用SAM模板可以轻松部署所有这些资源。但我应该将它们全部放在一个模板中,还是应该使用一个无服务器模板(例如API GW和Lambda)以及一个用于不同静态资源的CloudFormation模板?是否有一些AWS最佳实践?AWS SAM模板是CloudFormation的超集,因此,除了为无服务器资源内置的快捷方式外,还支持定义CloudFormation支持的任何资源;使用AWS SAM

我需要部署无服务器(API GW和Lambda)和非无服务器资源(RDS、ElastiCache等)的组合。使用SAM模板可以轻松部署所有这些资源。但我应该将它们全部放在一个模板中,还是应该使用一个无服务器模板(例如API GW和Lambda)以及一个用于不同静态资源的CloudFormation模板?是否有一些AWS最佳实践?

AWS SAM模板是CloudFormation的超集,因此,除了为无服务器资源内置的快捷方式外,还支持定义CloudFormation支持的任何资源;使用AWS SAM,您不仅可以定义无服务器资源和应用程序,还可以定义CloudFormation支持的任何其他资源。虽然没有哪一种标准可以用来说明哪种资源,但是,您可能会想,对于所有的基础设施,采用单一的模板标准作为代码模板,可以使学习和采用该标准比同时采用多个标准更容易。

关于资源的组织,可以用来组织和/或隔离资源的一种策略是CloudFormations
嵌套堆栈
概念,SAM已将其扩展到
嵌套应用程序
。使用“嵌套”方法,您可以将资源分离出来并组织到单个模板或
堆栈中,这些模板或堆栈对您的用例具有逻辑意义,并使用
根堆栈部署它们。这种方法有许多优点,包括允许在其他嵌套应用程序中重用
堆栈


您可以了解有关
CloudFormation嵌套堆栈
AWS SAM嵌套应用程序
的更多信息,AWS SAM嵌套堆栈有一个很好的教程,可以让您快速熟悉嵌套应用程序。

若要添加此内容,请考虑您希望在生产中发布什么版本和版本。如果您同时对所有内容进行版本化和发布,那么一个具有嵌套堆栈的堆栈是有意义的。如果您有两个独立版本和发布的服务,那么两个独立的堆栈是有意义的。