Elastische IP-Adressen sind statische IP-Adressen die für dynamisches Cloud Computing entwickelt wurden. Eine IP-Adresse ist mit dem AWS-Account und nicht mit einer konkreten Instanz verknüpft. Im Fehlerfall einer Instanz wird die IP-Adresse des betroffenen Servers auf einen funktionieren Server neu gemapped.
Begriffsbestimmungen
-
EC2 Private IP Address
Dabei handelt es sich um die interne Adresse einer Instanz, ide nur innerhalb der EC2 Cloud geroutet werden kann. Der Datenverkehr außerhalb des EC2 Netzwerks kann nicht zu dieser IP Adresse geroutet werden. Dazu muss die Public IP oder die Elastic IP verwendet werden. -
EC2 Public IP Address
Dabei handelt es sich um die öffentliche IP-Adresse aller Instanzen die durch das Internet geroutet werden kann. Datenverkehr der zu dieser öffentlichen IP-Adresse geroutet wird, wird 1:1 per Network Address Translation (NAT) übersetzt und an die Private IP-Adresse einer Instanz weitergeleitet. Die öffentlichen IP-Adressen können nicht mehr genutzt werden, wenn eine EC2 Instanz ausfällt. -
EC2 Elastic IP Address
Dabei handelt es sich um die öffentliche IP-Adresse aller Instanzen die durch das Internet geroutet werden kann und einem AWS Account zugerordnet sind. Datenverkehr der zu dieser Elastic IP-Adresse geroutet wird, wird per Network Address Translation (NAT) übersetzt und an die zugeordnete Private IP-Adresse weitergeleitet. Elastic IP-Adressen werden explizit einem AWS Account zugeordnet und können bei Bedarf auch anderen EC2-Instanzen zugeordnet werden.
[2]
Beispiel
-
Eine Elastic IP Addresse einem AWS Account zuweisen
Mit dem Befehl ec2-allocate-address wird eine Elastic IP Address einem Account zugeordnet. Mit dem Befehl ec2-release-address kann die Adresse von dem Account wieder entfernt werden.
ec2-allocate-address
ADDRESS 75.101.155.119
-
Beschreibung der Zuordnung von IP-Adressen zu einem Account
Nachdem eine Adresse einem Account zugewiesen wurde, können mit dem Befehl ec2-describe-addresses alle eingesehen werden, die einem Account zugeordnet sind. Über den Parameterkann auf eine spezielle IP-Adresse gefiltert werden. Ohne Parameter werden alle IP-Adressen ausgegeben.
ec2-describe-addresses
ADDRESS 75.101.157.145
ADDRESS 75.101.155.119
ec2-describe-addresses 75.101.157.145
ADDRESS 75.101.157.145
-
Zuordnung einer Elastic IP Addresse zu einer bereits gestarteten Instanz
Nachdem eine Elastic IP Adresse zugeordnet wurde, kann diese mit dem Befehl ec2-describe-instances ausgewählt und über den Befehl ec2-associate-address mit einer gestarteten Instanz verknüpft werden.
ec2-describe-instances
INSTANCE i-b2e019da ami-2bb65342 ec2-72-44-33-67.compute-1.amazonaws.com
INSTANCE i-b2e019db ami-2bb65342 ec2-67-202-3-83.compute-1.amazonaws.com
ec2-describe-addresses
ADDRESS 75.101.157.145
Nun wird die Elastic IP 75.101.157.145 der Instanz mit der ID i-b2e019da zugeordnet.
ec2-associate-address -i i-b2e019da 75.101.157.145
ADDRESS 75.101.157.145 i-b2e019daAnschließend ist mit dem Befehl ec2-describe-addresses zu sehen, dass die IP der Instanz zugeordnet wurde.
ec2-describe-addresses
ADDRESS 75.101.157.145 i-b2e019da
ec2-describe-instances i-b2e019da
INSTANCE i-b2e019da ami-2bb65342 ec2-75-101-157-145.compute-1.amazonaws.com
-
Zuordnung einer Elastic IP Address zu einer anderen gestarteten Instanz
Die Elastic IP kann auch einer anderen gestarteten Instanz zugeordnet werden. In diesem Beispiel gehören zu dem Account zwei aktive Instanzen -b2e019da und i-b2e019db. Es wird die IP-Adresse 75.101.157.145 von der Instanz i-b2e019da auf die Instanz i-b2e019db neu zugeordnet.
ec2-describe-addresses
ADDRESS 75.101.157.145 i-b2e019da
ec2-associate-address -i i-b2e019db 75.101.157.145
ADDRESS 75.101.157.145 i-b2e019db
Nach dem Update wird der Datenverkehr der an die IP Adresse 75.101.157.145 gesendet wird, nun per NAT an die interne IP Adresse der Instanz i-b2e019db weitergeleitet.
ec2-describe-addresses
ADDRESS 75.101.157.145 i-b2e019dbDer Instanz i-b2e019da ist nun keine öffentliche IP Adresse mehr zugewiesen, da diese der anderen Instanz zugeordnet ist. Dadurch ist sie nicht mehr über das Internet erreichbar, innerhalb der der Amazon Cloud aber schon.
ec2-describe-instances
INSTANCE i-b2e019da ami-2bb65342 <> ip-10-251-71-165.ec2.internal
INSTANCE i-b2e019db ami-2bb65342 ec2-75-101-157-145.compute-1.amazonaws.comIm Hintergrund sorgt ein Prozess dafür, dass die Instanz i-b2e019da automatisch eine neue öffentliche IP Adresse erhält.
ec2-describe-instances
INSTANCE i-b2e019da ami-2bb65342 ec2-67-202-46-87.compute-1.amazonaws.com
INSTANCE i-b2e019db ami-2bb65342 ec2-75-101-157-145.compute-1.amazonaws.com -
Beenden einer laufenden Instanz mit einer zugeordneten Elastic IP
Mit dem Befehl ec2-terminate-instance wird zuerst die Zuordnung der Elastic IP zu der Instanz entfernt, anschließend wird die Instanz beendet. -
Entfernen der Zuordnung einer Elastic IP zu einer gestarteten Instanz
Mit dem Befehl ec2-disassociate-address wird die Zuordnung einer Elastic IP aufgehoben.
ec2-describe-addresses
ADDRESS 75.101.157.145 i-b2e019db
ec2-disassociate-address 75.101.157.145
ADDRESS 75.101.157.145
ec2-describe-addresses
ADDRESS 75.101.157.145
-
Freigeben einer Elastic IP eines AWS Account
Um eine Elastic IP von einem AWS Account wieder zu entfernen wird der Befehl ec2-release-address benötigt. Als Parameter wird die IP Adresse verwendet, die von dem Account entfernt werden soll.
ec2-describe-addresses
ADDRESS 75.101.157.145
ec2-release-address 75.101.157.145
ADDRESS 75.101.157.145
ec2-describe-addresses
Quellen
[1] Amazon EC2 Elastic IP-Addresses
[2] Graphik: Amazon EC2 Elastic IP-Addresses