ElasticBeanstalk im VPC

ElasticBeanstalk als auch Opsworks können inzwischen in einem VPC betrieben werden. Allerdings muss dabei das VPC zwingend Public und Private-Subnets haben. Wenn man die ElasticBeanstalk EC2-Instanzen auf 2 Verfügbarkeitszonen aufteilen will, braucht man somit 4 Subnets.

Beispiel:

  • Subnet 1 in Availability Zone A (Public)
  • Subnet 2 in Availability Zone A (Private)
  • Subnet 3 in Availability Zone B (Public)
  • Subnet 4 in Availability Zone B (Private)

Dazu muss eine NAT-Instanz in Subnet 1 erstellt werden. Die NAT-Instanz ermöglicht den EC2-Instanzen im Private-Subnet eine Kommunikation mit dem Internet (bzw. mit dem ElasticBeanstalk-Dienst!). Die Security-Gruppe dieser NAT-Instanz muss Inbound-Traffic am besten vom ganzen VPC-IP-Kreis erlauben (oder zumindest von der Security-Gruppe, der die ElasticBeanstalk-EC2-Instanzen angehören). Wichtig ist auch die Outbound-Role der Security-Gruppe der Elastic-Beanstalk EC2-Instanzen, die muss Outbound Traffic zur NAT-Instanz erlauben. Instanz.

Zusammengefasst:

Wenn man ElasticBeanstalk im VPC betreibt, dann wird der LoadBalancer an die Public-Subnets konnektiert, die ElasticBeanstalk EC2-Instanzen kommen immer in die Private-Subnets. Die ElasticBeanstalk EC2-Instanzen im Private-Subnet kommunizieren dann zwingend über die NAT-Instanz mit dem Beanstalk Service!

Wichtig ist, dass die Security-Gruppen der NAT Instanz und der ElasticBeanstalk-Instanz vorher so eingestellt werden, dass die ElasticBeanstalk-EC2-Instanzen über die NAT Instanz kommunizieren können, da sonst das ElasticBeanstalk Enviremont nicht richtig startet …

S3 als Laufwerk für EC2-Windows oder Linux mappen

S3 ist der zentrale Speicherdienst von Amazon AWS. S3 hat für den Kunden eine unlimitierte Größe, verfügt über ein Rechtemanagement, kann Objekte versionieren bzw. mit Verfallsdaten versehen und ist über mehrere Availibility-Zonen verteilt, so dass die Daten sehr sicher gespeichert sind.

Über ein eigenes API kann man in S3 Daten speichern und entsprechend abrufen oder über HTTP wieder herunterladen …  manchmal aber braucht man für eine vielleicht existierende Software den Lese- und Schreibzugriff auf S3 über einen Laufwerkszugriff … gücklicherweise gibt es hier sowohl für Windows als auch für Linux entsprechende Software, die dann z.B. direkt auf einer entsprechenden EC2-Instanz installiert werden kann. Hier eine aktuelle Aufstellung: