Уведомление от AWS на основании статуса экземпляров и продолжительности экземпляров - PullRequest
0 голосов
/ 04 мая 2020

На самом деле я хочу уменьшить AWS счет. Я использую некоторые экземпляры в моем проекте. Я хочу получить уведомление после определенного периода времени (каждые 3-4 часа) на мой идентификатор электронной почты для входа в систему и отключение на определенный промежуток времени. Итак, как я могу это сделать?

if current time - instance start time >= 3 hr (send a mail)
if current time - instance start time >= 4 hr (send a mail)
if current time - instance start time >= 5 hr (shut down that instance)

Ответы [ 2 ]

0 голосов
/ 04 мая 2020

вы можете сделать это, настроив событие наблюдения за облаком и запланировав это с помощью выражения cron Перейти: AWS console -> cloudwatch -> Events -> Rules -> create rule -> schedule -> введите желаемое выражение кроны -> target (ваша лямбда-функция, которая будет выполнять задачу). в вашей лямбда-функции вы можете использовать

ec2_client = boto3.client('ec2')
response = ec2_client.describe_instance_status()
#response can give detail about other and particular instance also
instance_status_details = response['InstanceStatuses'][0]['InstanceStatus']['Details']
#there is impairedSince parameter (inside instance_status_detail) to figure out when you launched this instance
#take from this link  https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html

выражение кроны: https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html

0 голосов
/ 04 мая 2020

Как правило, вы можете настроить CloudWatch Расписание выражений для правил , которые будут периодически запускать необходимые действия. Вы настраиваете perdiodi c задач, определяя Cron Expressions в правилах событий CloudWatch.

Этими действиями могут быть SNS для отправки вам электронной почты или выполнение EC2 StopInstances API call для автоматической остановки вашего экземпляра. .

...