تعادل بار F5 – جامعه dev

VM های واقع در مرکز داده های مختلف
┌──────────────────────────┐
│ Client │
└────────────┬─────────────┘
│
▼
DNS Request: pmpcn.com
│
▼
┌────────────────────┐
│ F5 GTM (DNS) │
└───────┬────────────┘
│
┌────────────────────┴────────────────────┐
▼ ▼
┌────────────────────┐ ┌────────────────────┐
│ F5 LTM - DC1 │ │ F5 LTM - DC2 │
│ VIP: 10.0.0.100:8443│ │ VIP: 10.0.1.100:8443│
└─────────┬──────────┘ └─────────┬──────────┘
│ │
┌──────┴──────┐ ┌──────┴──────┐
▼ ▼ ▼ ▼
┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐
│ VM1 │ │ VM2 │ │ VM3 │ │ VM4 │
│ Java │ │ Java │ │ Java │ │ Java │
│ App │ │ App │ │ App │ │ App │
│ :8443 │ │ :8443 │ │ :8443 │ │ :8443 │
└────────┘ └────────┘ └────────┘ └────────┘
VM در همان مرکز داده
┌──────────────────────────┐
│ Client │
└────────────┬─────────────┘
│
DNS Request: pmpcn.com
│
▼
┌────────────────────┐
│ F5 LTM (VIP) │
│ 10.0.0.100:8443 │
└─────────┬──────────┘
│
┌────────────┴────────────┐
▼ ▼
┌────────────┐ ┌────────────┐
│ VM1 │ │ VM2 │
│ Java App │ │ Java App │
│ :8443 │ │ :8443 │
└────────────┘ └────────────┘
Client
↓
DNS request (pmpcn.com)
↓
F5 GTM (optional, DNS-level routing)
↓
F5 LTM (VIP: 10.0.0.100:8443)
|
+--> VM1 (Java App 1:8443)
|
+--> VM2 (Java App 2:8443)
از مشتری به برنامه برای VM ها در DC های مختلف جریان دهید
User accesses: https://api.pmpcn.com
↓
DNS lookup: api.pmpcn.com (CNAME → gtm.pmpcn.com)
↓
F5 GTM resolves → dc1-ltm.pmpcn.com or dc2-ltm.pmpcn.com
↓
VIP: 10.0.0.100:8443 (DC1) or 10.1.0.100:8443 (DC2)
↓
Load balanced to: VM1 or VM2 in that DC on port 8443
تست راه اندازی
- DNS را که به GTM حل می شود آزمایش کنید
# DNS Resolution
dig api.pmpcn.com
OR
# CNAME Resolution
nslookup api.pmpcn.com
api.pmpcn.com باید به gtm.pmpcn.com (CNAME) حل شود
- تست GTM در LTMS
dig gtm.pmpcn.com
- اتصال LTM را آزمایش کنید
ping
nc -vz 8443
curl -vk https://:8443/actuator/health
خلاصه دستورات
هدف | نمونه فرمان |
---|---|
وضوح DNS | dig api.pmpcn.com |
وضوح CNAME | nslookup api.pmpcn.com |
تست GTM FQDN | dig gtm.pmpcn.com |
آزمایش LTM FQDN | dig dc1-ltm.pmpcn.com |
تست بندر به VIP | nc -vz api.pmpcn.com 8443 |
اعتبار سنجی گواهینامه SSL | openssl s_client -connect api.pmpcn.com:8443 |
API سلامت پس زمینه | curl -vk https://api.pmpcn.com/actuator/health |
مسیر ردیابی | traceroute api.pmpcn.com |
بررسی با باطن مستقیم | telnet |
Telnet (فقط برای بررسی بندر اساسی)
این اتصال TCP به یک میزبان و درگاه را آزمایش می کند ، HTTP یا HTTPS را درک نمی کند:
telnet api.pmpcn.com 8443
CURL (برای درخواست HTTPS واقعی)
این پاسخ HTTP را از برنامه شما بررسی می کند ، از جمله TLS Handshake:
curl -vk https://api.pmpcn.com:8443
-V: Verbose (نشان می دهد هدر)
-K: اعتبار سنجی گواهینامه SSL (در صورت گواهی خود امضا شده مفید است)
خلاصه
عمل | از این دستور استفاده کنید |
---|---|
بررسی کنید که آیا پورت 8443 باز است | telnet api.pmpcn.com 8443 |
ارسال درخواست https | curl -vk https://api.pmpcn.com:8443 |
سلامت خاص API را بررسی کنید | curl -vk https://api.pmpcn.com:8443/actuator/health |
پیکربندی گواهینامه های SSL
جزء | گواهینامه SSL مورد نیاز است؟ | جزئیات |
---|---|---|
GTM | معمولاً هیچ | GTM عمدتا DNS را کنترل می کند ، نه خاتمه SSL. |
LTM VIP | بله | LTM معمولاً SSL را برای خدمات عمومی شما خاتمه می دهد. |
VMS باکند | اختیاری (بله یا خیر) | بستگی به این دارد که آیا LTM خاتمه SSL را انجام می دهد یا از آن عبور می کند. |
URL مشتری | بله (در LTM VIP) | این گواهی باید با استفاده از مشتریان FQDN عمومی مطابقت داشته باشد (به عنوان مثال ، api.pmpcn.com ) |
چه چیزی را تأمین کنیم | نحوه نامگذاری آن | روش تهیه گواهینامه |
---|---|---|
گواهینامه VIP SSL | از fqdn استفاده کنید ، نه IP | CA عمومی برای گواهی دامنه |
حوزه خدمات عمومی | fqdn (به عنوان مثال ، api.pmpcn.com) | CA عمومی یا CA داخلی |
Backend VMS (اختیاری) | به معماری شما بستگی دارد | CA داخلی یا گواهینامه خود امضا شده |
مراحل تنظیم SSL برای LTM (VIPS)
- سوابق DNS را ایجاد کنید که FQDN ها را به IP های VIP خود نشان می دهد
نام میزبان | نوع | مقدار (VIP IP) |
---|---|---|
dc1-ltm.pmpcn.com |
بوها | 10.0.0.100 |
dc2-ltm.pmpcn.com |
بوها | 10.0.0.101 |
- گواهینامه های SSL را برای این FQDN ها از یک CA قابل اعتماد دریافت کنید.
- VIP های LTM خود را برای استفاده از این گواهینامه های FQDN برای خاتمه SSL پیکربندی کنید.
URL خدمات عمومی شما (به عنوان مثال ، api.pmpcn.com) باید یک CNAME باشد که در نهایت به GTM شما برطرف می شود ، که سپس به LTM VIP FQDNS/IPS می رود.
خاتمه SSL در LTM (VM های با پس زمینه به SSL احتیاج ندارند)
- LTM VIP دارای گواهی SSL برای FQDN عمومی شما (api.pmpcn.com) است.
- LTM SSL را رمزگشایی می کند ، HTTP ساده (یا HTTPS) را به سمت VM های پشتوانه جلوه می دهد.
- اگر ترافیک HTTP باشد ، VM های باکند به گواهینامه احتیاج ندارند ، یا در صورت استفاده از HTTPS در داخل می توانند دارای گواهینامه های خود امضا شوند.
SSL PASTHROUGH (BABAND VMS باید SSL داشته باشد)
- LTM ترافیک رمزگذاری شده SSL را به VM های پشتی بدون رمزگشایی منتقل می کند.
- VM های باکند باید دارای گواهینامه های SSL باشند که FQDN (معمولاً نام میزبان خودشان) باشد.
- GTM هنوز SSL را انجام نمی دهد ، فقط DNS.