You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible 2.9调用community.aws.ec2_instance_info模块无法识别报错求助

问题根因

  • Ansible 2.9 版本对集合(Collection)的原生支持存在缺陷:你输出的ansible --version里的configured module search path没有包含用户家目录下的.ansible/collections路径,Ansible无法扫描到你安装的社区集合。
  • 集合版本不兼容:你强制重装的community.aws 2.0.0、amazon.aws 2.0.0最低要求Ansible 2.10及以上版本,和你在用的Ansible 2.9.27完全不兼容,之前正常的机器是因为安装了兼容2.9的1.x版本集合。

修复步骤

步骤1:卸载现有不兼容的高版本集合

执行命令:

ansible-galaxy collection uninstall community.aws amazon.aws -y

步骤2:安装兼容Ansible 2.9的集合版本

1.x系列是最后一个兼容Ansible 2.9的版本分支,执行以下命令安装指定版本:

ansible-galaxy collection install community.aws:1.5.0 amazon.aws:1.5.0

如果需要所有用户都能使用集合,可以安装到全局路径:

sudo ansible-galaxy collection install community.aws:1.5.0 amazon.aws:1.5.0 -p /usr/share/ansible/collections

步骤3:修改Ansible配置添加集合搜索路径

编辑全局Ansible配置文件/etc/ansible/ansible.cfg,在[defaults]配置段下新增以下内容:

[defaults]
collections_paths = /home/ubuntu/.ansible/collections:/usr/share/ansible/collections
# 如果需要支持root用户运行Ansible,可改为下面的配置
# collections_paths = /home/ubuntu/.ansible/collections:/root/.ansible/collections:/usr/share/ansible/collections

步骤4:验证修复结果

执行以下命令检查Ansible是否能正常识别带前缀的模块:

ansible-doc community.aws.ec2_instance_info

如果正常输出模块说明文档,再运行你的测试Playbook,即可正常调用community.aws.ec2_instance_info模块。

注意事项

后续安装其他Ansible集合时,需先确认版本兼容性,避免安装过高版本导致和现有Ansible 2.9环境不匹配。

内容的提问来源于stack exchange,提问作者Ciprian Stoica

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:36:04