如何在AWS服务中获取源代码控制配置,例如“ s3”,“ cloudfront”配置?

时间:2018-12-24 22:46:17

标签: amazon-web-services amazon-cloudfront

我正在使用s3Cloudfront管理Web应用程序使用的缓存。有一些配置是通过aws控制台完成的,例如originbehaviourpermission等。我想知道是否可以在我的git仓库下设置这些配置,以便对它们进行源代码控制。而且,我也可以将其添加到CI/CD上进行测试和部署。

2 个答案:

答案 0 :(得分:1)

要保持基础结构在源代码管理中的更改,您必须在代码中定义基础结构。有两种解决方案可供选择。

CloudFormation AWS提供了CloudFormation脚本,您可以在其中定义使用JSON或YAML定义的基础架构。这也支持跟踪更改,如果您对CloudFormation进行了更改并更新了更改,则AWS会尝试仅更新CloudFormation中所做的新更改,并在可能的情况下保持其余资源不变。

有关更多信息,请参见AWS CloudFormation CloudFront Distribution Templates AWS CLI 另一个选择是使用AWS CLI脚本,因为它基本上是几个包含用于创建基础架构的命令的Shell脚本,所以它更直接。

有关更多信息,请参见AWS CLI CloudFormation commands

AWS SDK:编写代码段 也可以使用AWS开发工具包编写代码段,以使用您喜欢的语言配置CloudFront和资源。

有关更多信息,请参见AWS SDK for NodeJS CloudFront API Reference(或者您也可以找到其他语言的SDK)。

以上方法允许将基础结构更改提交给源代码管理并对其进行跟踪。但是,此方法的局限性在于无法知道对基础结构进行更改时会发生什么情况(不支持空运行)。

Terraform 这是Terraform之类的工具在这里提供帮助的地方,您可以在其中使用Terraform支持的第三方语言来编写基础架构,该语言还可以跟踪AWS中已配置的内容。除此之外,它还会向您显示如果进行更改会发生什么情况。

有关更多详细信息,请参见Terraform AWS CloudFront Distribution Module

无服务器框架组件 另一个开源工具正在使用无服务器框架和组件。入门较简单,但仍处于初期阶段(无服务器框架已经成熟,但他们最近才引入了组件)。

有关更多详细信息,请参见Serverless Framework AWS CloudFront Component

答案 1 :(得分:0)

为了对您的AWS配置进行源代码控制,需要一些其他工具。它们被归类为“作为代码的基础架构”。 AWS有它自己的版本,称为CloudFormation。还有第三方工具也可以与其他云提供商一起使用,例如Terraform