【发布时间】:2020-09-07 17:02:57
【问题描述】:
有人知道 AWS CloudFormation 是如何工作的吗?
另外,有人知道与 AWS CF 等效的开源软件吗(我不是指可能使用 CloudFormation 的工具)?
它显然是一个强大的协调器,但我很想探索这些工具的内部工作原理。
【问题讨论】:
标签: amazon-web-services amazon-cloudformation orchestration
有人知道 AWS CloudFormation 是如何工作的吗?
另外,有人知道与 AWS CF 等效的开源软件吗(我不是指可能使用 CloudFormation 的工具)?
它显然是一个强大的协调器,但我很想探索这些工具的内部工作原理。
【问题讨论】:
标签: amazon-web-services amazon-cloudformation orchestration
AWS Cloudformation 为每个受支持的组件提供了多个预定义的架构集。当您上传用于创建资源的 Cloudformation 模板时,它会执行以下步骤:
在这里我们需要了解,Cloudformation 内部本身就是一个产品,它会根据需要使用 AWS SDK/CLI。但是,在后台,它会维护自己的数据,以便在您运行更新时比较属性和资源。
对此的一个开源替代方案是Terraform。 Terraform 是 Cloudformation 使用最广泛的开源替代品。 Terraform 以其独立于云的架构而闻名。 Terraform 与多个云一起工作,模板中的更改最少。
terraform 的底层工作涉及创建State 文件/目录,其中存储由用户提供的名称唯一标识的任何堆栈的当前状态。 Terraform 主要使用 Python SDK (boto3) 和其他一些 API 创建资源。我们需要将访问密钥和机密传递给 Terraform 配置,以使其能够访问 AWS 云环境。
如果您希望构建一个智能的新替代方案,考虑到 AWS 在其 SDK 和 CLI 界面设计中严格遵循标准设计模式,这应该相当简单。这使得将模板转换为可执行代码变得更加容易。
有关 Cloudformation 工作的更多信息可以找到here
【讨论】: