+49 521 96686-0 info@teuto.net

QuickStart Tutorial

In diesem mehrteiligen Tutorial zeigen wir Ihnen die ersten Schritte in der OpenStack Cloud.

Teil 2 Vorbereiten der Infrastructure as a Service (IaaS) Umgebung

Vorbereitung

Eine virtuelle Instanz bzw. ein virtueller Host benötigt, wie in anderen Infrastrukturen auch, ein paar Hilfsdienste, um diesen Host sinnvoll nutzen zu können:

  1. Privates Netzwerk (Kommunikation der Instanzen undereinander)
  2. Router (Kommunikation nach außen)
  3. Security Groups (ähnlich einer Firewall)
  4. SSH-Keypairs (Zugriff auf die Instanzen)

Damit Sie einen Einblick in die Funktion und die Zusammenhänge in OpenStack bekommen, werden wir im Folgenden die einzelnen Themen beleuchten um einen ersten Start zu ermöglichen.

Viele dieser Themen bieten noch viel tiefgreifender Möglichkeiten. Es geht hier zunächst um die Basics und darum „an den Start zu kommen“.

1. Privates Netzwerk

Das private Netzwerk ähnelt einem lokalen bzw. einem Büro Netzwerk. Dieses Netzwerk benötigen Sie, um dem virtuellen Host die Kommunikation mit anderen Hosts und Routern zu ermöglichen.

Im Horizon Dasboard können private Netzwerke über den Hauptmenüpunkt „Network“ in der Unterrubrik „Networks“ angelegt werden. Klicken Sie dazu auf den Button „[+] Create Network“

Zunächst vergeben Sie einen sinnvollen Namen für das Netzwerk. Im Hinblick auf den Jumphost können Sie beispielsweise „Jumphost Network“ verwenden. Die Häkchen bei „Enable Admin State“ und „Create Subnet“ lassen Sie bitte gesetzt. Über den Button „Next“ gelangen Sie zu weiteren Eingabemöglichkeiten.

Zum Netzwerk benötigen Sie noch ein entsprechendes Subnetz. Bitte beachten Sie, dass es sich hierbei um private Netzwerke handelt (klassisch 192.168.0.1/24, 172.16.0.0/16, etc.)

Sofern Sie bei der Gateway IP keine Angabe machen, wird hier automatisch die erste IP im Subnetz festgelegt, also in unserem Fall 192.168.0.1

Die Subnet Details lassen wir zunächst außen vor. Bitte beachten Sie auch hier die Voreinstellung „Enable DHCP“. Diese sorgt dafür, dass neue Hosts in diesem Netzwerk per DHCP eine IP-Adresse erhalten.

2. Router

Der Router wird benötigt, um die Kommunikation zwischen verschiedenen Netzen (privates Netzwerk s.o.) und der Außenwelt bzw. anderen Netzen zu ermöglichen. In unserem Fall soll ein Jumphost erzeugt werden, der selbstverständlich auch mit der Außenwelt kommunizieren soll.

Im Horizon Dasboard können Router über den Menüpunkt „Network“ und die Unterrubrik „Routers“ erzeugt werden. Klicken Sie dazu in der Übersicht auf „[+] Create Router“

Geben Sie auch hier wieder einen sprechenden Namen ein. (z.B. „Router Jumphost Network“). Die anderen Voreinstellungen können übernommen werden.

Schließen Sie den Vorgang über den Button „Create Router“ im Dialogfeld ab.

In der Übersicht der vorhandenen Router sehen Sie jetzt den angelegten Router. Klicken Sie auf den Namen des Routers.

Sie gelangen in die Konfiguration des Routers.

Wälen Sie den Reiter „Interfaces“ aus. Hier können Sie den Router über den Button „[+]Add Interface“ mit dem vorher angelegten Subnetz verbinden.

Wählen Sie im Drop Down Menü das entsprechende Netzwerk aus und schließen den Vorgang über den Button „Submit“ ab.

Zwischenstand Netzwerk-Topologie

Das Horizon Dashboard bietet einen sehr komfortablen Überblick über die bestehenden Netzwerke und deren Topologie. Die Ansicht lässt sich ebenfalls im Hauptmenüpunkt „Network“ über die Unterrubrik „Network Topology“ erreichen.

Sie sehen den Router (in der Mitte) und das eben erstellte Subnetz mit seinem Adressbereich. Der Router verbindet außerdem das externe Netz mit dem neuen Netz.

3. Security Groups

Mittels Security Groups können Sie Zugriffe von und auf die Hosts in ihrer Cloud verwalten. Hier gibt es vielfältige Filtermöglichkeiten, die Sie eventuell aus anderen Bereichen wie „iptables“ kennen.

In Vorbereitung für unseren Jumphost erstellen wir eine Regel, über die der öffentliche Zugriff des Jumphosts auf SSH-Zugriff von außen beschränkt wird.

