Configuration Management mit AWS, Teil 2 Arbeiten mit AWS OpsWorks

Konfigurationsmanagement mi AWS OpsWorks unterstützt Chef-Server Version 11 und 12 sowie den Chef-Solo-Modus.

Einen wesentlichen Anteil an der Automatisierung komplexer Infrastrukturen hat das Konfigurationsmanagement. Im Folgenden werfen wir einen Blick auf das Vorgehen bei AWS OpsWorks Stacks.

Der Workflow zum Einrichten von OpsWorks Stacks – der Chefsolo-Variante von OpsWorks – vollzieht sich in 4 Schritten:

  • 1. Erstellen eines Stacks.
  • 2. Festlegen der Ebenen (Layer) eines Stacks.
  • 3. Hinzufügen von Instanzen zu einem Layer.
  • 4. Spezifizieren der Anwendungen und Ausführen der Bereitstellungsschritte für diese Anwendung, wie diese z. B. im jeweiligen Cookbook, bzw. Rezept definiert sind.

Unter einen Stack versteht AWS bei OpsWorks eine Anzahl von als „Ebenen“ oder „Layers“ bezeichneter Instance-Muster, die zum Starten und Verwalten einer Gruppe von Instanzen verwendet werden (etwa alle Tomcat-Server und die MariaDB-Datenbank, die für Frontent-Webserver der Produktions-Webanwendung benötigt werden). Auch Anwendungen, Berechtigungen und Ressourcen werden im Kontext des Stacks definiert und gesteuert.

Einrichtung und Konfiguration einer Gruppe von EC2-Instanzen nebst zugehöriger Ressourcen wie EIPs, oder EBS-Volumes werden vom jeweiligen Layer bestimmt. OpsWorks stellt Layers für zahlreiche gängige Technologien wie PHP, Ruby, HAProxy, Memcached oder MySQL (nur Linux) bereit und erlaubt sowohl das Erweitern vorhandener als auch das Erstellen eigener individueller Layers. Zum automatischen Ausführen bestimmter Konfigurationsaufgabe werden Lifecycle-Event verwendet, die ihrerseits die zuständigen Chef-Rezepte für alle Instanzen auslösen.

Im jeweiligen Layer erstellt der Nutzer dann Instanzen in Konfigurationen seiner Wahl, einschließlich Instance-Größe, Availability Zone, EBS-Volume, EIP, Security Group oder dem Betriebssystem der Instanz und startet diese dann. Für das Definieren einer Anwendung muss der Admin in AWS OpsWorks Stacks nur den Speicherort seines Anwendungs-Codes und ggf. zusätzliche Bereitstellungsaufgaben angeben, wie etwa eine Datenbankkonfiguration.

Dazu unterstützt AWS OpsWorks Stacks zahlreiche Repository-Varianten wie Git, SVN, HTTP und natürlich Amazon S3. Beim Bereitstellen der Anwendung ruft AWS OpsWorks Stacks den Code dann aus dem angegeben Repository ab, fügt ihn den Instanzen hinzu und führt die im Rezept angegebenen Bereitstellungsaufgaben aus, damit die Anwendung die gewünschte Konfiguration erhält.

Stacks erzeugen

Das Erzeugen eines Stacks über die AWS Management Console ist einfach. Der Einstiegspunkt findet sich unter „Services / Management Tools / OpsWorks“. Hier klickt man dann auf „Go to OpsWorks Stacks“ und auf der Seite „Welcome to AWS OpsWorks Stacks“ auf „Add your first stack“. Hier hat der Admin dann die Wahl zwischen „Sample stack“, „Chef 12 stack“ und „Chef 11 stack“.

Chef-stacks (11 oder 12) erlauben das direkte Verwenden vorhandener Chef-Cookbooks, bzw. von Cookbooks der Chef-Community, z. B. zum Aufsetzen eines LAMP- oder Ruby-On-Rails-Stacks. Mit der Option „Sample stack“ hingegen erstellt der Admin einen Beispiel-Stack für eine Node.js-Anwendung, mit deren Hilfe der Nutzer recht einfach erste Erfahrungen mit OpsWorks machen kann. Als Betriebssysteme stehen Linux oder Windows zur Verfügung.

Hier weiterlesen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.