Mit einem Benutzerdatenskript automatisch einer EC2-Spot-Instanz eine elastische IP zuweisen

Mit einem Benutzerdatenskript automatisch einer EC2-Spot-Instanz eine elastische IP zuweisen

Ist es möglich, einer Spot-Instance mit einer dauerhaften Spot-Anforderung mithilfe des Skriptfelds „Erweitert“ „Benutzerdaten“ automatisch eine elastische IP-Adresse zuzuweisen?

Ich denke, ich könnte ein Skript wie dieses erstellen ...

#!/bin/bash 

# Credentials
export AWS_ACCESS_KEY=(insert key here) 
export AWS_SECRET_KEY=(insert key here) 

# EC2 Instance ID
instanceid=`/usr/bin/curl -s http://169.254.169.254/latest/meta-data/instance-id` 

# Associate EIP with the captured instance ID.
ec2-associate-address -i $instanceid (insert EIP here)

Und füge dies in das Benutzerdatenfeld ein (mithilfe der Web-Benutzeroberfläche), bevor ich meine Spot-Anfrage abschließe. Irgendwelche Ideen oder bessere Methoden dafür? Ich muss keine automatische Skalierung durchführen, sondern nur diese eine Instanz verwenden, die je nach Spot-Preisen hoch- und heruntergefahren wird, aber ich möchte, dass sie bei jeder Rückkehr dieselbe IP behält.

Antwort1

Kürzlich habe ich auch darüber nachgedacht, den Prozess der Neuzuweisung einer Elastic IP zu meiner Spot-Instanz zu automatisieren. Nach einiger Internetrecherche habe ich mehrere solide Anleitungen zu diesem Thema gefunden:

  1. http://www.newvem.com/how-to-automate-elastic-ip-assignment-on-ec2-instance-restart-or-reboot
  2. http://www.idevelopment.info/data/AWS/AWS_Tips/AWS_Management/AWS_14.shtml
  3. https://boto.readthedocs.org/en/latest/ref/ec2.html(nicht direkt ein HOWTO, könnte aber trotzdem nützlich sein).

Hoffe das hilft!

verwandte Informationen