Oktober 2020
Autor:in des Beitrags
Matthias
Architect Cloud
Veröffentlicht am
28.10.2020 von Matthias
Jetzt Blogbeitrag teilen
Xing LinkedIn Facebook Twitter
nächstes Level mit Visual Studio Code

AWS CloudFormation Entwicklung

WS CloudFormation ist ein super Werkzeug für Infrastructure as Code. Was vor 2-3 Jahren im eigenen Rechenzentrum noch Wochen gedauert hat, kann heute in ein paar Minuten mit einer Handvoll JSON Files aufgebaut werden.

Ok, seien wir ehrlich… in ein paar Stunden ?

Ein paar solcher CloudFormation Templates zu erstellen, wird am Anfang kein Problem sein, man braucht lediglich einen Editor und einen AWS Account. Doch wenn die Stacks bzw. Templates größer und komplizierter werden, ist der Zeitpunkt gekommen, Optimierungen vorzunehmen. Schließlich ist es nie zu spät seinen Entwicklungsprozess effizienter und organisierter zu gestalten.

Und hier kommt Visual Studio Code von Microsoft ins Spiel. Denn damit kannst du deine CloudFormation Entwicklung auf das nächste Level bringen!

Bevor es los geht noch 2 Infos…

1. Der Artikel bzw. die folgenden Tools, Tipps und Erweiterungen beziehen sich auf die Entwicklung vom YAML Templates.

Warum YAML und nicht JSON? 

Aus unserer Sich ist YAML der erste Schritt, um die CloudFormation Entwicklung zu optimieren. Allein die Möglichkeit, Cloud Formation Templates mit Kommentaren zu versehen und dadurch zu dokumentieren, ist ein super Argument für YAML.

2. Für manche Erweiterung ist eine vorhandene Python Installation (inkl. pip) notwendig.

Stack „Flip“ – JSON goes YAML

Wie einleitend erwähnt, ist der erste Schritt das Arbeiten mit YAML Templates. Doch was tun, wenn bisher die Templates in JSON erstellt wurden?

Kein Problem, mit dem Tool cfn-flip wird aus deinem JSON Template in Sekunden ein YAML Template.

c:\temp>cfn-flip aws-prd-app1-stack.template.json aws-prd-app1-stack.template.yaml

Super einfach!

cfn-flip Installation:

pip install cfn-flip

YAML Struktur

Einer der Vorteile von YAML ist die bessere Lesbarkeit. Doch dafür ist die Struktur, die auf einer definierten Hierarchie aufbaut, besonders wichtig. Und darum ist auf die Einrückungen besonders zu achten, gerade in großen CloudFormation Templates. Um einen besseren Überblick zu bekommen und Fehler schneller zu erkennen, hilft uns eine bessere visuelle Darstellung:

Wenn du auch einen besseren Überblick bekommen möchtest, brauchst du nur die folgenden Erweiterungen zu installieren ?

Um die zusätzliche Hervorhebung des an der aktuellen Cursorposition befindlichen Blocks zu aktivieren, muss in den User Settings folgender Eintrag vorgenommen werden:

{
“indenticator.inner.showHighlight”: true
}

Deine User Settings findets du unter folgenden Pfaden:

  • Windows: %APPDATA%\Code\User\settings.json
  • macOS: $HOME/Library/Application Support/Code/User/settings.json
  • Linux: $HOME/.config/Code/User/settings.json

YAML/JSON Validierung für CloudFormation

AWS hat ein Tool Namens cfn-python-lint entwickelt, was Templates auf Fehler überprüft. Das spart Zeit und man bekommt Fehler oder Hinweise direkt in Visual Studio Code angezeigt. Und meistens auch noch gleich mit dem passenden Link zur AWS Dokumentation.

Also kein Warten mehr, bis der CloudFormation Service einen Fehler ausgibt.
Super ?

Installation:

Es werden zwei Pakete benötigt, um Lint in Visual Studio Code nutzen zu können.

Nr. 1 – Python Paket cfn-python-lint

pip install cfn-lint

Nr. 2 – Visual Studio Code Extension

CloudFormation Linter 

