amazon-web-services - AWS CLI 与控制台和 CloudFormation 堆栈
问题描述
通过 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、实例、密钥对、安全组、RDS 等,你会发现 CLI 有一些真正的限制:大部分过程过于手动,不易重复, 很难把过程放到版本控制中, ....
如果您不断构建、测试和删除复杂的设置,CloudFormation 绝对是 AWS 的最佳工具之一。请注意,有许多第三方解决方案拥有大量追随者,例如 Bamboo、Octopus、Jenkins、Chef 等。
如果您的工作是 SysOps 或 DevOps,那么您绝对想掌握 CLI 和 CloudFormation。这些是与 AWS 合作的绝佳工具。还要掌握 Beanstalk,也许是 OpsWorks 和 Jenkins 等第三方工具之一。
推荐阅读
- php - json_decode 在有效的 json 上给出 null
- javascript - 通过纱线的Webpack:停止进程并在警告时退出代码1
- python - Python Beautiful Soup 在多行中打印特定行
包含字符串
- c - 使用 realloc 调整(减小)char 数组的大小并检查是否成功
- javascript - 在 MVC 中提交无序列表
- css - 支持 IE 中的伪元素上的光标
- spring - 在 Spring Boot 中禁用“via”http 标头
- android - 仅粘贴剪贴板中的数字
- r - R:从本地 tar.gz 安装 R 包时找不到“make”
- reactjs - 找不到模块:错误:无法使用打字稿解析“反应选择”