通过CLI在AWS上创建资源是否存在任何已知的缺点?
例如,如果我要创建ECS Fargate任务定义,是否有任何理由为什么要在AWS CLI上使用cloudformation? Cli语法简单易用,并且有一些事情(例如专门为 fargate 任务设置事件规则/目标)尚未通过cloudformation支持。
答案 0 :(得分:3)
AWS CLI和AWS CloudFormation是两个不同的工具,可用于在AWS上创建基础架构。与CloudFormation相比,CLI更加强大,并且具有更细粒度的控制。 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之类的第三方工具之一。