amazon-web-services - AWS CLI 与控制台和 CloudFormation 堆栈

标签 amazon-web-services aws-sdk aws-cloudformation aws-cli

通过 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/

相关文章:

使用 Boto 3 发布 SNS 消息时 JSON 编码错误

docker - AWS 日志驱动程序未将 `tail -f` 拾取到 Docker 镜像 `stdout`

amazon-web-services - 基础设施代码是否应该与应用程序代码存储在同一存储库中?

python - 如何访问来自 AWS Kinesis Data Stream 事件的数据?

amazon-web-services - Terraform aws 安全组 revoke_rule_on_delete?

spring - 可以将消息推送到 aws sqs 的最大速率是多少?

amazon-web-services - 如何通过java sdk更改AWS S3对象上的存储类

amazon-s3 - 如何修复 S3 中的 "Exactly one of TransitionDate and TransitionInDays must be specified"

linux - 如何获取当前时间的 docker 统计信息?

java - 读取/更新操作时出现 Dynamodb ConditionalCheckFailedException - java sdk