gpt4 book ai didi

amazon-web-services - 如何在 Ansible Tower 中运行 AWS CLI 命令任务

转载 作者:行者123 更新时间:2023-12-04 14:15:08 26 4
gpt4 key购买 nike

如果根据 boto 要求将 AWS 凭证指定为环境变量,则 Ansible playbooks 中的 AWS CLI 命令任务可以在命令行中正常工作。更多信息可以在这里找到Environment Variables .
但是它们无法在 Tower 中运行,因为它导出了另一组 env。变量:

AWS_ACCESS_KEY
AWS_SECRET_KEY

为了使它们在 Tower 中工作,只需在任务定义中添加以下内容:
environment:
AWS_ACCESS_KEY_ID: "{{ lookup('env','AWS_ACCESS_KEY') }}"
AWS_SECRET_ACCESS_KEY: "{{ lookup('env','AWS_SECRET_KEY') }}"

例如这个任务:
- name: Describe instances
command: aws ec2 describe-instances --region us-east-1

将转变为:
- name: Describe instances
command: aws ec2 describe-instances --region us-east-1
environment:
AWS_ACCESS_KEY_ID: "{{ lookup('env','AWS_ACCESS_KEY') }}"
AWS_SECRET_ACCESS_KEY: "{{ lookup('env','AWS_SECRET_KEY') }}"

注意:这只会注入(inject) env.var。对于特定任务 - 不是整个剧本!
因此,您必须以这种方式修改每个 AWS CLI 任务。

最佳答案

将您的环境变量放在一个文件中:

export AWS_ACCESS_KEY=
export AWS_SECRET_KEY=

将文件保存在远程主机的 ~/.vars 中,然后保存在您的剧本中。
- name: Describe instances
command: source ~/.vars && aws ec2 describe-instances --region us-east-2

为安全起见,您可以在运行后删除该文件并在下次播放时再次复制。

关于amazon-web-services - 如何在 Ansible Tower 中运行 AWS CLI 命令任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33661931/

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