ansible - 使用 Ansible 在多个 EC2 实例上安装 AWS SSM 代理
问题描述
我有一个要求,我必须使用 Ansible 在多个 EC2 实例(不同风格)上安装 AWS SSM 代理。有人可以帮帮我吗?或建议我如何实现这一目标?
我编写了以下脚本并尝试了。它正在工作,但是有没有办法使用“包”模块来实现这一点?因为我担心我的方法可能会重新安装(即使它已经安装)。提前致谢。
(或者)
您认为在 Ansible 脚本中使用 Shell 命令(https://aws.amazon.com/premiumsupport/knowledge-center/install-ssm-agent-ec2-linux/)安装代理并参考它们更好吗基于 os 风味的条件?
---
- hosts: all
remote_user: ansible
become: true
tasks:
- name: install SSM if REDHAT
command: "{{ item }}"
loop:
- sudo yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
- sudo systemctl enable amazon-ssm-agent
- sudo systemctl start amazon-ssm-agent
when: ansible_os_family == "RedHat"
- name: install SSM if UBUNTU
command: "{{ item }}"
loop:
- sudo snap install amazon-ssm-agent --classic
- sudo systemctl start snap.amazon-ssm-agent.amazon-ssm-agent.service
when: ansible_os_family == "Debian"
解决方案
推荐阅读
- javascript - ES6:触发 React 函数
- vue.js - 如何停止 vue cli 构建“report.html”?
- python-3.x - NLP 中标记元素的可视化(折叠、展开、突出显示)
- crystal-reports - 使用参数值和当前日期获取年龄 [CRYSTAL REPORT]
- java - 发送到多线程客户端-服务器中的所有客户端
- c++ - 在 C++ 中延迟执行 Lua 回调
- sql - SQL Server - 使用 CASE 语句
- docker - Docker 链接容器
- r - 将带参数的函数传递给r中的函数争论
- tensorflow - 不使用 CUDA_VISIBLE_DEVICES 指定 Keras GPU