首页 > 解决方案 > AWS CLI 与控制台和 CloudFormation 堆栈

问题描述

通过 CLI 在 aws 上创建资源有什么已知的缺点吗?使用一种方法而不是另一种方法是否更可靠/更容易/容易出错/在很大程度上被接受/推荐?在设置循环脚本时,我是否有理由希望通过 AWS CLI 使用 CloudFormation 或 AWS 控制台直接运行命令?

例如,如果我要创建一个 ECS Fargate 任务定义,我是否有任何理由希望通过 AWS CLI 使用 AWS CloudFormation 或控制台?Cli 语法简单且易于使用,并且有一些事情(例如专门为Fargate任务设置事件规则/目标)尚不通过 cloudformation 支持。

标签: amazon-web-servicesaws-sdkamazon-cloudformationaws-cli

解决方案


AWS CLI 和 AWS CloudFormation 是两种不同的工具,可用于在 AWS 上创建基础设施。CLI 比 CloudFormation 更强大,控制更精细。CloudFormation 使使用 yaml 或 json 文本文件变得非常容易,这些文本文件可以描述云中的整个企业。

CloudFormation 的强大优势之一是在部署堆栈时出现任何故障时自动支持回滚更改。相比之下,CLI 将要求您找出问题的详细信息以及如何回到您的状态。使用 CloudFormation 更新基础架构是另一个好处。在模板中进行更改并更新堆栈。

对于小型设置,使用 CLI 就可以了。然而,一旦你启动了一个 EC2 实例并开始构建 VPC、实例、密钥对、安全组、RDS 等,你会发现 CLI 有一些真正的限制:大部分过程过于手动,不易重复, 很难把过程放到版本控制中, ....

如果您不断构建、测试和删除复杂的设置,CloudFormation 绝对是 AWS 的最佳工具之一。请注意,有许多第三方解决方案拥有大量追随者,例如 Bamboo、Octopus、Jenkins、Chef 等。

如果您的工作是 SysOps 或 DevOps,那么您绝对想掌握 CLI 和 CloudFormation。这些是与 AWS 合作的绝佳工具。还要掌握 Beanstalk,也许是 OpsWorks 和 Jenkins 等第三方工具之一。


推荐阅读