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

Die heißesten Cloud-Native-Projekte für das Rechenzentrum

Kubernetes als Basis

Die heißesten Cloud-Native-Projekte für das Rechenzentrum

Die „Cloud 2019 Technology & Services Conference“ steht ins Haus. Im Zuge von Digitalisierung, Cloud-Transformation und Anwendungsmodernisierung kommen Unternehmen um den Einsatz neuster Technologien rund um Container und Cloud Native nicht mehr herum. lesen

Verwaltete Backups in der AWS Cloud

Snapshots und Sicherungen von Amazon-Diensten

Verwaltete Backups in der AWS Cloud

„Wir haben seit einiger Zeit einen datenlastigen Workload in AWS laufen. Welche Möglichkeiten gibt es, um Backups unserer Daten in der AWS Cloud zu erstellen?“ lesen

Kein Cloud Computing ohne Open Source Software

Die führenden Technologie- und Cloud-Plattformen sind quelloffen

Kein Cloud Computing ohne Open Source Software

Wer erinnert sich noch an die Linux-Kriege Ende der 90er bis Ende der 2000er Jahre? Da kämpften die selbsternannten Krieger des Lichts beziehungsweise des Pinguins / Linux gegen die dunkle Seite der Macht (aka Windows / Microsoft). Das war eine ernste Angelegenheit, die Emotionen kochten hoch. Diese Situation eingedenk überrascht die heute so starke Stellung von Open Source Software (OSS) im Umfeld der Business-Software. 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

MongoDB-Datenbanken in AWS

Die Dokumentendatenbank Amazon DocumentDB

MongoDB-Datenbanken in AWS

„Wir denken darüber nach, MongoDB für unsere Anwendungen zu nutzen, möchten diese aber nicht selbst betreiben. Welcher AWS-Service existiert für das Betreiben von MongoDB-Workloads?“ lesen

Hyperscaler und Service Provider in friedlicher Koexistenz?

Hosting & Service Provider Summit 2019

Hyperscaler und Service Provider in friedlicher Koexistenz?

Am 23. und 24. Mai 2019 treffen sich führende Top-Manager auf dem 8. Hosting & Service Provider Summit in der Villa Kennedy in Frankfurt am Main, um sich über das Cloud- und Managed-Services-Geschäft auszutauschen. Als Keynote-Speaker mit dabei ist auch Dr. Jörg Gottschlich, Geschäftsführer von meshcloud und Experte in Sachen Multi-Cloud-Management. 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

Rackspace will flexible Serviceblöcke anbieten

Von DevOps bis mehr Multicloud

Rackspace will flexible Serviceblöcke anbieten

Cloud heute braucht anpassbare Enterprise Cloud Services, verwaltete Infrastrukturen (IaC) sowie kompetente Multi-Cloud-Beratung und -Verwaltung, so der Managed Service Provider Rackspace. Die so genannten Service Blocks, Managed Infrastructure as Code (IaC)-Bereitstellungen und erweiterte Multicloud-Funktionen sollen die Kunden bei der Auswahl verschiedener Cloud-Plattformen unterstützen und die Möglichkeit bieten, mehrere Public Clouds mit nur einer Systemsteuerung zu verwalten. lesen

Tipps für einen erfolgreichen Einstieg in die Cloud

Managed Services auf Google Cloud Platform

Tipps für einen erfolgreichen Einstieg in die Cloud

Die Google Cloud Next 2018 in San Francisco war ein voller Erfolg. Kein Wunder, denn die kosteneffiziente Google Cloud Platform (GCP) erfüllt alle aktuellen Anforderungen, daher wird sie von immer mehr Unternehmen genutzt. Eine Möglichkeit des Einstiegs bieten Managed Services - mit dem richtigen Partner an der Seite.. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 46057456 / Definitionen)