برنامه نویسی

تعادل بار 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
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

تست راه اندازی

  1. DNS را که به GTM حل می شود آزمایش کنید
# DNS Resolution
dig api.pmpcn.com
OR
# CNAME Resolution
nslookup api.pmpcn.com
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

api.pmpcn.com باید به gtm.pmpcn.com (CNAME) حل شود

  1. تست GTM در LTMS
dig gtm.pmpcn.com
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. اتصال 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 8443

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)

  1. سوابق DNS را ایجاد کنید که FQDN ها را به IP های VIP خود نشان می دهد
نام میزبان نوع مقدار (VIP IP)
dc1-ltm.pmpcn.com بوها 10.0.0.100
dc2-ltm.pmpcn.com بوها 10.0.0.101
  1. گواهینامه های SSL را برای این FQDN ها از یک CA قابل اعتماد دریافت کنید.
  2. 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.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا