通过 CLI 在 AWS 上创建资源是否有任何已知的缺点?使用一种方法是否比另一种方法更可靠/更容易/容易出错/被广泛接受/推荐?在设置重复脚本时,我是否有理由想要通过 AWS CLI 使用 CloudFormation 或 AWS 控制台来直接运行命令?
例如,如果我要创建 ECS Fargate 任务定义,是否有任何原因可能需要通过 AWS CLI 使用 AWS CloudFormation 或控制台? Cli 语法简单且易于使用,但有一些内容(例如专门为 fargate 任务设置事件规则/目标)尚未通过 cloudformation 支持。
最佳答案
AWS CLI 和 AWS CloudFormation 是两种不同的工具,可用于在 AWS 上创建基础设施。 CLI 比 CloudFormation 更强大并且具有更细粒度的控制。 CloudFormation 使使用 yaml 或 json 文本文件变得非常容易,这些文件可以描述云中的整个企业。
CloudFormation 的强大优势之一是,如果在部署堆栈时出现任何故障,可以自动支持回滚更改。相比之下,CLI 需要您找出问题的详细信息以及如何恢复到原来的状态。使用 CloudFormation 更新基础设施是另一个好处。在模板中进行更改并更新堆栈。
对于小型设置,使用 CLI 就可以了。然而,一旦您启动了 EC2 实例并开始构建 VPC、实例、 key 对、安全组、RDS 等,您会发现 CLI 有一些真正的局限性:主要是流程过于手动,不易重复,很难将流程纳入版本控制,....
如果您不断构建、测试和删除复杂的设置,CloudFormation 绝对是 AWS 最好的工具之一。请注意,有许多第三方解决方案拥有大量追随者,例如 Bamboo、Octopus、Jenkins、Chef 等。
如果您的工作是 SysOps 或 DevOps,那么您绝对希望掌握 CLI 和 CloudFormation。这些都是使用 AWS 的绝佳工具。还要掌握 Beanstalk,也许是 OpsWorks 以及 Jenkins 等第三方工具之一。
关于amazon-web-services - AWS CLI 与控制台和 CloudFormation 堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52631623/