gpt4 book ai didi

deployment - 使用 Ansible 自动配置 AWS 自动缩放组实例

转载 作者:行者123 更新时间:2023-12-04 00:06:17 24 4
gpt4 key购买 nike

我正在使用 Amazon Web Services 在弹性负载均衡器后面创建一个自动缩放应用程序实例组。我使用 CloudFormation 模板来创建自动缩放组 + 负载均衡器,并使用 Ansible 来配置其他实例。

我很难理解如何设计一些东西,以便当新的自动缩放实例出现时,它们可以由 Ansible 自动配置(也就是说,我不需要找出新实例的主机名并运行 Ansible它)。我研究过 Ansible 的 ansible-pull 功能,但我不太确定我是否理解如何使用它。它需要一个从中提取的中央 git 存储库,但是如何处理不想提交的敏感信息?

此外,我目前在 AWS 中使用 Ansible 的方式是使用 CloudFormation 模板创建堆栈,然后从堆栈中获取主机名作为输出,然后生成一个主机文件以供 Ansible 使用。这感觉不太对劲——有没有“最佳实践”?

最佳答案

是的,另一种方法是在实例启动后在本地运行您的剧本。例如,您可以为您的部署创建一个 EC2 AMI,位于 rc.local 中。文件 (Linux) 调用 ansible-playbook -i <inventory-only-with-localhost-file> <your-playbook>.ymlrc.local几乎是启动时运行的最后一个脚本。

您可以将该敏感信息存储在 EC2 AMI 中,但这是一个非常广泛的主题,实际上取决于它是什么类型的敏感信息。 (您还可以使用私有(private) git 存储库来存储敏感数据)。

例如,如果您的 playbook 定期更新,您可以在 AMI 中创建一个 cron 条目,该条目经常运行并实际运行您的 playbook,以确保您的实例配置始终是最新的。从而避免从远程工作站“推送”。

这只是一种方法,可能还有许多其他方法,这取决于您运行的服务类型、使用的数据类型等。

关于deployment - 使用 Ansible 自动配置 AWS 自动缩放组实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22574308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com