Можно ли запланировать запуск экземпляра AWS из этого экземпляра? - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть экземпляр AWS, который выполняет сбор сетевых данных при загрузке.Важно, чтобы сбор происходил с нового общедоступного IP-адреса - я не могу получить полезные данные, если снова запустить сборник по тому же адресу.

Прямо сейчас я могу остановить и перезапустить экземпляр вКонсоль EC2 и после перезапуска получает новый IP-адрес и собирает больше полезных данных.(Простая перезагрузка экземпляра не назначает новый IP-адрес - мне нужно stop и затем start .)

Я знаю о планировании запуска экземпляра на основе времени, но вместо этого я хотел бы запланировать перезапуск из самого экземпляра .Вроде как at job: at now + 5 minutes restart-this-instance ; shutdown -h now.

В качестве альтернативы, если есть способ освободить и перераспределить публичный IP-адрес экземпляра, это тоже сработает.

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Я предлагаю другой подход ...

Цель состоит в том, чтобы изменить общедоступный IP-адрес, чтобы измерить, как кэширование и повторный трафик с ранее увиденных IP-адресов влияют на измеренную производительность основной системы.

Поэтому я бы порекомендовал:

  • Иметь Elastic IP-адрес, связанный с экземпляром
  • Когда требуется новый IP-адрес:
    • Disassociate Эластичный IP-адрес
    • Релиз Эластичный IP-адрес
    • Выделение * Новый Эластичный IP-адрес
    • Свяжите новый Elastic IP-адрес с экземпляром

Вы можете использовать этот сценарий:

INSTANCE=`curl -s http://169.254.169.254/latest/meta-data/instance-id/`

ALLOC=`aws ec2 describe-addresses --filters Name=instance-id,Values=$INSTANCE --query Addresses[].AllocationId --output text`

aws ec2 release-address --allocation-id $ALLOC

NEW=`aws ec2 allocate-address --domain vpc --query AllocationId --output text`

aws ec2 associate-address --allocation-id $NEW --instance-id $INSTANCE
0 голосов
/ 26 февраля 2019

Нет, это невозможно.

Команда Запустить экземпляр должна быть выполнена, когда экземпляр Остановлен.Следовательно, экземпляр не может выдать команду для запуска.

Однако это может вызвать что-то внешнее, например, создание правила CloudWatch или лямбда-функции.

...