{"id":1014,"date":"2014-05-29T13:37:00","date_gmt":"2014-05-29T11:37:00","guid":{"rendered":"http:\/\/vm.piszki.pl\/horizon-workspace-balansowanie-ruchem-za-pomoc%c4%85-big-ip-f5"},"modified":"2014-06-04T09:28:36","modified_gmt":"2014-06-04T07:28:36","slug":"horizon-workspace-balansowanie-ruchem-za-pomoc%c4%85-big-ip-f5","status":"publish","type":"post","link":"https:\/\/vm.piszki.pl\/?p=1014","title":{"rendered":"Horizon Workspace: Balansowanie ruchem za pomoc\u0105 BIG-IP F5"},"content":{"rendered":"<p align=\"justify\">Przygotowanie odpornej na awarie instalacji Horizon Workspace 1.8, wymaga\u0142o na pocz\u0105tku stworzenia klastra bazodanowego, zbudowanego na bazie <a href=\"https:\/\/vm.piszki.pl\/horizon-workspace-wysokodostepny-klaster-bazodanowy-oparty-o-vpostgres\/\">pgPool i vPostgres<\/a>. W kolejnym kroku zwielokrotnimy maszyny dost\u0119powe (gateway-va) i zbudujemy odpowiedni\u0105 konfiguracj\u0119 balansuj\u0105c\u0105 ruchem pomi\u0119dzy nimi z wykorzystaniem BIG-IP F5. W takim przypadku F5 odpowiada te\u017c za ca\u0142\u0105 sfer\u0119 bezpiecze\u0144stwa (opisywane w tym po\u015bcie rozwi\u0105zanie pochodzi z naszego Laba i jest oparte na dw\u00f3ch <a href=\"https:\/\/vm.piszki.pl\/big-ip-f5-virtual-edition-nowa-cena-licencji-laboratoryjnej\/\">BIG-IP F5 VE<\/a> (czyli ca\u0142kowicie zwirtualizowane)). Je\u015bli jednak nie dysponujemy F5 LTM, mo\u017cemy u\u017cy\u0107 do balansowania <a href=\"http:\/\/myvirtualife.net\/2013\/08\/24\/balancing-multiple-horizon-workspace-gateway-va-with-haproxy\/\">Proxy-HA<\/a> a bezpiecze\u0144stwo przerzuci\u0107 na inne warstwy (np. <a href=\"https:\/\/vm.piszki.pl\/trend-micro-deep-security\/\">Trend Micro Deep Security<\/a>).<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/f5-3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"f5-3\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/f5-3_thumb.png\" alt=\"f5-3\" width=\"404\" height=\"170\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Jak wida\u0107 na schemacie, ruch z Internetu do portalu, jest kierowany poprzez F5 do dw\u00f3ch bram dost\u0119powych, natomiast przy ruchu z wewn\u0105trz (Intranet), wykonywany jest NAT adresu internetowego bezpo\u015brednio na F5. Rozwi\u0105zanie takie dzia\u0142a bez wi\u0119kszych problem\u00f3w (a jego konfiguracja nie nastr\u0119cza problem\u00f3w), jednak zanim przejdziecie do wykonania kolejnych krok\u00f3w, upewnijcie si\u0119, \u017ce wasza konfiguracja DNS (w tym FQDN gateway-va) s\u0105 <a href=\"https:\/\/vm.piszki.pl\/horizon-workspace-fqdn-i-certyfikaty-ssl-przy-dostepie-z-internetu\/\">poprawne<\/a>.<\/p>\n<p><!--more--><\/p>\n<p align=\"justify\">Wygenerowanie nowej maszyny gateway-va jest bardzo <a href=\"http:\/\/pubs.vmware.com\/horizon-workspace-15\/index.jsp#com.vmware.hs-install.doc_15\/GUID-A37EA024-743D-468C-BFFF-F103E7877E79.html\">proste<\/a>, wystarczy zalogowa\u0107 si\u0119 poprzez ssh (jako root) do maszyny configurator-va, i wyda\u0107 polecenie:<\/p>\n<p align=\"justify\">hznAdminTool addvm &#8211;type=GATEWAY &#8211;ip=172.18.60.144 (IP = adres nowej maszyny na podstawie nowego rekordu DNS)<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/gate1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"gate1\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/gate1_thumb.png\" alt=\"gate1\" width=\"453\" height=\"353\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Jak wida\u0107, cz\u0119\u015bci\u0105 procesu jest wygenerowanie certyfikatu SSL dla maszyny. Jest to robione dok\u0142adnie tym samym <a href=\"https:\/\/vm.piszki.pl\/certyfikaty-ssl-w-horizon-workspace\/\">skryptem<\/a>, kt\u00f3rym mo\u017cemy sami r\u0119cznie manipulowa\u0107 (generowa\u0107 i rozsy\u0142a\u0107 klucze i certyfikaty do maszyn). Ca\u0142o\u015b\u0107 procesu zamyka si\u0119 w kilku minutach (dla dw\u00f3ch nowych maszyn gateway-va). Wraz ze wzrostem obci\u0105\u017cenia mo\u017cemy dodawa\u0107 kolejne maszyny, nowa powstaje zawsze jako klon ostatniej wygenerowanej.<\/p>\n<p align=\"justify\">Musimy te\u017c pami\u0119ta\u0107, \u017ce w przypadku dost\u0119pu z Internetu, Identity Provider (IdP) musi by\u0107 osi\u0105galny te\u017c z Internetu. Co oznacza, \u017ce mamy do wyboru dwie metody. Metod\u0119 tradycyjn\u0105 (domy\u015blna instalacja Horizon Workspace) gdzie gateway-va jest jednocze\u015bnie IdP (wy\u0142\u0105czamy wtedy opcj\u0119 \u201cEnable Redirect\u201d):<\/p>\n<p align=\"justify\"><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/idp1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"idp1\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/idp1_thumb.png\" alt=\"idp1\" width=\"417\" height=\"153\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\"><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/idp2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"idp2\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/idp2_thumb.png\" alt=\"idp2\" width=\"403\" height=\"104\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">Lub metod\u0119 drug\u0105, w kt\u00f3rej generujemy dodatkow\u0105 maszyn\u0119 configurator-va, b\u0119d\u0105c\u0105 IdP (w\u0142\u0105czamy \u201cEnable Redirect\u201d) kt\u00f3ra musi mie\u0107 poprawny adres FQDN (internetowy) i by\u0107 dost\u0119pna dla gateway-va poprzez NAT lokalny (nie musi by\u0107 tak naprawd\u0119 wystawiona do Internetu). Jak wida\u0107, dok\u0142adne przemy\u015blenie architektury Horizon Workspace jest <a href=\"http:\/\/www.jasongaudreau.com\/2013\/08\/horizon-workspace-15-design.html\">kluczowe<\/a> dla p\u00f3\u017aniejszego, prawid\u0142owego dzia\u0142ania ca\u0142o\u015bci.<\/p>\n<p align=\"justify\">W tym momencie mo\u017cemy przej\u015b\u0107 do konfiguracji F5. W pierwszym kroku importujemy (System\u2014&gt;File Management\u2014&gt;SSL Certificate list) klucz i certyfikaty SSL naszej <a href=\"https:\/\/vm.piszki.pl\/horizon-workspace-fqdn-i-certyfikaty-ssl-przy-dostepie-z-internetu\/\">domeny<\/a> (w tym przypadku certyfikat typu <a href=\"https:\/\/vm.piszki.pl\/horizon-workspace-manualna-analiza-lancucha-certyfikatow\/\">wildcard<\/a>) oraz tworzymy nowy profil SSL:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"pssl1\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl1_thumb.png\" alt=\"pssl1\" width=\"462\" height=\"75\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">W labie u\u017cywamy F5 w wersji 11.5.1 (build 2.0.121), jest to najnowsza wersja na t\u0119 chwil\u0119, sporo si\u0119 w niej pozmienia\u0142o je\u015bli chodzi o filozofi\u0119 niekt\u00f3rych element\u00f3w. Dlatego tak jak na rysunku powy\u017cej, \u0142a\u0144cuch certyfikat\u00f3w (chain) najlepiej jest zaimportowa\u0107 osobno (w stosunku do certyfikatu). Profil SSL tworzymy w sekcji Local trafic\u2014&gt;Profiles\u2014&gt;SSL:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl2.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"pssl2\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl2_thumb.png\" alt=\"pssl2\" width=\"460\" height=\"280\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">W sekcji Local trafic\u2014&gt;Polices\u2014&gt;Services\u2014&gt;HTTP tworzymy profil HTTP z w\u0142\u0105czonym X-forwared-For (bardzo wa\u017cne):<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"pssl3\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl3_thumb.png\" alt=\"pssl3\" width=\"462\" height=\"262\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">W sekcji Local traffic\u2014&gt;Profiles\u2014&gt;Persistence tworzymy profil o nazwie Workspace w kt\u00f3rym wyd\u0142u\u017camy czas oczekiwania sesji SSL:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl4.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"pssl4\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl4_thumb.png\" alt=\"pssl4\" width=\"452\" height=\"119\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">W sekcji Local Trafic\u2014&gt;Nodes dodajemy po kolei nasze maszyny gateway-va:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl5.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"pssl5\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl5_thumb.png\" alt=\"pssl5\" width=\"453\" height=\"247\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">W sekcji Local trafic\u2014&gt;Pools tworzymy pul\u0119 z naszymi maszynami:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl6.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"pssl6\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl6_thumb.png\" alt=\"pssl6\" width=\"448\" height=\"97\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">W ostatnim kroku tworzymy wirtualny serwer z nast\u0119puj\u0105cymi parametrami:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl7.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"pssl7\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl7_thumb.png\" alt=\"pssl7\" width=\"446\" height=\"827\" border=\"0\" \/><\/a><\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl8.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"pssl8\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl8_thumb.png\" alt=\"pssl8\" width=\"443\" height=\"168\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">W efekcie ko\u0144cowym otrzymamy prawid\u0142owo dzia\u0142aj\u0105cy load balancing dla Horizon Workspace:<\/p>\n<p><a href=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl9.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border-width: 0px;\" title=\"pssl9\" src=\"https:\/\/vm.piszki.pl\/wp-content\/uploads\/2014\/05\/pssl9_thumb.png\" alt=\"pssl9\" width=\"186\" height=\"82\" border=\"0\" \/><\/a><\/p>\n<p align=\"justify\">W nast\u0119pnym wpisie przedstawi\u0119 balansowanie ruchem do serwer\u00f3w Horizon View Connection Manager i spi\u0119cia ca\u0142o\u015bci z Horizon Workspace (dost\u0119p do maszyny View poprzez protok\u00f3\u0142 BLAST bezpo\u015brednio z portalu Workspace).<\/p>\n<p align=\"justify\"><a href=\"http:\/\/lab.piszki.pl\/big-ip-f5-and-multiple-gateway-va\/\">English<\/a><\/p>\n<div style='text-align:left' class='yasr-auto-insert-visitor'><\/div>","protected":false},"excerpt":{"rendered":"<p>Przygotowanie odpornej na awarie instalacji Horizon Workspace 1.8, wymaga\u0142o na pocz\u0105tku stworzenia klastra bazodanowego, zbudowanego na bazie pgPool i vPostgres. W kolejnym kroku zwielokrotnimy maszyny dost\u0119powe (gateway-va) i zbudujemy odpowiedni\u0105 konfiguracj\u0119 balansuj\u0105c\u0105 ruchem pomi\u0119dzy nimi z wykorzystaniem BIG-IP F5. W &hellip; <a href=\"https:\/\/vm.piszki.pl\/?p=1014\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1525,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"yasr_overall_rating":0,"yasr_post_is_review":"","yasr_auto_insert_disabled":"","yasr_review_type":"","footnotes":""},"categories":[45],"tags":[33,5,43],"class_list":["post-1014","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-poradniki","tag-big-ip","tag-horizon-workspace","tag-vpostgres"],"yasr_visitor_votes":{"stars_attributes":{"read_only":false,"span_bottom":false},"number_of_votes":0,"sum_votes":0},"_links":{"self":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts\/1014"}],"collection":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1014"}],"version-history":[{"count":5,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts\/1014\/revisions"}],"predecessor-version":[{"id":1091,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/posts\/1014\/revisions\/1091"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=\/wp\/v2\/media\/1525"}],"wp:attachment":[{"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1014"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1014"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vm.piszki.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}