Samoczynnie kończąca się instancja AWS EC2?

Czy istnieje sposób, aby instancje Amazon Web Services EC2 mogły się samoczynnie zamykać? Czy Amazon ma coś, co pozwala instancji zakończyć się ("Hara-Kiri") po uruchomieniu przez ponad godzinę? Mógłbym zmienić Skrypty na uruchomionej instancji, aby zrobić to sam, ale to może się nie udać i nie chcę edytować obrazu, więc chciałbym Amazon zabić instancję.

Author: Arslan Ali, 2012-05-11

4 answers

Aby instancja zakończyła się wykonaj oba te kroki:

  1. Uruchom instancję za pomocą --instance-initiated-shutdown-behavior terminate lub jej odpowiednika w konsoli AWS lub wywołaniu API.
  2. Uruchom shutdown -h now jako root. Na Ubuntu można to ustawić w 55 minut używając:

    echo "sudo halt" | at now + 55 minutes
    

Jakiś czas temu napisałem artykuł o innych opcjach, aby osiągnąć ten sam cel "Zakończ za godzinę": {]}

Automatyczne zakończenie tymczasowych instancji na Amazon EC2
http://alestic.com/2010/09/ec2-instance-termination

Artykuł został pierwotnie napisany przed instance-initiated-shutdown-behavior był dostępny, ale aktualizacje i inne perełki znajdziesz w komentarzach.

 80
Author: Eric Hammond,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-12 16:10:14

Możesz to zrobić

ec2-terminate-instances $(curl -s http://169.254.169.254/latest/meta-data/instance-id)

Ec2 otrzyma swój bieżący identyfikator instancji i zakończy się.

 12
Author: Tommy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-07 13:18:18

Miejmy nadzieję, że to zadziała

instanceId = $(curl http://169.254.169.254/latest/meta-data/instance-id/)

/usr/bin/aws ec2 terminate-instances --instance-ids $instanceId --region us-east-1

Mam nadzieję, że to ci pomoże !!!

 7
Author: Venu Gopal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-03 11:35:22

Oto mój scenariusz do samokontrola

$ EC2_INSTANCE_ID="`wget -q -O - http://instance-data/latest/meta-data/instance-id || die \"wget instance-id has failed: $?\"`"
$ echo "ec2-terminate-instances $EC2_INSTANCE_ID" | at now + 55 min || die 'cannot obtain instance-id'

Jeśli chcesz przypisać go jako samohamowny na samokontroli , możesz to zrobić tylko raz.

W Twoim konsola EC2 przejdź do Ustawienia instancji , Zmień zachowanie zamknięcia na Stop .
Konfiguracja / etc / cloud / cloud.cfg , można odnieść się do Jak uruchomić skrypt rozruchowy przy użyciu cloud-init.
Follow odpowiedź od Erica Hammonda , umieść polecenie w pliku i zlokalizuj w scripts-per-boot ścieżka:

$ echo '#!/bin/sh' > per-boot.sh
$ echo 'echo "halt" | at now + 55 min' >> per-boot.sh
$ echo 'echo per-boot: `date` >> /tmp/per-boot.txt' >> per-boot.sh
$ chmod +x per-boot.sh
$ sudo chown -R root per-boot.sh
$ sudo mv -viu per-boot.sh /var/lib/cloud/scripts/per-boot

Uruchom ponownie Twoją instancję, sprawdź czy skrypt jest wykonywany:

$ cat /tmp/per-boot.txt 
per-boot: Mon Jul 4 15:35:42 UTC 2016

Jeśli tak, na wypadek, gdybyś zapomniał zatrzymać instancję, zapewni Ci to, że instancja sama zakończy się jako zatrzymanie, gdy będzie działać przez 55 minut lub jakikolwiek czas ustawiony w skrypcie.

Broadcast message from root@ip-10-0-0-32
        (unknown) at 16:30 ...

The system is going down for halt NOW!
[[4]] PS: bo każdy chce korzystać z samoczynne zatrzymanie , należy zauważyć, że nie wszystkie typy EC2 są samoczynne odzyskiwanie po ponownym uruchomieniu. Polecam do użycia EC2-VPC / EBS z harmonogram włączania/wyłączania.
 3
Author: Chetabahana,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:44