我一直在尝试将一些服务器文件从目标机器自动备份到我们的 S3 实例,但是当我从 Ansible Tower 运行剧本时,S3 模块似乎无法看到目标机器上的任何文件。
AWS 身份验证使用 IAM 设置并正常工作(身份验证检查成功),并且我已确认 Ansible 会话已成功从日志文件登录到 ubuntu EC2 实例。
S3 复制步骤看起来像
- name: Push wp conf to archive
s3:
bucket: '{{master_config.aws.s3.bucket_name}}'
object: wp_config.php
src: '{{master_config.server.wp_config}}'
mode: put
become: yes
become_user: root
效果很好。
但是当我尝试使用带有'remote_src'标志的aws_s3实例时
- name: Push wp conf to archive
aws_s3:
bucket: '{{master_config.aws.s3.bucket_name}}'
object: wp_config.php
src: '{{master_config.server.wp_config}}'
mode: put
remote_src: yes
become: yes
become_user: root
但它会产生一个错误:
fatal: [server_address]: FAILED! => {"changed": false, "msg": "Could not find or access '/var/www/html/wp-config.php'"}
我在该项目的 Github 存储库中遇到了这个讨论,这似乎证实了我的怀疑:https ://github.com/ansible/ansible/pull/40192
如果有人设法让这个工作,我真的很感激任何提示。我已经两次和三次检查了可能导致问题的所有其他内容,但似乎 s3 / aws_s3 模块在塔上的行为不同。
我正在运行塔网站https://www.ansible.com/products/tower/trial上提供的 AMI