如何为AWS同步的Ansible库存组添加并保留自定义变量?
解决AWS EC2动态库存分组重建后自定义变量丢失的问题
方案1:使用静态组变量文件
在Ansible的库存目录下创建group_vars/aws_windows.yml文件,将Windows专属的自定义变量写入其中:
ansible_connection: winrm ansible_winrm_transport: ntlm ansible_winrm_server_cert_validation: ignore # 按需添加其他Windows主机所需变量
当动态库存同步重建aws_windows组时,Ansible会自动加载这个文件中的变量,无需手动重新配置。只要分组名称保持一致,变量就会自动生效,完全不依赖动态分组的生成逻辑。
方案2:在动态库存配置中嵌入分组变量
修改AWS EC2库存源的keyed_groups配置,直接为生成的分组绑定变量:
keyed_groups: - key: platform prefix: aws vars: ansible_connection: winrm ansible_winrm_server_cert_validation: ignore ansible_winrm_port: 5985
每次同步库存生成aws_windows(或其他平台分组)时,这些变量会自动附加到分组上。即使分组被删除后重建,配置中的变量也会随分组一起生成,彻底避免变量丢失的问题。
方案3:利用Ansible Automation Platform的变量集功能
- 在AAP控制台中创建一个变量集,填入Windows主机的专属连接变量;
- 将该变量集关联到
aws_windows组(通过AAP界面的Inventory -> Groups -> 目标组 -> Variables页面操作); - 当分组被重建后,只需重新将变量集关联到新生成的
aws_windows组即可(部分AAP版本支持按组名自动匹配,此步骤可省略)。
这种方法适合在AAP界面集中管理变量,无需修改本地文件,更符合平台化的操作流程。
内容的提问来源于stack exchange,提问作者jeremywat
相关产品推荐
相关产品推荐

