我正在尝试使用 Ansible 创建 EC2 实例,并且我为此 EC2 创建了一个角色。
- name: launching AWS instance using Ansible
amazon.aws.ec2_instance:
key_name: xxxxx
instance_type: xxxxx
image: "{{ ami_id }}"
region: ap-southeast-2
wait: yes
group: Ansible
count: 1
vpc_subnet_id: vpc-xxxxxxx
register: ec2
执行时出现以下错误。
错误!无法解析模块/操作“amazon.aws.ec2_instance”。这通常表示拼写错误、集合丢失或模块路径不正确。
要创建的 Ec2 实例。
错误表明问题是:
馆藏名称正确。测试一下
shell> ansible-doc -t module -l | grep amazon.aws.ec2_instance
amazon.aws.ec2_instance ...
这意味着 Ansible 找不到该模块。请参阅 COLLECTIONS_PATHS 并查看您的配置。例如,如果您通过 pip 在本地为用户 admin
安装 Ansibleshell> ansible-config dump | grep COLLECTIONS_PATHS
COLLECTIONS_PATHS(/export/test/ansible.cfg) = ['/home/admin/.local/lib/python3.9/site-packages']
确保模块位于路径上。例如,
shell> ls -1 /home/admin/.local/lib/python3.9/site-packages/ansible_collections/amazon/aws/plugins/modules/ec2_instance.py
/home/admin/.local/lib/python3.9/site-packages/ansible_collections/amazon/aws/plugins/modules/ec2_instance.py
根据您的需求调整配置。
我想你需要
ansible-galaxy collection install amazon.aws