Effizienter arbeiten mit AWS CloudFormation (1/3)

AWS-Trainer Rinon Belegu zeigt uns in diesem Artikel, wie Sie mit AWS CloudFormation effizient repetierbare Konfigurationen und Prozesse aufbauen und diese als Templates ablegen können.

AutorRinon Belegu
Datum03.09.2018
Lesezeit6 Minuten

Viele Kunden, die auf AWS setzten, fangen damit an, die Umgebung in der Web-Management Console von Hand einzurichten. Um in das Thema AWS einzusteigen, mag das Sinn ergeben. Sie werden jedoch sehen, dass Sie bald an Ihre Grenzen stossen. Ich beschreibe in diesem Artikel, wie man mit AWS CloudFormation effizient repetierbare Konfigurationen und Prozesse aufbauen und diese als Templates ablegen kann.

aws cloud formation

Welche Probleme tauchen typischerweise auf?

Region richtig einstellen

Als Erstes werden Sie merken, dass bei einer Fehlkonfiguration die genaue Abfolge der Schritte wiederholt werden muss.

Haben Sie z.B. aus Versehen den ganzen Tag auf der falschen Region gearbeitet, gibt es für viele Services kein «Migrate Region»-Button. Das heisst, Sie dürfen die Schritte erneut durchführen.

Deshalb empfehle ich, immer zuerst einen gekonnten Blick auf den rechten oberen Bildschirmrand zu werfen, um sich zu vergewissern, dass man in der richtigen Region ist.

aws cloud formation

Wenn Ihre Umgebung wächst und wächst, dann wird es sehr aufwändig und unüberschaubar, diese von Hand zu konfigurieren. Vielleicht wollen Sie ja eine CI/CD-Pipeline aufbauen und dieselbe Umgebung mehrmals in Betrieb nehmen.

Was für Optionen gibt es, um Prozesse zu repetieren?

Nun Sie könnten die AWS CLI (Command Line Interface) oder PowerShell verwenden und das Ganze mit Einzelbefehlen oder einer Abfolge von Befehlen aufbauen. Dies ist zumindest mit wenig Aufwand repetierbar. Aber meiner Meinung nach trotzdem fehleranfällig.

Eine Idee, wie das auch noch klappen könnte, erhalten Sie in einem vorgehenden Blogpost von mir. Kommen wir nun auf den Punkt, auf den ich hinaus will: CloudFormation.

Einstieg in CloudFormation

CloudFormation rufen Sie wie jeden anderen AWS Service über die Management Console auf. Wenn Sie den Service noch nie verwendet haben, erwartet Sie folgende Einstiegsseite:

aws cloud formation

Haben Sie in der Region schon mal mit CloudFormation hantiert, so sehen Sie die letzten Status.

aws cloud formation

Was ist ein Stack?

Ein Stack ist einfach gesagt eine Ansammlung von vordefinierten Services und Features, die beim Ausführen dieser Definition kreiert und konfiguriert werden.

Das heisst, Sie entscheiden, was in einem Stack ist.

Je nach Abstraktion können Sie entscheiden, ob Sie z.B. eine Definition verwenden, um eine VPC (Virtual Private Cloud) zu erstellen und Netzwerkkonfigs. Oder für kleinere Sachen sogar den ganzen Service in einem Stack definieren. Sie können mehrere einzelne Stacks zusammenfassen in einen grösseren Container: «StackSet».

Wie erstelle ich einen Stack?

Sie können beim Erstellen mit einem grafischem Tool beginnen, indem Sie auf «Create new stack» klicken.

aws cloud formation

Im nächsten Fenster gehen Sie dann auf «Design Template»:

aws cloud formation

Nun können Sie grafisch die Elemente einfügen und das Tool erstellt Ihnen die Definition.

Es ist wichtig zu verstehen, dass die Definition in JSON und YAML kreiert werden kann. Beides sind beschreibende Listen.

Man muss sich das so vorstellen, als ob man eine Wunschliste erstellt. Und CloudFormation erfüllt einem die Wünsche! Ich muss also nur sagen, ich wünsche mir bitte eine EC2-Instanz mit den benötigten Konfigurationen und CloudFormation setzt das um.

Die Logik der Abfolge muss ich CloudFormation nicht mitteilen.

Im grafischem Tool greife ich links zur Ressource, ziehe Sie ins «Malfeld» und das Template wird für mich geschrieben.

aws cloud formation

Natürlich hört das «Malen» ab einer gewissen Komplexität der Umgebung auf. Um zu starten, ist es aber ein sehr gutes Tool. Vor allem kann ich selbst geschriebene Definitionen hochladen und diese visuell darstellen lassen.

aws cloud formation

aws cloud formation

Nun wähle ich eine lokale Datei oder ein S3 Bucket aus. Und dann kann ich grafisch in mein Werk abtauchen:

aws cloud formation

Was sind die Hauptvorteile?

Ich kann den Benutzer beim Erstellen eines Stacks nach Parametern fragen, die dynamisch gesetzt werden.

aws cloud formation

Weiter kann ich bestimmte Parameter fest vorgeben.

Und da es sich um eine Vorlage handelt, kann ich diese beliebig oft und mit jeweils verschiedenen Vorgaben starten.

Weiter kann ich aus den Vorlagen einen Service Catalog erstellen und durch Vordefinition eine Standardisierung im Unternehmen fördern.

Im nächsten Blog werde ich noch ein wenig tiefer in die Materie einsteigen und unter anderem die Grundelemente der Templates behandeln.

Link zum Thema

https://aws.amazon.com/de/cloudformation/

Seminare zu Amazon Web Services AWS

Ganz gleich, ob Sie gerade erst einsteigen oder Ihre Kenntnisse vertiefen möchten: Digicomp bietet Ihnen als autorisierter Trainingspartner von Amazon Web Services die passenden Schulungen an sieben Standorten. Das umfassende Kursangebot deckt folgende AWS-Bereiche ab:

Ganz gleich, ob Sie gerade erst einsteigen oder Ihre Kenntnisse vertiefen möchten: Digicomp bietet Ihnen als autorisierter Trainingspartner von Amazon Web Services die passenden Schulungen an sieben Standorten. Das umfassende Kursangebot deckt folgende AWS-Bereiche ab:

Weitere Infos

    Über den Autor

    Rinon Belegu

    Bereits während seiner Ausbildung zum Informatiker Systemtechnik hat sich Rinon Belegu konsequent mit den neusten Technologien von Microsoft und VEEAM auseinandergesetzt und sich unter anderem als einer der ersten Personen in der Schweiz als MCSE 2012 Private Cloud zertifiziert. Seine Spezialität sind Virtualisierung und System Center, wobei er auch auf die Backup-Problematik stiess. Hier hat er bereits einige Projekte mit VEEAM umgesetzt. Sein umfangreiches Wissen gibt er heute einerseits in verschiedensten Kundenprojekten, andererseits als MCT (Microsoft), VMCT (Veeam) und als erster AWS Certified Instructor weiter.