Definition: Infrastructure as Code (IaC) auf Basis von AWS

Was ist AWS CloudFormation?

| Autor / Redakteur: Stefan Luber / Florian Karlstetter

Infrastructure as Code (IaC) mit AWS CloudFormation: Konfigurieren und Bereitstellen von Ressourcen der Amazon Web Services.
Infrastructure as Code (IaC) mit AWS CloudFormation: Konfigurieren und Bereitstellen von Ressourcen der Amazon Web Services. (Bild: gemeinfrei (geralt / pixabay) / Pixabay)

Mit AWS CloudFormation ist es möglich, Infrastrukturressourcen der Amazon Web Services mit einfachem Textcode zu konfigurieren und bereitzustellen. Es werden zahlreiche Ressourcen der Amazon Web Services unterstützt. Modellierung und Bereitstellung der Services erfolgen über Templates und Stacks.

AWS CloudFormation folgt dem Konzept von Infrastructure as Code (IaC) und ermöglicht es, Infrastrukturressourcen der Amazon Web Services mit einfachem Textcode zu konfigurieren, bereitzustellen und zu verwalten. Die Infrastruktur ist über einfache textbasierte Vorlagen (Templates) programmierbar. Es handelt sich bei AWS CloudFormation um eine einfach zu verstehende, Skript-ähnliche Sprache. Die Textdateien stellen die grundlegenden Informationen für die Cloud-Umgebung zur Verfügung. Beispielsweise können Datenbanken, Netzwerke, Loadbalancer und vieles mehr mit AWS CloudFormation Templates definiert und deployed werden. Die Templates setzt CloudFormation unter Berücksichtigung von Abhängigkeiten und Datenflüssen automatisch in lauffähige Ressourcen um. Die betriebsbereiten Ressourcen werden Stacks genannt und sind mit CloudFormation managebar. Darüber hinaus bietet Amazon mit dem CloudFormation Designer ein Werkzeug an, das die grafische Zusammenstellung von Ressourcen erlaubt. Für die so konfigurierte Sammlung aus Services erstellt der CloudFormation Designer die benötigten Textvorlagen. AWS CloudFormation ist ohne zusätzliche Kosten nutzbar. Anwender zahlen lediglich für die in den Amazon Web Services erstellten und betriebenen Ressourcen.

Unterstützte AWS Ressourcen

AWS CloudFormation unterstützt eine Vielzahl Ressourcen und Dienste der Amazon Web Services aus den Bereichen Analysen, Anwendungsservices, Datenverarbeitung, Datenbank, Internet of Things (IoT), Machine Learning, Netzwerk, Sicherheit, Speicher, Identität, mobile Services und mehr. Zu diesen Services zählen beispielsweise:

  • Amazon Athena
  • Amazon EMR
  • AWS Data Pipeline
  • Amazon Elasticsearch Service
  • AWS Glue
  • Amazon Kinesis
  • Amazon MQ
  • Amazon API Gateway
  • Amazon Simple Queue Service
  • AWS Step Functions
  • AWS Auto Scaling
  • Amazon Elastic Compute Cloud
  • Amazon Elastic Container Registry
  • Amazon Elastic Kubernetes Service
  • Amazon EC2 Systems Manager
  • AWS Batch
  • AWS Elastic Beanstalk
  • AWS Elastic Load Balancing
  • AWS Lambda
  • Amazon Simple Email Service
  • Amazon DocumentDB
  • Amazon DynamoDB
  • Amazon SimpleDB
  • AWS Database Migration Service
  • Amazon ElastiCache
  • Amazon Neptune
  • Amazon Relational Database Service
  • Amazon Redshift
  • AWS Cloud9
  • AWS CodeCommit
  • AWS CodeDeploy
  • AWS CodePipeline
  • Amazon AppStream 2.0
  • Amazon WorkSpaces
  • Amazon GameLift
  • AWS IoT
  • Amazon SageMaker
  • AWS CloudTrail
  • Amazon CloudWatch
  • AWS Config
  • Amazon Data Lifecycle Manager
  • AWS OpsWorks
  • AWS Service Catalog
  • AWS Systems Manager
  • AWS AppSync
  • Amazon Cognito
  • Amazon Simple Notification Service
  • Amazon Route 53
  • AWS Cloud Map
  • Amazon Virtual Private Cloud
  • AWS Certificate Manager
  • AWS Directory Service
  • Amazon Inspector
  • Amazon GuardDuty
  • AWS Identity and Access Management
  • AWS Key Management Service
  • AWS Secrets Manager
  • AWS WAF
  • Amazon CloudFront
  • Amazon Elastic Block Store
  • Amazon Elastic File System
  • Amazon Simple Storage Service
  • AWS Billing and Cost Management

Die CloudFormation Vorlage (Template)

