Я пытаюсь написать сценарий для реализации аварийного сигнала проверки состояния AWS Cloudwatch во всех экземплярах EC2. Я попытался жестко закодировать 3 значения (AWS_Name, Instance_ID и Instance_IP — Private), и у меня это отлично работает. Однако мне нужно решение, позволяющее работать с циклом, чтобы получить все переменные и создать сигнал проверки состояния Cloudwatch для каждого экземпляра один за другим.
-
hosts: localhost
tasks:
- name: Create Alarm
ec2_metric_alarm:
state: present
region: us-east-1
name: "Status Check Failed - $AWS_Name - $Instance_IP"
metric: "StatusCheckFailed"
namespace: "AWS/EC2"
statistic: "Minimum"
comparison: ">="
threshold: 1
period: 60
evaluation_periods: 2
description: "This will alarm when the instance status check fails"
dimensions: {'InstanceId': '$Instance_ID'}
alarm_actions: ["arn:aws:sns:us-east-1:XXXXXXXXXXXX:Cloudwatch-Notifications"]
Допустим, у меня есть 2 экземпляра AWS, я могу получить три переменные, о которых я упоминал выше, с помощью запроса AWS CLI или вручную. Теперь я хочу запустить playbook только один раз, чтобы создать сигнал тревоги для всех двух экземпляров.
найти примерные переменные
var1:
AWS_Name: NAME1
Instance_ID: i-01b8e4534wt811af4
Instance_IP: "10.75.169.21"
var2:
AWS_Name: NAME2
Instance_ID: i-4566eftuiw93045
Instance_IP: "10.75.169.16"
Кто-нибудь, пожалуйста, помогите мне подняться.