Piszki Lab

Analiza przypadku w języku przodków…

Horizon Workspace: Balansowanie ruchem za pomocą BIG-IP F5

| 0 comments

Przygotowanie odpornej na awarie instalacji Horizon Workspace 1.8, wymagało na początku stworzenia klastra bazodanowego, zbudowanego na bazie pgPool i vPostgres. W kolejnym kroku zwielokrotnimy maszyny dostępowe (gateway-va) i zbudujemy odpowiednią konfigurację balansującą ruchem pomiędzy nimi z wykorzystaniem BIG-IP F5. W takim przypadku F5 odpowiada też za całą sferę bezpieczeństwa (opisywane w tym poście rozwiązanie pochodzi z naszego Laba i jest oparte na dwóch BIG-IP F5 VE (czyli całkowicie zwirtualizowane)). Jeśli jednak nie dysponujemy F5 LTM, możemy użyć do balansowania Proxy-HA a bezpieczeństwo przerzucić na inne warstwy (np. Trend Micro Deep Security).

f5-3

Jak widać na schemacie, ruch z Internetu do portalu, jest kierowany poprzez F5 do dwóch bram dostępowych, natomiast przy ruchu z wewnątrz (Intranet), wykonywany jest NAT adresu internetowego bezpośrednio na F5. Rozwiązanie takie działa bez większych problemów (a jego konfiguracja nie nastręcza problemów), jednak zanim przejdziecie do wykonania kolejnych kroków, upewnijcie się, że wasza konfiguracja DNS (w tym FQDN gateway-va) są poprawne.

Wygenerowanie nowej maszyny gateway-va jest bardzo proste, wystarczy zalogować się poprzez ssh (jako root) do maszyny configurator-va, i wydać polecenie:

hznAdminTool addvm –type=GATEWAY –ip=172.18.60.144 (IP = adres nowej maszyny na podstawie nowego rekordu DNS)

gate1

Jak widać, częścią procesu jest wygenerowanie certyfikatu SSL dla maszyny. Jest to robione dokładnie tym samym skryptem, którym możemy sami ręcznie manipulować (generować i rozsyłać klucze i certyfikaty do maszyn). Całość procesu zamyka się w kilku minutach (dla dwóch nowych maszyn gateway-va). Wraz ze wzrostem obciążenia możemy dodawać kolejne maszyny, nowa powstaje zawsze jako klon ostatniej wygenerowanej.

Musimy też pamiętać, że w przypadku dostępu z Internetu, Identity Provider (IdP) musi być osiągalny też z Internetu. Co oznacza, że mamy do wyboru dwie metody. Metodę tradycyjną (domyślna instalacja Horizon Workspace) gdzie gateway-va jest jednocześnie IdP (wyłączamy wtedy opcję “Enable Redirect”):

idp1

idp2

Lub metodę drugą, w której generujemy dodatkową maszynę configurator-va, będącą IdP (włączamy “Enable Redirect”) która musi mieć poprawny adres FQDN (internetowy) i być dostępna dla gateway-va poprzez NAT lokalny (nie musi być tak naprawdę wystawiona do Internetu). Jak widać, dokładne przemyślenie architektury Horizon Workspace jest kluczowe dla późniejszego, prawidłowego działania całości.

W tym momencie możemy przejść do konfiguracji F5. W pierwszym kroku importujemy (System—>File Management—>SSL Certificate list) klucz i certyfikaty SSL naszej domeny (w tym przypadku certyfikat typu wildcard) oraz tworzymy nowy profil SSL:

pssl1

W labie używamy F5 w wersji 11.5.1 (build 2.0.121), jest to najnowsza wersja na tę chwilę, sporo się w niej pozmieniało jeśli chodzi o filozofię niektórych elementów. Dlatego tak jak na rysunku powyżej, łańcuch certyfikatów (chain) najlepiej jest zaimportować osobno (w stosunku do certyfikatu). Profil SSL tworzymy w sekcji Local trafic—>Profiles—>SSL:

pssl2

W sekcji Local trafic—>Polices—>Services—>HTTP tworzymy profil HTTP z włączonym X-forwared-For (bardzo ważne):

pssl3

W sekcji Local traffic—>Profiles—>Persistence tworzymy profil o nazwie Workspace w którym wydłużamy czas oczekiwania sesji SSL:

pssl4

W sekcji Local Trafic—>Nodes dodajemy po kolei nasze maszyny gateway-va:

pssl5

W sekcji Local trafic—>Pools tworzymy pulę z naszymi maszynami:

pssl6

W ostatnim kroku tworzymy wirtualny serwer z następującymi parametrami:

pssl7

pssl8

W efekcie końcowym otrzymamy prawidłowo działający load balancing dla Horizon Workspace:

pssl9

W następnym wpisie przedstawię balansowanie ruchem do serwerów Horizon View Connection Manager i spięcia całości z Horizon Workspace (dostęp do maszyny View poprzez protokół BLAST bezpośrednio z portalu Workspace).

English

Oceń ten artykuł:
[Total: 0 Average: 0]

Dodaj komentarz

Required fields are marked *.