معماری Horizon – قسمت سوم
- 21 خرداد |
- مهسا محمودی راد |
- مجازی سازی(Virtualization)

Network Ports
برای اطمینان از ارتباط صحیح بین Component ها، نحوه اتصال network port در پیادهسازی Horizon مهم است. راهنمای Network Ports در VMware Horizon جزییات بیشتری دارد و شامل diagramsهایی است که ترافیک را نشان میدهد. همچنین در این قسمت، بخشبندی و نمودارهای داخلی، خارجی وtunneled connections مشخص شده است.
Notes:
- network ports همه پورتهای مقصد را نشان میدهد.
- فلشها جهت شروع ترافیک (منبع تا مقصد) را نشان میدهد.
- Horizon UDP protocol ها دو طرفه هستند، بنابراینstateful firewall ها باید برای پذیرفتن پاسخ دیگرامهایUDP ، پیادهسازی شوند.
Internal Connections
نمودار زیر، پورتهای موردنیاز برای internal Blast Extreme connection را نشان میدهد.

نمودار زیر، پورتهای مورد نیاز برای internal PCoIP را نشان میدهد.

نمودار زیر، پورتهای مورد نیاز برای internal RDP را نشان میدهد.

External Connections
نمودار زیر، پورتهای مورد نیاز برای external Blast Extremeرا نشان میدهد.

نمودار زیر، پورتهای مورد نیاز برای external PCoIPرا نشان میدهد.

نمودار زیر، پورتهای مورد نیاز برای external RDPرا نشان میدهد.

Instant Clone Smart Provisioning
automated instant clone pool یا farm یک Golden image با استفاده از vSphere instant clone API ایجاد میکند. تکنولوژی Instant clone بعنوان فرآیندی برای ایجاد automated farms جایگزین View Composer linked clone در Horizon میشود.
Horizon، انواع مختلفی از internal VMs را ایجاد میکند (Internal Template, Replica VM, and Parent VM) تا این کلونها را به روش scalable مدیریت کند. Instant clones، دیسک مجازی replica VM را به اشتراک میگذارد به همین دلیلStorage کمتری نسبت به full vms دارند.
بعلاوه در instant clones ها زمانی که آنها برای اولین بار ایجاد می شوند،memory آن parent VM به اشتراک گذاشته میشوند که این کار کمک میکند تا تأمین آن سریعاً انجام شود. بعد از اینکه ازinstant clone VM تهیه شد ازMemory اضافه استفاده میشود و بعد از این ماجرا Clone دیگر به parent VM ارتباطی ندارد.

اگرچه استفاده از parent vm برای افزایش سرعت provisioning مفید است، اما استفاده از memory را در کل کلاستر افزایش می دهد. هنگامی که تعداد کمی از vm clone در هر host ، چه با desktop poolهای کوچک یا با RDS Host ، وجود دارد، این مورد مزیت داشتن memory بیشتر در افزایش سرعت provisioning را تایید مینماید. در اینجا، Horizon میتواند بهطور اتوماتیک انتخاب کند که instant cloneها را مستقیماً از Replica VM بدون ایجاد parent vm ارائه کند.
این ویژگی Smart Provisioning نام دارد. تفاوتهای اصلی عبارتند از:
- هیچیک از vms والد در میزبانهای vSphere ایجاد نمیشود.
- هر کلون یکSnap shot میتواند از vSphere بگیرد و بعد از آن میتواندRevert کند.

یکsingle instant clone pool یا farm میتواند هر دو instant clones را داشته باشد که هم میتواند parent VMs (mode A) یا بدون parent VMs (mode B) باشد که به صورت پیشفرض در زیر فهرست شده است، و هم میتواند در سطحPoor یاFarm ، override شود.
Instant clone pools و Farm با Parent VMS زمانی ایجاد می شوند که:
- تراکم بیشتر از 12 VMs در هر هاست در کلاستر معین شده است.
- Virtual Trusted Platform Module (VTPM) در حال استفاده است.
Instant clone وfarm بدونParent VM ایجاد میشوند که:
- تراکم کمتر یا برابر از 12 VMs در هر هاست در کلاستر معین شده است.
- Horizon بر روی Azure VMware Solution پیادهسازی شود.
- NVIDIA GRID vGPU در حال استفاده است.
- Pool در Linux VMs مورد استفاده است.
- vCenterو vSphereازنسخههای ترکیبی استفاده میکنند.
Authentication
روشهای گوناگونی برای احراز هویت کاربران در Horizon برای دسترس بهDesktop ها و published applications وجود دارد.
Workspace ONE Access Authentication
یکی از روشهای دسترسی به Horizon desktop وapplication ها از طریق Workspace ONE Access امکانپذیر است. برای فراهم کردنTrust دو طرفه، که برایsingle sign – on (sso) ضروری میباشد، این امر نیازمند یکپارچگی بینConnection server ها و Workspace ONE Access با استفاده از استاندارد SAML 2.0 است . هنگامیکه sso فعال است، کاربرانی که با Active Directory credentials برروی Workspace ONE Access لاگین میکنند میتوانند desktop ها وapplication ها را از راه دور و بدون نیاز به گذراندن مرحله دوم ورود به سیستم، راهاندازی کنند. اگرsso را به درستی تنظیم کنید، کاربران میتوانند از مکانیزمAuthentication به غیر از AD credentials استفاده کنند. استفاده ازAML Authentication را ملاحضه نمایید و تنظیمات True sso را مشاهده کنید.
هنگام تعریف SAML authenticator بر رویConnection Servers ، شما میتوانید authentication انتخاب کنید که آن فرمت برروی allowed و required تنظیم شود. در این زمانAllowed این امر را اختیاری میکند در حالی که required نیاز به استفاده SAML authentication source را فراهم میکند. هنگامیکهRequired را پیکربندی میکنید شما میتوانید Workspace را enable کنید که هرگونه تلاش برای authentication به workspace one هدایت شود.
Unified Access Gateway Authentication
Unified Access Gateway از multiple authentication محافظت میکند. برای مثال pass-through, RSA SecurID, RADIUS, SAML, and certificates, including smart cards. Pass-through authentication درخواست را به internal server و منابع ارسال میکند. انواع authentication های دیگری که Enable هستند authentication در Unified Access Gateway است، که قبل از عبور ترافیک از طریق منابع داخلی authenticate شود. همچنین برای احراز هویت کاربرانHorizon در برابر یکthird – party identity provider ، Unified Access Gateway بعنوان service provider (SP) میتوانید از SAML استفاده کنید. این امر از ورژنHorizon Connection Server 7.11 به بعد (Later) مورد نیاز است، و authenticationیوزرها باید از طریق Unified Access Gateway انجام شود.
Unified Access Gateway به صورت پیشفرض بر روی pass – through authentication است و هیچ متدadditional authentication برای Unified Access Gateway اجرا نخواهد شد. با این پیکربندی، راهاندازی منابعHorizon از Workspace ONE Access و استفاده از آن بعنوان user authentication point تسهیل میشود.
True SSO
بسیاری از گزینههای user authentication برای ورود بهHorizon در دسترس هستند، که شامل Unified Access Gateway یا Workspace ONE Access میشوند. Active Directory credentials یکی دیگر از گزینههای authentication است. بهطور معمول، استفاده از هر چیزی به غیر از AD credentials مانع از این میشود که یک کاربر بتواند بر روی Horizon virtual desktop یا published application لاگین کند. پس از اینکهdesktop یا published applicationرا از آنcatalog انتخاب کرد، کاربر باید مجدداً authenticate را تأیید کند، این بار با AD credentials.
True SSO بدون در نظر گرفتن مکانیزم authentication، SSO را برایHorizon Desktop ها و applications به کاربران ارائه میدهد. اگر کاربران با استفاده از Active Directory credentials، authenticates شوند، آن ویژگی True SSO ضرروی نیست، اما میتوانید True SSO را پیادهسازی کنید تا حتی در این مورد نیز استفاده شود، بنابراین اگر AD credentials برای کاربر نادیده گرفته شود در آن زمان SSO مورد استفاده قرار میگیرد.
در جایی که (Idp) Workspace ONE Identity Provider و Horizon Connection Server ارائه دهنده خدمات (SP) است، True SSOمیتوان از SAML استفاده کرد. این کار True SSO certificate های منحصر به فرد و کوتاه مدت را برای مدیریت login process تولید میکند.

True SSO Components
برای اینکه True SSO کار کند، چندین components باید در محیط نصب و پیکربندی شوند. این بخش موارد طراحی را مورد بحث قرار میدهد و جزئیات تصمیمات طراحی را که الزامات را برآورده میکند، توضیح میدهد.
Enrollment Server مسئول دریافت certificate signing requests (CSRs) از Connection Server ها است. سپسenrolment server ، CSRs ها را به Microsoft Certificate Authority منتقل میکند تا با استفاده از قالب مناسب، سرتیفیکیت امضا شود.
Enrollment Server یک سرویس سبک است که میتواند برروی Windows Server 2019 نصب شود، یا اینکه میتواند با MS Certificate Authority service همکاری کند و نمیتوان آن را برروی یک Connection Server قرار داد.
Load Balancing of Enrollment Servers
دو Enrollment Servers در این محیطDeploy شدند وconnection Server برای برقراری ارتباط باهر دو Enrollment Servers، Deploy شده و کانفیگ شدند. بصورت پیش فرض، Enrollment Servers از روش Active / failover برای Load Balance استفاده میکنند. همچنین توصیه میشود Enrollment Server ها را برای دسترسی به قابلیت high availability، در هر Pod، به صورت چرخشی تغییر دهید.
True SSO Scalability
single Enrollment Server میتواند تمام درخواستها را از single Horizon pod مدیریت (Handle) کند. فاکتور محدودکننده معمولاًCertificate Authority (CA) است. single CA میتواند حدود 70 certificates در هر ثانیه generate کند. (براساس single vCPU). هنگامی که چندین vCPUs بهCA VM تخصیص داده میشود، معمولاً میزان آن به بیش از 100 افزایش پیدا میکند. برای اطمینان از دسترسی، یک second Enrollment Server باید در هر Pod (N+1 ) Deploy شود. علاوه براین، این اطمینان را میدهد که certificate authority service بصورت highly available توسعه یافته است.

با دو Enrollment Servers و برای دستیابی به high availability، توصیه میشود:
- Co – host the Enrollment Server service با Certificate Authority service روی یک ماشین.
- Enrollment Server را کانفیگ کنید تا از سرویس Certificate Authority استفاده کنید.
- Connection Serverها به درخواستLoad Balance بین دو Enrollment Server، ارتباط برقرار میکند.
نکته:
- دو Enrollment Servers به ازای هر Pod مستقر شدند.
- Enrollment Server بر روی Windows Server 2019 VMs که در شبکه داخلی قرار دارد، اجرا شدند.
- همچنین این سرورهاMicrosoft Certificate Authority service را دارند.
- یک Enrollment Server قادر به پشتیبانی از یک Pod در 12000،session است.
- سرور دومavailability (n+1) فراهم میکند.

Active Directory Domains
True SSOدر محیطهای single domain و باDomain متعدد ساپورت میشوند با توجه به این که بینDomain ها باید Trust دو طرفه وجود داشته باشد. به مثال زیر که دارای دو domain trees است و Active Directoryرا نشان میدهد و در داخل یک active directory forest هستند، نگاهی بیاندازید. هر کدام از این Domain tree ها در بین همه ادمینهایی که داخل Tree هستند ارتباط transitive trusts دارند. بعلاوه Tree Domain 1 وx ارتباط Trust دو طرفه دارند و ارتباط Trust transitive بین همه برقرار است. True SSO در این سناریو پشتیبانی میشود وEnrollment Server ها را میتوان در Domain قرار دارد.

نگاهی به مثال دیگری می اندازیم که شامل دو forest directory فعال است. هر کدام از forestها شامل directory domain treeهای فعال خود هستند. در هر یک از forest ها، هر یک از domain tree ها دارای transitive trusts بین همه domain های tree است. علاوه بر این، دو forest دارای اعتماد two – way (دو طرفه) و در سطح forest – level هستند. Enrollment Server ها را میتوان در هر domain از هر forest قرار داد.

کاربرانی که به یک دامنه untrusted تعلق دارند میتوانند از SSO True استفاده کنند.
Scaled Single Site Architecture
نمودارهای زیر اجزای سرور و logical architecture برای یک single – site deployment of Horizon است. برای شفافیتسازی، تمرکز در این نمودار به منظور نشاندادن اجزای core Horizon server است. بنابراین شاملadditional and optional components مانند App Volumes , Dynamic Environment Manager, and Workspace ONE Access نمیباشد.

ادامه مطلب را در معماری Horizon – قسمت چهارم مشاهده بفرمایید.