Запуск / остановка конкретного экземпляра EC2 из другого экземпляра EC2 в той же учетной записи AWS - PullRequest
0 голосов
/ 26 февраля 2020

Какой простой способ запустить / остановить определенный (например, с жестко закодированным идентификатором) экземпляр EC2 из другого экземпляра EC2 (с запущенным Node) в той же учетной записи AWS?

Я знаком с Node, но не с AWS SDK, который, я полагаю, я должен изучить. В то же время я задаюсь вопросом, может ли существовать другая служба AWS, в которой я могу более легко связать ресурс HTTP (например, изменяемый с помощью удостоверения PUT / DELETE) с состоянием (работает / остановлен) конкретного экземпляра EC2.

Ответы [ 2 ]

2 голосов
/ 26 февраля 2020

Вы можете сделать это с помощью aws cli или SDK.

AWS CLI

Очень простой способ - просто установить aws cli на второй экземпляр и запустить

aws ec2 start-instances --instance-ids i-1234567890abcdef0

или

aws ec2 stop-instances --instance-ids i-1234567890abcdef0

SDK

Если вы хотите придерживаться узла, вы можете запустить / остановить экземпляр таким образом, используя SDK:

 var params = {
  InstanceIds: [
     "i-1234567890abcdef0"
  ]
 };

 /* Start */
 ec2.startInstances(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
 });

 /* Stop */
 ec2.stopInstances(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
 });

Важное примечание

Обратите внимание, что роль IAM экземпляра должна включать следующую политику (или эквивалентную)

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:StartInstances",
        "ec2:StopInstances"
      ],
      "Resource": "*"
    }
  ]
}

Надеюсь, это поможет!

0 голосов
/ 26 февраля 2020

aws ec2 stop-instances --instance-ids i-1234567890abcdef0 --region us-east-2 Идентификаторы экземпляров - это список, разделенный пробелами. Если ваши экземпляры находятся в группе автоматического масштабирования, вы также можете использовать фильтры с тегами, чтобы вам не приходилось беспокоиться об идентификаторах экземпляров

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