Schnell durch CloudFormation Templates springen

Du hast ein Template mit tausenden von Zeilen? Da wird das Suchen nach bestimmten Ressourcen oder Blöcken schnell mühselig und frustrierend. Doch auch dafür gibt es eine praktische Erweiterung – YAML Language Support by Red Hat

Innerhalb der YAML Datei werden im Outline Bereich von VS Code alle logischen Bezeichnungen der Ressourcen angezeigt und man kann direkt hineinspringen.

 

YAML Snippets

Zu guter Letzt noch eine Sammlung von YAML Snippets, basierend auf der AWS CloudFormation resource specification

CloudFormation YAML Snippets for VS Code 

Dank der Erweiterung wird das Erstellen von YAML Templates ein Stück einfacher.

 

Fazit

Auch wenn AWS CloudFormation unseren Job etwas erleichtert, gibt es immer noch Potenzial, seinen Workflow zu verbessern und das Arbeiten im Team zu vereinfachen. Und am Ende geht es ja eigentlich nur darum, dass du vom CloudFormation Benutzer zum CloudFormation Rockstar ?? wirst!

Viel Spaß beim Ausprobieren!

Das könnte dich auch interessieren

Blogbeitrag

Citrix kauft DeviceTRUST und Strong Network: Was bedeutet das für Kunden?

Citrix kauft DeviceTRUST und Strong Network, um die Sicherheit seiner digitalen Workspace-Lösungen zu stärken
Weiterlesen
Blogbeitrag

Für den Weihnachtsmann führt der Weg in die Cloud – und der geht über Azure!

Wie der Weihnachtsmann mit der Magie von Azure Weihnachten modernisierte.
Weiterlesen
Webinar

Webinar: Azure-Cost-Optimization-in-7-Schritten

Dieses kostenlose Webinar zeigt Ihnen, wie Sie in 7 praxisbewährten Schritten zur effektiven Azure-Kostenoptimierung gelangen und Ihre Azure-Resourcen optimal nutzen.
Weiterlesen
Whitepaper

Microsoft AVD und Windows 365 Cloud PC

Unser Whitepaper richtet sich an IT-Leiter, die Strategien zwischen On-Premises- und Cloud-Lösungen prüfen und zukunftsfähige Alternativen für ihr Unternehmen finden möchten.
Weiterlesen
Webinar

Webinar: Strategiewechsel im VDI-Segment? Citrix & Microsoft im Vergleich

Dieses Kostenlose Webinar richtet sich an IT-Entscheider & App-Virtualisierungs-Verantwortliche, die vor der Entscheidung stehen, ob ein Wechsel zu Microsoft AVD oder Windows 365 sinnvoll ist.
Weiterlesen
Blogbeitrag

Power Plattform ohne Center of Excellence – geht das überhaupt?

Unsere Expertin erklärt, wie Sie mit dem Center of Excellence die Nutzung und das Management der Power Platform verbessern.
Weiterlesen
Whitepaper

Whitepaper – Azure Cost Management

In diesem Whitepaper zeigen wir Ihnen, wie Sie mit Azure Cost Management Ihre Cloud-Kosten effektiv steuern und gleichzeitig die Vorteile der Cloud voll ausschöpfen können.
Weiterlesen
Whitepaper

Erstellen einer KI-Nutzungsrichtlinie

Unsere Leitlinie dient als Vorlage zur Erarbeitung einer unternehmensspezifischen KI-Nutzungsrichtlinie.
Weiterlesen
Webinar

Mit NetScaler & Infrastructure as Code Citrix-Lizenzen ausschöpfen

Kostenfreies Webinar für IT-Entscheider, die das Beste aus Ihren NetScaler-Lizenzen herausholen wollen.
Weiterlesen
Blogbeitrag

Citrix Long-Term Service Release 2402, jetzt mit CU1 Bug-Fix

In diesem Blog erfahren Sie, welche Mehrwerte das Citrix LTSR 2402 mitbringt und welcher Bug mit CU1 gefixt wurde.
Weiterlesen
Jetzt Blogbeitrag teilen
Xing LinkedIn Facebook Twitter