Das Konzept von AWS CloudFormation basiert auf den beiden Elementen Templates (Vorlagen) und Stacks. Eine Vorlage ist eine textbasierte Datei und verwendet das JSON- oder YAML-Format. Innerhalb der Vorlage sind die Ressourcen beschrieben, die bereitgestellt werden sollen. Es werden Elemente wie Eingabewerte, Ausgabewerte, Datentabellen, Konfigurationswerte oder Listen von AWS Ressourcen verwendet. Jede Vorlage lässt sich mit einer eindeutigen Versionsnummer versehen. Die Vorlage legt Parameter der Web Services wie Portnummern oder Größen von Datenbanken fest und übergibt sie an den zu erstellenden Stack.

Der CloudFormation Stack

Ein CloudFormation Stack besteht aus einer Gruppe von Amazon Web Service Ressourcen und wird als eine Einheit bereitgestellt und verwaltet. CloudFormation erstellt den Stack, sobald die Vorlage übergeben wird. Bei der Erstellung werden automatisch Abhängigkeiten und Datenflüsse berücksichtigt. Nachdem ein Stack lauffähig bereitgestellt ist, können Anwender ihn über Werkzeuge wie die AWS CloudFormation Konsole, die CloudFormation API oder das AWS Command Line Interface verwalten. Beim Löschen eines Stacks werden alle abhängigen Ressourcen ebenfalls gelöscht.

Der CloudFormation Designer

Mit dem AWS CloudFormation Designer stellt Amazon ein grafikbasiertes Werkzeug zur Erstellung von CloudFormation Vorlagen zur Verfügung. Per Drag & Drop lassen sich Ressourcen hinzufügen, die der Designer anschließend automatisch in Textcode übersetzt. Über einen integrierten JSON- und YAML-Texteditor ist es möglich, Details der Vorlagen wie Parameter oder Konfigurationswerte festzulegen und anzupassen. Der CloudFormation Designer ist Teil der AWS CloudFormation Konsole. Dank dem Designer muss der Anwender nicht selbst den Code der Vorlagen manuell erstellen und benötigt keine spezifischen JSON- und YAML-Formatkenntnisse. Darüber hinaus erhält er einen einfach zu erfassenden visuellen Überblick über die Ressourcen und ihre Abhängigkeiten untereinander.

Die AWS CloudFormation API

Wichtiger Bestandteil von AWS CloudFormation sind mehrere APIs. Verfügbare APIs sind unter anderem:

  • die CreateStack-API
  • die ListStacks-API
  • die UpdateStack-API

Mit der CreateStack-API lassen sich neue Stacks erstellen. Hierfür sind Parameter wie Name des Stacks und Name der Vorlage an die Schnittstelle zu übergeben. Die ListStacks-API listet alle Stacks eines Amazon-Kontos auf. Darüber hinaus liefert die API Statusinformationen zu den einzelnen Stacks. Über die UpdateStack-API können existierende Stacks aktualisiert werden. Wie bei der CreateStack-API benötigt die UpdateStack-API den Namen des zu aktualisierenden Stacks sowie den Namen der aktualisierten Vorlage.

Vorteile durch AWS CloudFormation

AWS CloudFormation und das Konzept von Infrastructure as Code bietet zahlreiche Vorteile. Entwickler können Bereitstellungsvorgänge von Amazon Web Service Ressourcen mit einfachen Mitteln automatisieren. Für die Nutzung von AWS CloudFormation fallen keine Kosten an. Die komplette Infrastruktur ist über Textdateien konfigurierbar und modellierbar. Über standardisierte Templates ist das Deployment von Ressourcen schnell und fehlerfrei möglich. Abhängigkeiten zwischen den Ressourcen eines Stacks werden berücksichtigt. Vorlagen sind mit beliebigen Texteditoren erstellbar und können eine Versionskontrolle unterworfen werden. Die Vorlagen sind mit unterschiedlichen Konfigurationswerten wiederverwendbar.

Der CloudFormation Designer gestattet die grafische Erstellung von Ressourcen per Drag & Drop ohne spezifische Code-Kenntnisse. Über das Konzept der textbasierten Vorlagen ist ein schnelles Replizieren der Infrastruktur möglich. Vorlagen lassen sich mehrfach verwenden, um die einzelnen Ressourcen erneut beispielsweise in mehreren Regionen einzurichten. Veränderungen der per CloudFormation bereitgestellten Infrastruktur sind durch einfaches Vergleichen der textbasierten Vorlagendateien leicht nachvollziehbar. Um Änderungen rückgängig zu machen, genügt das Einspielen einer älteren Vorlage.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Was ist Infrastructure as Code (IaC)?

Definition: Mixtur aus IaaS und DevOps

Was ist Infrastructure as Code (IaC)?

Infrastructure as Code stellt IT-Infrastrukturleistungen wie Rechenleistung, Speicher und Netzwerk auf Basis von maschinenlesbarem Code zur Verfügung. Die Infrastruktur wird ähnlich wie Software programmiert. Das IaC-Konzept ist eng mit dem DevOps-Konzept und dem Cloud-Computing-Modell Infrastructure as a Service (IaaS) verknüpft. lesen

