One-to-one NAT met Loadbalancing met vRealize Automation en NSX

In VMware vRealize Automation kunnen eenvoudig individuele servers uitgerold worden. Er is echter meer nodig om een complete applicatie-omgeving uit te rollen. Dan speelt de connectie tussen de servers en de verbinding naar de buitenwereld toe een belangrijke rol. vRealize Automation is dan ook niet compleet zonder integratie met NSX. Hiermee zijn geautomatiseerd de volgende patronen uit te rollen door middel van een multi-machine blueprint:

  1. One-to-one NAT (eventueel met Load Balancing)
  2. One-to-many NAT
  3. Routed (eventueel met Load Balancing)
  4. Private

Voor elke laag van een applicatie (zoals de presentatielaag, businesslogica laag en de datalaag) kan het juiste patroon geselecteerd worden in de blueprint om volledig geautomatiseerd een applicatie-omgeving uit te rollen. Daarbij biedt NSX door middel van security groups de mogelijkheid om de security tussen de lagen in te stellen. Het is overigens mogelijk om in dezelfde multi-machine blueprint meerdere patronen te definiëren, zodat alle lagen in een keer uitgerold kunnen worden. De patronen stellen overigens niet de routering vanaf het edge netwerk naar de applicatie-omgeving in. Dit wordt eenmalig handmatig geconfigureerd, waarna de patronen daar gebruik van kunnen maken.
Deze blog beschrijft hoe het patroon one-to-one NAT met Load Balancing ingesteld wordt in vRealize Automation. Hierbij wordt ervan uit gegaan dat de integratie met NSX al ingesteld is.

Hoe ziet het patroon eruit?
Figuur 1 geeft de configuratie weer nadat het patroon is uitgerold via een multi-machine blueprint.

Figuur 1 - Hoe ziet het patroon eruit

Figuur 1: configuratie nadat het patroon is uitgerold

Hierbij geldt dat er in NSX een deel voorbereid moet worden, namelijk:

  1. Aanmaken van een logische switch als transport laag
  2. Aanmaken van een Edge Services Gateway die dienst doet als router om de connectie met de buitenwereld te maken

Deze voorbereiding is eenmalig en kan daarna gebruikt worden om steeds het patroon weer uit te rollen.
vRealize Automation rolt vervolgens via de multi-machine blueprint het volgende uit:

  1. Een logische switch
  2. Een Edge Services Gateway met de rollen one-to-one NAT en Loadbalancing
  3. De virtuele machines (in dit voorbeeld 2 stuks, maar het aantal wordt ingesteld in de multi-machine blueprint)

Hoe wordt het patroon geconfigureerd?
Voor het configureren van een multi-machine blueprint die het patroon uitrol, zijn eerst de volgende voorbereidingen nodig:

  1. Het aanmaken van een external network profile met een IP range van de Transport Tier; deze IP range geeft de uit te rollen Edge Services Gateway de IP adressen voor de one-to-one NAT en het Virtuele IP adres voor de load balancer
  2. Het aanmaken van een one-to-one NAT network profile met een IP range van de local Tier; deze IP range geeft de virtuele machines een IP adres (inclusief gateway en DNS server)
    Het external network profile wordt geconfigureerd zoals in figuur 2 is weergegeven.
Figuur 2 - Transport tier config

Figuur 2: configuratie external network profile

In dit voorbeeld is er een IP range gedefinieerd van 192.168.11.100 t/m 109 met een default gateway van 192.168.11.1. Waarvoor worden deze instellingen gebruikt?

  • De IP range wordt gebruikt voor het Virtuele IP Adres van de load balancer en de IP adressen voor de NAT regels voor de uit te rollen Edge Services Gateway
  • De default gateway is het IP adres van de interne link van de al uitgerolde Edge Services Gateway

Het one-to-one NAT network profile wordt geconfigureerd zoals in figuur 3 is weergegeven.

Figuur 3 - Local tier config

Figuur 3: configuratie one-to-one NAT network profile

In dit voorbeeld is er een IP range gedefinieerd van 172.16.10.100 t/m 109, een DNS server met IP adres 192.168.123.50 en een default gateway van 172.16.10.1. Waarvoor worden deze instellingen gebruikt?

  • De IP range wordt gebruikt voor de IP adressen van de uit te rollen virtuele machines (overigens worden de IP adressen elke keer hergebruikt als de multi-machine blueprint meerdere keren uitgerold wordt)
  • De DNS server wordt gebruikt als DNS server voor de uit te rollen machines (de overige DNS gegevens en WINS gegevens zijn niet ingevuld, maar deze kunnen ingevuld worden en daar geldt dan hetzelfde voor)
  • De default gateway is het IP adres van de interne link van de nog uit te rollen Edge Services Gateway die de rollen load balancing en one-to-one NAT gaat verzorgen

Nadat deze voorbereiden gereed zijn, kan de multi-machine blueprint gedefinieerd worden. In figuur 4 worden de multi-machine configuratietabs weergegeven. Relevant voor de configuratie zijn de tabs Build Information en Network. Stap voor stap legt deze blog uit hoe de multi-machine blueprint geconfigureerd moet worden met behulp van deze tabs.

Figuur 4 - Multi-machine blueprint opties

Figuur 4: de multi-machine configuratietabs

Ondanks dat het lijkt dat eerst de configuratie bij Build Information ingevoerd moet worden, is dit niet het geval. Als eerste wordt de informatie bij Network geconfigureerd. Hier wordt de gewenste transportzone geselecteerd zoals geconfigureerd in NSX. Verder wordt hier het network profile dat gebruikt moet worden opgegeven. In dit voorbeeld is dit het eerder geconfigureerde Local Tier one-to-one NAT network profile. Figuur 5 geeft de situatie aan nadat alle configuraties gemaakt zijn.

Figuur 5 - configuratie network multi-machine blueprint

Figuur 5: de configuratie van het Network in de multi-machine blueprint

De volgende stap is het configureren van de Build Information. Hier wordt aangegeven welke single-machine blueprint uitgerold moet worden (d.w.z. welke virtuele machine), wordt een vNIC geconfigureerd met het juiste network profile en wordt de load balancer geconfigureerd.
Als eerste wordt de single-machine blueprint geselecteerd. Deze blueprint dient dus al aangemaakt te zijn. In figuur 6 is de situatie aangegeven nadat deze blueprint geselecteerd is. In dit voorbeeld heet de blueprint Ubuntu Server (Linked Clone).

Figuur 6 - single-machine blueprint

Figuur 6: Single-machine blueprint geselecteerd bij de Build Information

Hierna wordt de vNIC voor deze blueprint aangemaakt en gekoppeld aan het juiste network profile. Klik hiervoor rechts op Edit. In figuur 7 is de situatie aangegeven nadat de vNIC aangemaakt is.

Figuur 7 - configuratie vNIC

Figuur 7: configuratie van de vNIC

In hetzelfde scherm via de tab Load Balancer, wordt ook de load balancer geconfigureerd. In figuur 8 is de situatie aangegeven nadat de load balancer is geconfigureerd.

Figuur 8 - configuratie Load Balancer

Figuur 8: configuratie van de load balancer

Nu zijn alle stappen geconfigureerd voor het patroon one-to-one NAT. Deze multi-machine blueprint kan op de gebruikelijke manier gepubliceerd worden en daarna worden toegevoegd aan de catalogus. Hierna is dit catalogusitem beschikbaar om volledig automatisch een one-to-one NAT omgeving uit te rollen.
In dit voorbeeld is er een multi-machine blueprint geconfigureerd met maar één patroon. Het is echter zonder probleem mogelijk om de multi-machine blueprint uit te breiden met meer patronen, waardoor een volledige meerlagen applicatie in een keer uitgerold kan worden. Door middel van NSX security groups kan de security tussen de lagen, maar ook binnen de laag zelf, ingesteld worden. Met recht is vRealize Automation samen met NSX dan ook het gereedschap om een SDDC op te zetten.
De toekomst start vandaag! Gaat u mee?

29 oktober 2015
Ronald van Vugt