Как использовать Boto для самостоятельного завершения работы экземпляра? - PullRequest
0 голосов
/ 11 октября 2018

Мне нужно завершить экземпляр из AutoScalingGroup, так как политики ASG оставляют масштабированные экземпляры работающими дольше, чем нужно.Мне нужно завершить указанный экземпляр после того, как он завершил выполнение процесса python.

Код уже использует Boto для доступа к другим сервисам AWS, поэтому я стараюсь использовать Boto для самостоятельного завершения.Мне сказали, что мне нужно отсоединить экземпляр от ASG до его завершения, чтобы избежать побочных эффектов.

Есть идеи, как мне поступить с этим отсоединением и самоуничтожением?

1 Ответ

0 голосов
/ 11 октября 2018

Экземпляр можно удалить из группы автоматического масштабирования с помощью detach_instances():

Удаляет один или несколько экземпляров из указанной группы автоматического масштабирования.

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

Если вы не укажете опцию уменьшения требуемой емкости, Amazon EC2 Auto Scaling запускает экземпляры для замены тех, которыеотсоединено.

response = client.detach_instances(
    InstanceIds=[
        'string',
    ],
    AutoScalingGroupName='string',
    ShouldDecrementDesiredCapacity=True|False
)

Итак, шаги будут:

  • Получить ID экземпляра, который нужно удалить
  • Вызов detach_instances(InstanceIds=['i-xxx'], ShouldDecrementDesiredCapacity=True)
  • Call terminate_instances(InstanceIds=['i-xxx'])

Это можно запустить из самого экземпляра или из любого места в Интернете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...