Amazon hat seine AWS-Produktpalette kürzlich um das EBS (Elastic Block Storage) erweitert und bietet jetzt persistenten hochverfügbaren Speicher im Netz an.
Also Anmelden und ausprobieren: man erhält u.a. ein Schlüsselpaar, ein paar Passphrases und andere Nummern – in etwa 10 Minuten ist man durch.
Es folgt die Konfiguration der ec2-Tools. Das Schlüssel/Cert-Paar, mit dem u.a. später selbst erzeugte Maschinenimages verschlüsselt werden, sollte in ~/.ec2/ landen:
export EC2_PRIVATE_KEY=~/.ec2/pk-O3QHC...Z33KGTK.pem export EC2_CERT=~/.ec2/cert-O3QHC...Z33KGTK.pem export EC2_HOME=~/ export EC2_URL="https://eu-west-1.ec2.amazonaws.com" export PATH=$PATH:$EC2_HOME/bin export JAVA_HOME=/usr
Ach ja und ein aktuelles Sun-Java ist nötig. Hier ein paar Beispiele, wie man eine Instanz zum Laufen bringt, sich seine Instanzen ansieht, die Firewall konfiguriert, etc:
ec2-describe-instances ec2-run-instances ami-89d733e0 -k gsg-keypair ec2-get-console-output i-0d388b64 ec2-authorize default -p 22 ssh -i id_rsa-gsg-keypair root@ec2-75-101-203-146.compute-1.amazonaws.com
Die Templates für die Instanzen können aus dem öffentlichen Repo oder dem eigenen S3-Bucket kommen.
Beispiel für eine aktive Instanz:
RESERVATION r-0664c56f 219423224891 default INSTANCE i-e105b688 ami-316a8e58 ec2-75-101-240-80.compute-1.amazonaws.com domU-12-31-39-00-4D-A6.compute-1.internal running gsg-keypair 0 m1.small 2008-11-27T07:32:52+0000 us-east-1a aki-a71cf9ce ari-a51cf9cc
Da das laufende Image nach dem Shutdown sämtlich gelöscht wird, kann man seine eigene Konfiguration in ein individuelles Image überführen (bundlen). Die Kommandos können alle in der laufenden Maschine erfolgen, falls man die Tools mit Keypair auch dort hinterlegt hat:
ec2-bundle-vol -d /mnt -k ~/.ec2/pk-O3QHC...RZ33KGTK.pem -c ~/.ec2/cert-O3QHC...Z33KGTK.pem -u 21...891 -r i386 -p sat_081127 ec2-upload-bundle -b mine02 -m /mnt/sat_081127.manifest.xml -a 0Z8E...DKR2 -s <aws-secret-access-key>
Das neue Image kann registriert werden und erhält damit eine ID, über die ich es an eine Instanz binden kann:
me@dev71:~$ ec2-register mine02/sat_081127.manifest.xml IMAGE ami-3e749057 ec2-deregister ami-3e749057 ec2-delete-bundle -b mine02 -p sat_081127 -a 0Z8E...DKR2 -s <aws-secret-access-key>
Nach der Benutzung, Deregistrieren nicht vergessen!
Neue Instanzen haben immer eine dynamische IP, ich kann aber eine feste IP-Adresse anfordern und einer beliebigen Instanz zuweisen:
ec2-allocate-address ADDRESS 174.129.251.99 ec2-associate-address -i i-e105b688 174.129.251.99 ADDRESS 174.129.251.99 i-e105b688
Fehlt noch das EBS:
> ec2-create-volume -s 20 -z us-east-1a > ec2-attach-volume vol-05be5a6c -i i-e105b688 -d /dev/sdh > yes | mkfs -t ext3 /dev/sdh > mount /dev/sdh /var -o acl
WICHTIG! Ein EBS-Platz kann (noch?) nicht über die /etc/fstab beim Boot aktiviert werden und auch nicht als geniuner Platz für ein ganzes Image dienen. Zuwiderhandlungen führen zum Absturz beim Boot…
Hier gibt’s die ganze Story: