Setup virtual Datacenter

Dieses Kapitel beschreibt die nötigen Schritte, um einen virtuellen Router (VR) und privates Netzwerk zu erstellen und die wichtigsten Firewall-Einstellungen vorzunehmen. Im weiteren wird beschrieben, wie Sie Ihren ersten virtuellen Server (VM) im erstellten Netzwerk installieren (deployen).

Setup Network Topology

Router (VR) anlegen

Um von einem virtuellen Server ins Internet zu kommen, wird immer ein VR benötigt, welcher die Verbindung zwischen dem Private und Public Netzwerk herstellt.

Führen sie dazu die folgenden Schritte aus:

  • Klicken sie links in der Navigationsleiste auf Network => Network Topology
  • Dann oben rechts auf die Schaltfläche +Create Router
  • Geben Sie nun in der Eingabemaske einen
    • Router Name ein und
    • wählen das externe Netzwerk „public“, dann
    • wählen sie keine Availability Zone aus und klicken OK

Tipp

Standardmässig werden Virtuelle Router (VR) immer hoch verfügbar, mit einem Master und Slave, deployed. Wenn Sie KEINE Availibility ZONE auswählen, wird der Master z.B. in AZ1 und der Slave in AZ2 deployed. Bei Bedarf können Sie aber auch eine spezivische AZ auswählen, in welche dann Master und Slave deployed werden.

../_images/create-router1.png

Wenn sie nun, nachdem der VR erstellt ist in der Navigation auf Network Topology klicken zeigt sich folgendes Bild:

../_images/create-router2.png

Netzwerk anlegen (Private / Public)

Als nächstes erstellen wir ein Privates Netzwerk (Private /24), in welchem wir später die VM’s deployen.

  • Klicken sie hierzu links in der Navigationsleiste auf Network => Network Topology
  • Anschliessend klicken sie oben rechts auf die Schaltfläche +Create Network
../_images/create-network0.png
  • Geben Sie nun in der ersten Eingabemaske Network folgendes ein:
    • gewünschter Network Name
    • Lassen sie die beiden Kästchen „Enable Admin State“ und „Create Subnet“ angekreuzt.
    • wählen sie keine Availability Zone aus
    • anschliessend auf Next klicken

Tipp

Wenn Sie KEINE Availibility ZONE auswählen, werden standardmässig die Netzwerk Dienste wie DHCP und Metadaten hoch verfügbar in allen Availability ZONEN einer Region deployed. Bei Bedarf können Sie aber auch nur eine spezifische AZ auswählen, in welcher dann diese Dienste deployed werden.

../_images/create-network1.png
  • Geben Sie nun in der Subnet Eingabemaske folgendes ein:
    • gewünschter „Subnet Name“ eingeben
    • Gültige Private Netzwerk Adresse für das Subnetz eingeben
    • auswählen der IP Version (IPv4 in unserem Beispiel)
    • Wenn sie das „Gateway IP“ Feld leer lassen, wird der Standard-GW des Subnetzes verwendet (in unserem Beispiel 192.168.50.1). Klicken sie Next zum fortfahren.
../_images/create-network2.png
  • Geben Sie als letztes in der Subnet Details Eingabemaske folgendes ein:
    • Aktivieren sie das Kontroll-Kästchen „Enable DHCP“, damit ihre Server später auch automatisch eine IP Adresse aus dem Adress-Range des Privaten Netzwerk erhalten.
    • Im Feld „Allocation Pools“ können sie optional den von DHCP verwendeten IP-Range definieren bzw. einschränken. Für weitere Erklärungen dazu klicken sie bitte auf das Fragezeiche des jeweiligen Eingabefeld.
    • Im Feld „DNS Name Servers“ können sie optional die IP Adressen eines bevorzugten DNS Server eingeben.
    • Optional könnten sie im letzten Feld „Host Routes“ noch spezifische Routen eintragen. Für unser Beispiel lassen wir es aber leer.
  • Klicken sie nun abschliessend auf Create, um den Vorgang abzuschliessen.
../_images/create-network3.png

Nun wird das Netzwerk angelegt und die Network Topology sieht wie folgt aus:

../_images/create-network4.png

Router mit Netzwerk verbinden (Add Interface)

Um nun die Verbindung zwischen dem Netzwerk und dem Router herzustellen, fahren sie mit der Maus über das Router Symbol und klicken dann auf +Add Interface.

../_images/create-network5.png
  • Wählen sie dann ihr Netzwerk (Subnet) aus und bestätigen mit Submit.
../_images/create-network6.png

Nun ist das Netzwerk mit dem Router verbunden.

../_images/create-network7.png

Erstellen Sie nun falls noch nicht vorhanden im nächsten Kapitel einen ssh-rsa Key für den späteren Zugriff auf die VM, oder klicken sie auf diesen Link Launch Instance, um eine VM zu installieren (deployen).

Create ssh Key Pair

Es gibt viele Möglichkeiten einen „ssh-rsa Key“ zu generieren. Eine einfache Möglichkeit bietet das OpenStack Portal, über den Menüpunkt „Compute > Key Pairs“. Über dieses Menü können sie auch einen bereits vorhandenen Key importieren. Beim deployen einer VM können sie dann im „Launch Instance Wizard“ diesen Key auswählen und damit auf ihre Linux VM zugreifen.

Tipp

Wir empfehlen ihnen möglichst bereits vor dem deployen einer VM einen „ssh-rsa Key“ zu importieren oder anzulegen.

Wechseln sie in der Navigation zu Compute => Key Pairs und klicken auf +Create Key Pair.

../_images/createsshkey1.png
  • Geben Sie nun einen „Namen“ für das Key Pair ein.
  • anschliessend klicken sie auf +Create Key Pair.
../_images/createsshkey2.png

Nun wird das Key Pair (Public & Private Key) erstellt, wobei sie den Public Key durch anklicken des Key Namen anzeigen können.

../_images/createsshkey3.png

Vorsicht

Der erstellte Private Key wird automatisch im Browser herunter geladen. Diesen sollten sie sicher aufbewahren, da dieser einen Zugriff auf ihre VM ohne Passwort ermöglicht!

../_images/createsshkey4.png

Bemerkung

Der generierte Private Key muss vor der Verwendung in „Putty“ noch konvertiert werden (siehe Wie konvertiere ich ein PEM in ein PPK File Format).

Server Groups

Je nach Lösung, welche Sie bauen möchten, kann es erforderlich sein, dass bestimmte VM’s auf dem gleichen, oder verschiedenen HOST’s deployed werden.

Falls Sie zum Beispiel mit VM’s einen Cluster bauen möchten, ist es für eine hohe Verfügbarkeit entscheidend, dass sich die VM’s nicht alle auf dem gleichen physischen HOST befinden. Bei einem Ausfall dieses HOST’s wären sonst alle VM’s des Clustern betroffen! Um dies zu steuern, können Sie Instances (VM’s) mithilfe von OpenStack Server Groups mit einer Affinity- oder Anti-Affinity-Richtlinie deployen.

Wichtig

Eine VM kann ausschliesslich beim deployen einer Server Group zugewiesen werden! Dies bedeutet, dass die Server Group VOR dem deployen der VM’s angelegt und beim deployen der VM ausgewählt werden muss!

  • Affinity bedeutet, dass alle Instances in der Gruppe auf demselben physischen Host installiert werden
  • Anti-Affinity bedeutet, dass alle Instances in der Gruppe auf einem anderen physischen Host installiert werden.

Bemerkung

Bitte verwenden Sie die Soft Affinity und Soft Anti Affinity Policy, da diese Option im Fall einer Störung oder Wartung noch Spielraum für eine temporäre Migration und Start einer ausgefallenen VM auf dem gleichen HOSTS zulässt, falls zu diesem Zeitpunkt kein anderer freier HOST verfügbar ist.

Um eine Soft Anti Affinity Group zu erstellen, wechseln sie in der Navigation zu Compute => Server Groups und klicken auf +Create Server Group.

../_images/createservergroup.png
  • Geben Sie nun einen sprechenden „Namen“ für die Server Group ein.
  • wählen Sie dann die entsprechende Policy zum Beipiel Soft Anti Affinity
  • anschliessend klicken sie auf Submit.

Sie können nun beim VM deployen diese Server Group im „Launch Instance Wizard“ im Abschnitt Server Groups (siehe Server Groups) auswählen.

Launch Instance

Voraussetzungen

In diesem Abschnitt lernen sie, wie sie eine oder mehrere VM Instanzen installieren (deployen). Hierbei werden sie vom „Launch Instance Wizard“ unterstützt, in welchem sie nach benötigten Informationen gefragt werden. Ebenfalls können sie hier noch nötige Voraussetzungen schaffen und z.B. ein Netzwerk anlegen, oder einen SSH Key für den späteren Zugriff auf die VM erstellen.

Tipp

Wir empfehlen ihnen möglichst bereits vorab einen Router mit Netzwerk (siehe Setup virtual Datacenter) , SSH Keys (siehe Create SSH Key Pair) und ggf. Server Groups zu erstellen.

Wichtig

Bitte beachten Sie, eine VM kann ausschliesslich beim deployen einer Server Group zugewiesen werden! Diese bedeutet, dass die Server Group VOR dem deployen der VM’s angelegt und beim deployen der VM ausgewählt werden muss!

Start Wizard

Wechseln sie nun in der Naviagation zu Network => Network Topology, klicken den Launch Instance Button und geben die benötigten Informationen ein. Mit Next gelangen sie jeweils zur nächsten Eingabemaske. Sobald alle „Pflicht-Informationen“ eingegeben wurden, wird die Schaltfläche Launch Instance aktiviert (blau) und sie können die VM(s) „launchen“ (deployen).

../_images/launch-vm0.png

Details

  • Geben Sie nun in der Eingabemaske Details die fehlenden Informationen ein:
    • „Instance Name“ - den Namen der Instanz und ggf. eine Beschreibung im Feld „Description“
    • „Availability Zone“ - auswählen, wo die Instanz deployed werden soll
    • „Count“ - Anzahl von Instanzen, welche mit den gleichen Settings deployed werden sollen
    • klicken sie nun auf Next

Tipp

Standardmässig werden die VM’s in einer beliebigen AZ dieser Region deployed. Falls Sie die VM in einer bestimmten AZ deployen möchten, dann wählen Sie bitte die entsprechende Availibility ZONE aus. Die VM kann später nicht mehr in eine andere AZ verschoben werden!

../_images/launch-vm1.png

Bemerkung

OpenStack bietet für die Wahl des Boot Source mehrere Möglichkeiten, welches im Step Flavor bei der Auswahl des Flavor-Typ berücksichtigt werden muss.

Die gängigsten Optionen sind:

Boot Source Create New Volume compatible Flavor-Types Comment
Image Yes All „Zero-Disk“ Flavor’s (g*) e.g. g1.2c4m, Total Disk = 0 A new Boot Volume will be created, where you can specify the Size (GB) of it.
Image No All „Standard“ Flavors (e* & m*) e.g. e1.micro, Total Disk = 20GB Flavor must have a Root Disk included see Flavor List Column „Root Disk“ >0 GB

Siehe auch

Unterschiede zwischen den Flavor-Typen in Tabelle

Source

Im nachfolgenden Beispiel wird ein „Zero-Disk“ Flavor verwendet und dabei ein Volume kreiert.

Wählen sie bitte nun das Image mit dem entsprechenden Betriebssystem aus.

  • Geben Sie dazu in der Eingabemaske Source die fehlenden Informationen ein:
    • „Select Boot Source“: „Image“
    • „Create New Volume“: „Yes“
    • „Volume Size GB“: geben Sie bitte die gewünschte Grösse für ihr Root-Volume ein
    • „Delete Volume on Instance Delete“: „No“ Wichtig [1]
    • Wählen sie mit dem Pfeil das gewünschte „Image“ aus der Liste
    • klicken sie nun auf Next
../_images/launch-vm2.png

Das gewählte Image wird angezeigt.

../_images/launch-vm2a.png

Flavor

Wählen Sie als nächstes in der Eingabemaske Flavor für ihre VM die passende (Zero-Disk) Konfiguration (vCPU, RAM) durch Auswahl eines Flavor:
  • Um die Liste etwas übersichtlicher anzuzeigen, können Sie den Filter nutzen
  • zum auswählen klicken sie z.B. auf der Zeile g1.2c4m rechts den Pfeil nach oben
../_images/launch-vm3.png
nun erscheint die gewählte Flavor oben im Abschnitt Allocated. Mit dem Pfeil nach unten könnten sie dort die Auswahl rückgängig machen und eine andere Flavor wählen.
  • Mit Auswahl der Flavor sind bereits alle nötigen Informationen für das deployen der VM gegeben und sie können Lauch Instance am unteren Ende des Fensters klicken, um den Prozess abzuschliessen.
  • Falls sie optional weitere Einstellungen vornehmen möchten, wie z.B. erstellen oder auswählen eines SSH Key Pair dann klicken direkt auf diesen Punkt in der Navigation, oder mit Next bis zur gewünschten Eingabemaske.
../_images/launch-vm3a.png

Bemerkung

Hinter dem Pfeil Details finden sie viele Informationen zu dem jeweiligen Flavor, wie zum Beispiel Auswirkungen auf ihre Quota Limite, Disk QoS oder VIF QoS.

Networks

  • Falls sie wie empfohlen bereits ein Netzwerk erstellt hatten, wird dieses hier automatisch ausgewählt (Allocated). Falls sie mehrere Netzwerke haben, wählen sie bitte das Netzwerk, in welches ihre VM deployed werden soll.
    • klicken sie nun auf Next
../_images/launch-vm4.png

Network Ports

  • Optional können sie hier, falls vorher erstellt, ihre VM mit Ports verbinden.
    • klicken sie nun auf Next
../_images/launch-vm5.png

Security Groups

  • Standard mässig wird ihre VM in der „Default Security Group“ zugewiesen. Optional könen sie hier, falls vorher erstellt, ihre VM einer anderen Security Group zuweisen. Eine Änderung der Security Group können sie auch später noch vornehmen.
    • klicken sie nun auf Next
../_images/launch-vm6.png

Warnung

Windows License KMS activation Ports - in der OpenStack Standard Secutity Group Default Security Group, ist der Egress Port zum KMS Lizensierungs-Server offen, damit die Windows Lizenz Aktivierung funktioniert! Sollten Sie eigene Security Groups verwenden und Windows Server verwenden, stellen Sie sicher, dass der Egress zur Domain oskms.ewcs.ch 217.20.195.145/32 Port 1688 erlaubt ist.

Key Pair

  • Falls sie vorher bereits ein „ssh Key Pair“ erstellt hatten, können sie diesen hier auswählen, ein bestehendes Key Pair importieren oder ein neues erstellen. (siehe Create SSH Key Pair)
    • klicken sie nun auf Next
../_images/launch-vm7.png

Configuration

  • Optional könnten sie hier Konfigurationen hinterlegen, welche nach dem Start ihrer VM ausgeführt werden sollen. Dies erfordert ein tiefes Systemverständnis, was hier nicht behandelt wird.
    • klicken sie nun auf Next
../_images/launch-vm8.png

Server Groups

  • Optional könnten sie hier ihre VM einer vorher erstellten „Server Group“ zuweisen, was für Clusterlösungen wichtig sein kann (siehe Server Groups).

    • klicken sie nun auf Next
../_images/launch-vm9.png

Scheduler Hints

  • Mit dieser Option könnten dem „Scheduler Prozess“, welcher die VM deployed zusätzliche „Hinweise“ (z.B. CPU Typ) mitgegeben werden, welche falls möglich berücksichtigt werden. Dies erfordert ein tiefes Systemverständnis, was hier nicht behandelt wird.
    • klicken sie nun auf Next
../_images/launch-vm10.png

Metadata

  • Mit dieser Option könnten dem „Meta Daten“, der VM Instanz hinzugefügt werden. Dies erfordert ein tiefes Systemverständnis, was hier nicht behandelt wird.
    • klicken sie nun auf Next
../_images/launch-vm11.png

Falls Sie alle erforderlichen Informationen eingegeben haben, sollte nun auch die Schaltfläche Lauch Instance aktiviert sein und sie können diese nun klicken, um die VM zu deployen. Falls noch Informationen fehlen, wird dies durch einen *(Stern) links im entsprechenden Abschnitt angezeigt.

Sie können nun in der Navigation unter „Compute > Instances“ den Status ihrer VM sehen.

../_images/instances1.png

Footnotes

[1]Falls Sie zum Beispiel für ein Re-Sizing des Root-Volume temporär die dazugehörige Instance löschen müssen, bleibt das Volume bestehen und Sie können es nach dem Volume Re-Size wieder für das Lauchen einer neuen Instance (VM) verwenden. Ansonsten wird mit dem löschen der Instance auch das dazugehörige Root-Volume ohne Vorwarnung gelöscht!

Setup Security Group

In diesem Abschnitt lernen sie, wie sie eine Security Group erstellen und eine Firewall Regel anlegen, damit sie über das Internet via ssh auf ihre VM (Linux) zugreifen können. Eine Security Group ist eine Software Firewall, die es ihnen erlaubt Regeln für die eingehenden (Ingress) und ausgehenden (Egress) Verbindungen zu erstellen und damit einzuschränken. Alle VM’s welche Mitglied dieser „Security Group“ sind, wenden die Regeln der Security Group an.

