Spec-Zone.ru › Ansible 2.11

community.aws.aws_ssm – выполнение через AWS Systems Manager

Примечание

Этот плагин входит в коллекцию community.aws (версия 1.3.0).

Для его установки используйте: ansible-galaxy collection install community.aws.

Для использования в плейбуке укажите: community.aws.aws_ssm.

  • Описание
  • Требования
  • Параметры
  • Примеры

Описание

  • Этот плагин подключения позволяет Ansible выполнять задачи на экземпляре EC2 через CLI aws ssm.

Требования

Ниже перечислены требования к локальному контроллеру, на котором выполняется это подключение.

  • Удаленный экземпляр EC2 должен запускать агент AWS Systems Manager (SSM Agent).
  • На управляющей машине должен быть установлен плагин aws session manager.
  • На удаленном экземпляре EC2 Linux должен быть установлен curl.

Параметры

Параметр Варианты/Значения по умолчанию Конфигурация Комментарии
access_key_id
строка
добавлен в 1.3.0 community.aws
var: ansible_aws_ssm_access_key_id
Ключ доступа STS для подключения через session-manager.
bucket_name
строка
var: ansible_aws_ssm_bucket_name
Имя S3-бакета, используемого для передачи файлов.
instance_id
строка
var: ansible_aws_ssm_instance_id
ID экземпляра EC2.
plugin
строка
По умолчанию:
"/usr/local/bin/session-manager-plugin"
var: ansible_aws_ssm_plugin
Определяет местоположение двоичного файла session-manager-plugin.
region
строка
По умолчанию:
"us-east-1"
var: ansible_aws_ssm_region
Регион, в котором находится экземпляр EC2.
retries
целое число
По умолчанию:
3
var: ansible_aws_ssm_retries
Количество попыток подключения.
secret_access_key
строка
добавлен в 1.3.0 of community.aws
var: ansible_aws_ssm_secret_access_key
Секретный ключ STS для подключения через session-manager.
session_token
строка
добавлен в 1.3.0 of community.aws
var: ansible_aws_ssm_session_token
Токен сеанса STS для подключения через session-manager.
ssm_timeout
целое число
По умолчанию:
60
var: ansible_aws_ssm_timeout
Таймаут подключения в секундах.

Примеры

# Stop Spooler Process on Windows Instances
- name: Stop Spooler Service on Windows Instances
  vars:
    ansible_connection: aws_ssm
    ansible_shell_type: powershell
    ansible_aws_ssm_bucket_name: nameofthebucket
    ansible_aws_ssm_region: us-east-1
  tasks:
    - name: Stop spooler service
      win_service:
        name: spooler
        state: stopped

# Install a Nginx Package on Linux Instance
- name: Install a Nginx Package
  vars:
    ansible_connection: aws_ssm
    ansible_aws_ssm_bucket_name: nameofthebucket
    ansible_aws_ssm_region: us-west-2
  tasks:
    - name: Install a Nginx Package
      yum:
        name: nginx
        state: present

# Create a directory in Windows Instances
- name: Create a directory in Windows Instance
  vars:
    ansible_connection: aws_ssm
    ansible_shell_type: powershell
    ansible_aws_ssm_bucket_name: nameofthebucket
    ansible_aws_ssm_region: us-east-1
  tasks:
    - name: Create a Directory
      win_file:
        path: C:\Windows\temp
        state: directory

# Making use of Dynamic Inventory Plugin
# =======================================
# aws_ec2.yml (Dynamic Inventory - Linux)
# This will return the Instance IDs matching the filter
#plugin: aws_ec2
#regions:
#    - us-east-1
#hostnames:
#    - instance-id
#filters:
#    tag:SSMTag: ssmlinux
# -----------------------
- name: install aws-cli
  hosts: all
  gather_facts: false
  vars:
    ansible_connection: aws_ssm
    ansible_aws_ssm_bucket_name: nameofthebucket
    ansible_aws_ssm_region: us-east-1
  tasks:
  - name: aws-cli
    raw: yum install -y awscli
    tags: aws-cli
# Execution: ansible-playbook linux.yaml -i aws_ec2.yml
# The playbook tasks will get executed on the instance ids returned from the dynamic inventory plugin using ssm connection.
# =====================================================
# aws_ec2.yml (Dynamic Inventory - Windows)
#plugin: aws_ec2
#regions:
#    - us-east-1
#hostnames:
#    - instance-id
#filters:
#    tag:SSMTag: ssmwindows
# -----------------------
- name: Create a dir.
  hosts: all
  gather_facts: false
  vars:
    ansible_connection: aws_ssm
    ansible_shell_type: powershell
    ansible_aws_ssm_bucket_name: nameofthebucket
    ansible_aws_ssm_region: us-east-1
  tasks:
    - name: Create the directory
      win_file:
        path: C:\Temp\SSM_Testing5
        state: directory
# Execution:  ansible-playbook win_file.yaml -i aws_ec2.yml
# The playbook tasks will get executed on the instance ids returned from the dynamic inventory plugin using ssm connection.

Авторы

  • Pat Sharkey (@psharkey) <psharkey@cleo.com>
  • HanumanthaRao MVL (@hanumantharaomvl) <hanumanth@flux7.com>
  • Gaurav Ashtikar (@gau1991 )<gaurav.ashtikar@flux7.com>

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/aws/aws_ssm_connection.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API