Konfigurationsmanagement in AWS

IaC mit AWS OpsWorks implementieren

| Autor / Redakteur: Sascha Möllering * / Stephan Augsten

AWS OpsWorks bietet verschiedene Möglichkeiten, die Infrastruktur-Bereitstellung zu automatisieren.
AWS OpsWorks bietet verschiedene Möglichkeiten, die Infrastruktur-Bereitstellung zu automatisieren. (Bild: AWS Germany GmbH)

„Wir würden gerne die Konfiguration unserer Server in AWS automatisieren. Welche Möglichkeiten existieren für die Umsetzung von Infrastructure as Code?“

Das Ziel von Infrastructure as Code ist es, operative Prozesse zu automatisieren, diese also in Form von Quelltext abzubilden, um reproduzierbare Ergebnisse erzeugen und Fehler durch manuelle Eingriffe vermeiden zu können. AWS OpsWorks ist ein verwalteter Konfigurationsmanagementservice, der sowohl Chef als auch Puppet unterstützt.

OpsWorks erlaubt es, Chef und Puppet zur Automatisierung der Konfiguration, Bereitstellung und Verwaltung von Server auf Amazon-EC2-Instanzen oder im eigenen Datacenter zu verwenden. Im Kontext von OpsWorks existieren drei verschiedene Ausprägungen: AWS OpsWorks for Chef Automate, AWS OpsWorks for Puppet Enterprise und AWS OpsWorks Stacks.

AWS OpsWorks for Chef Automate ist ein vollständig verwalteter Konfigurationsverwaltungsservice, der Chef Automate hostet. Dies umfasst eine Reihe von Chef-Automatisierungstools zur Konfiguration der Verwaltung, Compliance, Sicherheit und Continuous Delivery.

Die zweite Option AWS OpsWorks Stacks hingegen ist ein Anwendungs- und Server-Verwaltungsdienst: Mit diesem lassen sich Anwendungen als Stack mit verschiedenen Layern – wie Load-Balancing-, Datenbank- und Anwendungsserver – darstellen und ausrollen. Auf jedem Layer können Amazon EC2-Instances bereitgestellt, Auto Scaling aktiviert und EC2-Instances mit Chef-Rezepten mit Hilfe von Chef Solo konfiguriert werden.

AWS OpsWorks for Puppet Enterprise ist wiederum ein vollständig verwalteter Konfigurationsverwaltungsservice. Puppet Enterprise umfasst eine Reihe von Puppet-Automatisierungstools zur Verwaltung von Infrastruktur und Anwendungen. OpsWorks verwaltet außerdem den Puppet-Masterserver und installiert automatisch Patches, führt Aktualisierungen durch und sichert die Daten auf dem entsprechenden Server.

Ausrollen einer Anwendung in AWS OpsWorks Stack

Die Verwendung von AWS OpsWorks Stack ist einfach und intuitiv, im Folgenden werden die grundlegenden Schritte zum Ausrollen einer Anwendung in AWS OpsWorks Stacks skizziert:

1. Erstellen eines Stacks: Wie bereits erwähnt, besteht ein Stack aus einer Menge von Amazon EC2 Instances und Instance-Blueprints (auch Layer genannt). Letzere dienen dazu, die EC2-Instanzen zu starten und zu verwalten. Das könnten beispielsweise alle Java Server und Postgres-Datenbanken sein, die für den produktiven Betrieb einer Web-Anwendung genutzt werden. Anwendungen, Berechtigungen und notwendige Ressourcen werden im Kontext des Stacks definiert und verwaltet.

2. Definition der Layer des Stacks: Ein Layer bestimmt wie eine Gruppe von EC2-Instanzen eingerichtet und konfiguriert wird. Das gilt auch für dazugehörige Ressourcen wie Volumes und Elastic-IP-Adressen.

AWS OpsWorks Stacks beinhaltet Layer für verbreitete Technologien wie beispielsweise Ruby, PHP, HAProxy, Memcached und MySQL (nur für Linux). Darüber hinaus macht es OpsWorks sehr einfach, bereits bestehende Layer zu erweitern und vollständig neue Layer selbst hinzuzufügen. Lifecycle Events können genutzt werden, um Chef-Rezepte aufzuführen, die auf jeder EC2-Instanz spezifische Konfigurationstasks durchführen.

3. EC2-Instanzen zu den definierten Layern hinzufügen: EC2-Instanzen können anhand eigener Vorgaben wie Instanzengröße, Availability Zone, Volumes, RAID-Konfiguration, Elastic IP, Security Groups und Betriebssystem erzeugt werden.

4. Definition und Ausrollen von eigenen Anwendungen: Um eine Anwendung zu definieren, muss dem AWS OpsWorks Stack lediglich übergeben werden, wo der Quelltext zu finden ist und ob zusätzliche Deployment-Schritte notwendig sind wie beispielsweise die Konfiguration einer Datenbank.

AWS OpsWorks Stacks unterstützt eine ganze Reihe von Repositories wie Git, SVN, HTTP und Amazon S3. Wenn eine Anwendung ausgerollt wird, zieht AWS OpsWorks Stacks den Quelltext aus dem jeweiligen Repository, kopiert diesen auf die EC2-Instanzen und lässt die notwendigen Deployment-Schritte laufen, damit die Anwendung korrekt konfiguriert ist.

Fazit

Sascha Möllering
Sascha Möllering (Bild: AWS Germany GmbH)

AWS OpsWorks bietet eine ganze Reihe von Möglichkeiten, Infrastructure as Code mit Hilfe von Chef oder Puppet zu implementieren. OpsWorks verwaltet zudem die entsprechenden Master-Server, damit ein Betrieb von eigenen Chef- bzw. Puppet-Servern nicht notwendig ist.

* Sascha Möllering arbeitet als Solutions Architect bei der Amazon Web Services Germany GmbH.

Kommentare werden geladen....

Kommentar zu diesem Artikel

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.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45451400 / Tipps und Tricks mit AWS)