Tipp

Wir empfehlen ihnen möglichst bereits vor dem deployen einer VM eine Security Groups mit entsprechenden Regeln anzulegen, damit sie diese dann im „Launch Instance Wizard” einfach auswählen können.

Create Security Groups

Wechseln sie in der Navigation zu Network => Security Groups und klicken auf +Create Security Group. und geben die Informationen ein.

../_images/setupsecgrp1.png

Warnung

Windows License KMS activation Ports - in der OpenStack Standard Secutity Group Default Security Group, ist der Egress Port zum KMS Lizensierungs-Server offen, damit die Windows Lizenz Aktivierung funktioniert! Sollten Sie eigene Security Groups verwenden und Windows Server verwenden, stellen Sie sicher, dass der Egress zur Domain oskms.ewcs.ch 217.20.195.145/32 Port 1688 erlaubt ist.

  • Geben Sie nun einen „Namen“ für die Security Group und ggf. eine Beschreibung im Feld „Description“ ein.
  • anschliessend klicken sie auf +Create Security Group.
../_images/setupsecgrp2.png

Nun wird die Security Group erstellt und sie erhalten eine Mitteilung oben rechts auf dem Bildschirm und sehen die erstellte Gruppe in der Liste. * klicken sie nun auf Manage Rule dieser Security Group.

../_images/setupsecgrp3.png

Create Security Groups Rule

Standardmässig wird bereits automatisch eine Egress Rule (any/any) erstellt, um ausgehende Verbindungen zu ermöglichen. Klicken sie nun auf +Add Rule, um die gewünschte ssh Rule zu erstellen.

../_images/setupsecgrp4.png

Geben sie nun die Informationen ein oder wählen aus der Liste Rule die Vorlage SSH aus. Klicken sie dazu auf „Custom TCP Rule“

../_images/setupsecgrp5.png
  • klicken sie nun auf SSH und bestätigen die Auswahl mit der Schaltfläche Add.
../_images/setupsecgrp6.png

Durch die Auswahl der Vorlage „SSH“, reduziert sich die Eingabe für die Regel auf das Feld Remote Netzwerk Adresse (CIDR), welche definiert, von wo aus zugegriffen werden darf. Es ist auch möglich als Remote Netzwerk eine andere Security Group anzugeben, was ein umfangreiches Regelwerk ermöglicht.

../_images/setupsecgrp7.png

Nun wird die SSH Ingress Rule (tcp / PORT 22) erstellt und erscheint in der Liste, was durch eine Mitteilung oben rechts auf dem Bildschirm quittiert wird.

../_images/setupsecgrp8.png

Assign Security Group

Damit eine Security Group von einer VM auch angewendet wird, muss diese dem Netzwerk Port oder Interface auch zugewiesen werden.

  • Klicken sie hierzu in der Navigation auf Compute => Instances und dann im Reiter Interfaces auf Edit Security Groups
../_images/addsecgrp1.png
  • Klicken sie dann in der linken Bildschirmhälfte auf das Pluszeichen, damit diese Security Group dem Port der VM hinzugefügt wird.
../_images/addsecgrp2.png

Bestätigen sie nun durch klicken auf den Update Button.

../_images/addsecgrp3.png

Assign Public / Floating IP

In diesem Abschnitt lernen sie, wie sie ihrer VM eine fixe Public IP Adresse zuweisen. Damit die VM von aussen erreichbar wird, muss zuerst eine öffentliche IP (siehe Floating IP) zugewiesen werden.

Tipp

Wir empfehlen ihnen den Zugriff auf ihre VM von Public einzuschränken. Dies erreichen sie in den Einstellungen der Security Groups mit entsprechenden Regeln.

Associate Floating IP

Wechseln sie in der Navigation zu Instances, klicken auf den „Pfeil“ und wählen Associate Floating IP aus

../_images/addpubip1.png
  • Klicken sie nun auf das „Pluszeichen“ und anschliessend auf Associate
../_images/addpubip2.png
  • Wählen sie nun „public“ aus und klicken auf Allocate IP
../_images/addpubip3.png
  • Wählen sie nun die Public IP Adresse aus und klicken auf Associate
../_images/addpubip4.png
  • Die zugewiesene Public IP Adresse wird nun angezeigt und sie können über diese nun auf ihre VM via ssh zugreifen.
../_images/addpubip5.png