[英]How to run AWS CLI command tasks in Ansible Tower
如果根據 boto 要求將 AWS 憑證指定為環境變量,Ansible playbooks 中的 AWS CLI 命令任務可以在命令行中正常工作。 更多信息可以在這里找到環境變量。 但是它們無法在 Tower 中運行,因為它導出了另一組環境。 變量:
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') }}"
注意:這只會注入 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
為了安全起見,您可以在運行后刪除文件並在下一次播放時再次復制。
雖然這可能不適用於 Tower,但我們使用開源版本。 設置您的 .aws 和/或 .boto 文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.