OpenStack bietet mit Sicherheitsgruppen die Möglichkeit eigene Regeln (Security Rules) anzulegen und diese in Gruppen (Security Groups) zusammen zu fassen.

Übersicht der eingerichteten Sicherheitsgruppen OpenStack

Als erstes legen wir eine neue Sicherheitsgruppe an und begrenzen den eingehenden Zugriff auf Port 22 für SSH.

Im Horizon können Security Groups über den Hauptmenüpunkt „Network“ in der Unterrubrik „Security Groups“ verwaltet werden. Legen Sie über den Button „[+] Create Security Group“ eine neue Sicherheitsgruppe an und vergeben dabei wieder einen sinnvollen Namen wie z.B. „SSH-Access“.

Tipp: je komplexer die Regeln werden, desto eher lohnt sich auch eine aussagekräftige Beschreibung (Description): hier ganz einfach: „Zugriff per SSH von außen“.

Schließen Sie den Vorgang ab, indem Sie auf den Button „Create Security Group“ klicken, um die neue Sicherheitsgruppe anzulegen.

Security Groups können für mehrere Hosts gleichzeitig verwendet werden. Wenn beispielsweise all Ihre Hosts SSH-Zugriff von außen benötigen, weisen Sie diese Regel später also allen Hosts zu. Dadurch vereinfacht sich das Management mehrerer Hosts mit ähnlichen bzw. gleichen Aufgaben.

Zugriffsregeln festlegen

Die Übersicht der Sicherheitsgruppen zeigt nun die neue Sicherheitsgruppe an. Über den Button Edit Security Group in der Zeile der neu angelegten Sicherheitsgruppe können Sie nun eine neue Regel für die Sicherheitsgruppe vergeben.

Klicken Sie auf „Manage Rules“ um die Übersicht der vorhandenen Regeln für diese Gruppe anzuzeigen.

Es sind bereits zwei Regeln eingetragen welche ausgehende (Egress) Verbindungen über IPV4 sowie IPV6 erlauben. Legen Sie nun eine neue Regel für eingehende (Ingress) Verbindungen an in dem Sie durch Klick auf Add Rule den Dialog zum Anlegen von Regeln öffnen. Im nun geöffneten Dialog finden Sie verschiedene Eingabefelder.

Im Drop Down Menü „Rule“ kann die Art der Regel festgelegt werden. Für bestimmte Dienste gibt es bereits vorgefertigte Regeln. In diesem Fall möchten wir den SSH-Zugriff ermöglichen und wählen daher SSH aus der Liste.

Über das Feld CIDR kann im Bedarfsfall die IP eines entfernten Hosts angegeben werden. Damit können Sie beispielsweise den Zugriff vom Gateway Ihres Brüo Netzwerks erlauben und allen anderen den Zugriff verweigern.

Natürlich können Sie diese Regeln auch vollständig Parameterisieren. In diesem Fall wählen Sie im Dopdown Menü „Rule“

Direction legt die Richtung der Pakete fest, wir wählen Ingress für eingehende Pakete. Da für SSH nur ein Port benötigt wird wählen wir unter Open Port die Option Port. Geben Sie bei Port den Port 22 für SSH an. Bei Remote wählen wir CIDR aus, um eine IP Netzbereich angeben zu können. Falls Sie über eine Feste IP-Adresse verfügen können Sie diese unter CIDR angeben. Ansonsten belassen Sie das Feld auf der Voreinstellung, für eine globale Freigabe. Klicken Sie anschließend auf Add um die neue Regel zu speichern.

Anschließend sieht sehen Ihre Security Group Rules wie folgt aus:

4. SSH-Keypairs (Zugriff auf die Instanzen)

Beim Starten von Hosts wird in der Regel ein willkürliches Passwort für die Login-Zugänge gesetzt. Diese Zugangsdaten sind ohne Weiteres nicht zu ändern. Aus diesem Grund lassen sich in OpenStack SSH-Keys hinterlegen, die beim Erzeugen einer Instanz / eines Hosts für einen bestimmten User hinterlegt werden und damit den Zugriff auf den Host ermöglichen.

Im Hauptmenüpunkt „Compute“ finden Sie die Unterrubrik „Key Pairs“.

Über den Button „[+]Create Key Pair“ können Sie ein neues OpenStack Key Pair erzeugen. Sie haben dabei die folgenden Möglichkeiten:

  • einen eigenen public Key importieren
  • ein neues SSH-Schlüsselpaar von OpenStack erzeugen lassen

Bitte beachten Sie, dass Sie über das Horizon Dashboard immer nur einen SSH-Key pro Key Pair importieren können. Beim späteren Instanziieren ist es ebenfalls nur möglich ein Key Pair zu übergeben! Über die API gibt es die Möglichkeit mehrere Schlüssel in einem OpenStack Key Pair zu hinterlegen. Ein Beispiel hierfür finden Sie im Teil 3.

Bitte erzeugen, oder importieren Sie ihren eigenen SSH-Schlüssel und speichern Sie diesen ab.