Как самостоятельно завершить EC2 из powershell? - PullRequest
1 голос
/ 17 октября 2019

Мне нужен код powershell для завершения экземпляра без жесткого кода идентификатора экземпляра.

Я пытался

aws ec2 terminate-instances --instance-ids 'curl http://169.254.169.254/latest/meta-data/instance-id'

Но экземпляр не заканчивается. Есть идеи?

Ответы [ 2 ]

1 голос
/ 17 октября 2019

Как упоминалось в комментариях, я предлагаю работать с модулем AWS Powershell.

Следующий код завершает работу экземпляра на основе идентификатора и региона.

Install-Module AWSPowerShell
Import-Module AWSPowerShell
#Set AWS Credential        
Set-AWSCredential -AccessKey "AccessKey" -SecretKey "SecretKey"     
#Remove EC2 Insatnace
Remove-EC2Instance -InstanceId "InstanceId" -Region "Region"  -Force

Как создать новый AccessKey иSecretKey - Управление ключами доступа для вашей учетной записи AWS .

Установка модуля AWSPowerShell.

Из документов:

Завершает остановленный или запущенный экземпляр Amazon EC2, запрашивая подтверждение перед продолжением.

Обратите внимание, что завершенные экземпляры останутся видимыми после завершения (в течение приблизительно одного часа). Операция Terminate является идемпотентной;если вы прервали работу экземпляра более одного раза, каждый вызов будет выполнен успешно.

Инструменты AWS для PowerShell - документация Remove-EC2Instance.

1 голос
/ 17 октября 2019

В моем случае я смог установить этот атрибут при запуске экземпляра (используя некоторый код Python в лямбда-коде, запускающем экземпляр) InstanceInitiatedShutdownBehavior='terminate'

, затем в powershell просто

shutdown /s /t 0

Если InstanceInitiatedShutdownBehavior='terminate' не установлено, то я считаю, что по умолчанию установлено значение stop (в отличие от terminate)

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