Was bedeutet Orchestrierung im IT-Umfeld?

Komposition verschiedener Einzeldienste zu einem Gesamtservice

Was bedeutet Orchestrierung im IT-Umfeld?

In der IT bedeutet Orchestrierung die Komposition mehrerer Einzeldienste zu einem Gesamtservice. Die Orchestrierung weist den Diensten, Prozessen, Webservices, Anwendungen oder Workloads konkrete Aufgaben zu und steuert die Abhängigkeiten untereinander. Mit der Cloud-Orchestrierung werden Services unterschiedlicher oder gleicher Cloud-Umgebungen und -Anbieter zu einer Gesamtkomposition kombiniert. lesen

Juniper plant SD-WAN as a Service

Contrail-Lösung mit Managed-Cloud-Deployment-Option

Juniper plant SD-WAN as a Service

Juniper Networks will seine SD-WAN-Lösung nun auch als Cloud-basierten Dienst verfügbar machen. Das skalierbare Angebot solle Vorzüge von Software-Defined Networking (SDN) in Zweigstellen bringen, Sicherheitslösungen integrieren und die WLAN-Lösungen des übernommen Anbieters Mist Systems einbinden. lesen

Verschlüsselter Datenspeicher in der Cloud

HashiCorp Vault Enterprise in AWS

Verschlüsselter Datenspeicher in der Cloud

„Wir würden gerne HashiCorp Vault Enterprise in AWS mit betreiben, da wir diese Software bereits in unserem einen Datacenter verwenden. Was sind die Best Practices für die Installation und den Betrieb von HashiCorp Vault Enterprise in AWS?“ lesen

AWS zu Spot(t)-Preisen fast gratis nutzen

Kostengünstige Nutzung von Amazon Web Services

AWS zu Spot(t)-Preisen fast gratis nutzen

Auf dem AWS Summit 2018, der Anfang Juni in Berlin stattfand, erzählte Glenn Gore, der Chief Architect von Amazon Web Services, dass über 60 AWS-Services kostenlos zur Verfügung stünden und es zahlreiche Möglichkeiten gebe, die Abo-Gebühr für Services wie EC2 auf ein Zehntel des „Normalpreises“ zu senken. Diese verlockende Aussicht ist, wie eine Analyse zeigt, kein potentielles PR-Geflunker, sondern auf Euro und Cent nachprüfbar. lesen

In fünf Schritten zur Multi-Cloud

Orchestrierung, Management und Administration

In fünf Schritten zur Multi-Cloud

Clouds wandeln sich immer öfter in Multi-Clouds – sie sind sozusagen die Zukunft der Enterprise-Netzwerke. Viele Unternehmen planen daher momentan ihre Migration von Legacy- zu modernen Architekturen. Manche werden dies mit einer Art “Big Bang”, sprich: in einem einzigen großen Schritt, realisieren. Erfolgreicher sind Organisationen hingegen, wenn sie langsamer vorgehen und die kontinuierlichen Veränderungen der Unternehmens-IT nutzen, um Prozesse und Anwendungen in die Multi-Cloud zu verlagern. lesen

VMware Cloud on AWS expandiert in Europa

Mehr Funktionen für Migration und Anwendungsschutz

VMware Cloud on AWS expandiert in Europa

Der bereits im vergangenen August zur VMworld 2017 verkündete On-Demand-Cloud-Service „VMware Cloud on AWS“ startet jetzt auch in Europa richtig durch. Ab sofort können Partner von VMware bzw. Amazon Web Services die Hybrid Cloud Services nicht nur aus dem AWS-Rechenzentrum in London, sondern auch – und dies sollte für viele deutsche Kunden interessant sein – in Frankfurt am Main anbieten. lesen

Grundlagen und Zweck von AWS Elastic Beanstalk

Anwendungsbereitstellung unter AWS automatisieren

Grundlagen und Zweck von AWS Elastic Beanstalk

Elastic Beanstalk erleichtert Entwicklern das Bereitstellen und Verwalten von Anwendungen in der AWS-Cloud. Entwickler laden einfach ihre Anwendung und der Service verwaltet automatisch Kapazitätsbereitstellung, Lastverteilung, automatischen Skalierung und Statusüberwachung. lesen

Heraeus Kulzer digitalisiert den Auftragsprozess mit AWS

Neue Idee – neuer IT-Betrieb - neue Zähne

Heraeus Kulzer digitalisiert den Auftragsprozess mit AWS

Das Dentalunternehmen Heraeus Kulzer entwickelt mithilfe von „Innoq“ eine Cloud-basierte Plattform, um Bestellungen im Dentalbereich digital abzuwickeln und die Kunden schneller zu beliefern. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46057456 / Definitionen)