Reverse Engineering von Amazon AWS Ressourcen mit CloudFormer

Amazon AWS Ressourcen können manuell in der AWS Console erstellt werden, oder man kann diese programmatisch via API, CommandLine oder mit der Amazon AWS eigenen “Skriptsprache” CloudFormation erstellen.

Wenn man AWS Ressourcen mit CloudFormation erstellt hat, dann lassen sich insbesondere diese Skripte sehr gut archivieren und man kann jederzeit seine AWS Infrastruktur aus dem Code wiederherstellen. Die Erstellung von CloudFormation Skripten ist allerdings ein wenig mühsam, daher erstellen die meisten Kunden ihre AWS Ressourcen doch über die AWS Console, mit der Folge, dass die Dokumentation der Ressourcen nicht immer gewährleistet ist und somit im Falle eines Falles die AWS Infrastruktur nur wieder händisch hergestellt werden kann.

Mit der neuesten Version des Tools CloudFormer stellt Amazon AWS nun endlich ein Werkzeug bereit, mit dem man ein Reverse Engineering fast aller bestehenden AWS Ressourcen vornehmen kann … und CloudFormer erstellt dann automatisch daraus ein entsprechendes CloudFormation Skript … welches dann auch archiviert werden kann … prima Sache!

Die neueste Version von CloudFormer unterstützt nun auch folgende AWS Ressourcen:

  • Amazon VPC (VPC, Subnets, RouteTables, Routes, etc.)
  • Amazon CloudWatch Alarms
  • Amazon DynamoDB
  • Amazon ElastiCache
  • Amazon SNS
  • Amazon S3 Bucket Policy
  • Amazon SQS Queue Policy
  • Amazon SNS Topic Policy

CloudFormer selbst wird über ein CloudFormation Skript gestartet, das wiederum eine EC2-Instanz startet, die die Analyse der AWS Ressourcen und das anschließende Erstellen des CloudFormation Skriptes durchführt. Mehr Infos dazu sowie die Links zu den entsprechenden CloudFormer-Start-Skripten finden SIe hier: http://aws.amazon.com/developertools/6460180344805680

 

 

 

CloudFormation Scripting

Mit CloudFormation können sämtliche Amazon AWS Ressourcen über ein Script erstellt werden, ganz getreu dem Motto “Infrastructure as Code”.

Das erstellte Skript kann man dann über die CommandLine oder über die AWS-Console ausführen lassen. Kommt es bei der Ausführung zu einem Fehler, werden alle bis dahin erstellten Ressourcen im Rahmen eines Rollbacks wieder gelöscht. Die gesamte erstellte Infrastruktur kann auch auf einen Schlag wieder gelöscht werden, in dem man den entsprechend ausgeführten CloudFormation Stack löscht … aber Vorsicht … ;-)

CloudFormation Skripte werden im JSON Format erstellt … und am besten man nimmt dafür einfach Notepad++ in Verbindung mit dem PlugIn JSMin, dann hat man auch eine angenehme Navigation über die Struktur der JSON-Datei.

(mehr …)