<
  • Главная
Статьи

Використання декількох зовнішніх інтерфейсів Azure Load Balancer

  1. Тип правил 1: внутрішні порти повторно не використовуються Rule type # 1: No backend port reuse
  2. Тип правил 2: внутрішні порти використовуються повторно за допомогою плаваючого IP-адреси Rule type...
  3. обмеження Limitations
  4. Подальші дії Next steps

Azure Load Balancer дозволяє виконувати балансування навантаження між службами на декількох портах, декількох IP-адреси або обома цими способами. Azure Load Balancer allows you to load balance services on multiple ports, multiple IP addresses, or both. Ви можете скористатися визначеннями загальнодоступного і внутрішнього балансувальника навантаження для виконання балансування потоків в наборі віртуальних машин. You can use public and internal load balancer definitions to load balance flows across a set of VMs.

У цій статті описуються основні принципи даної функції, важливі поняття і обмеження. This article describes the fundamentals of this ability, important concepts, and constraints. Якщо ви збираєтеся розміщувати служби тільки на одному IP-адресу, то см. Спрощені інструкції для налаштування загальнодоступного або внутрішнього Балансувальник навантаження. If you only intend to expose services on one IP address, you can find simplified instructions for public or internal load balancer configurations. Додавання кількох зовнішніх інтерфейсів є дією, що доповнює конфігурацію з одним зовнішнім інтерфейсом. Adding multiple frontends is incremental to a single frontend configuration. За допомогою принципів, викладених у цій статті, можна в будь-який момент розширити спрощену конфігурацію. Using the concepts in this article, you can expand a simplified configuration at any time.

При визначенні Azure Load Balancer інтерфейсний і внутрішній пули зв'язуються правилами. When you define an Azure Load Balancer, a frontend and a backend pool configuration are connected with rules. Проба працездатності, на яку посилається правило, дозволяє визначити, як нові потоки направляються на вузол у внутрішньому пулі. The health probe referenced by the rule is used to determine how new flows are sent to a node in the backend pool. Зовнішній інтерфейс (віртуальний IP-адреса) визначається за допомогою поєднання 3-кортежів: IP-адреси (загальнодоступного або внутрішнього), транспортного протоколу (UDP або TCP) і номера порту з правила балансування навантаження. The frontend (aka VIP) is defined by a 3-tuple comprised of an IP address (public or internal), a transport protocol (UDP or TCP), and a port number from the load balancing rule. Внутрішній пул - це сукупність IP-конфігурацій віртуальних машин (частина ресурсу мережевого адаптера), які посилаються на внутрішній пул Load Balancer. The backend pool is a collection of Virtual Machine IP configurations (part of the NIC resource) which reference the Load Balancer backend pool.

У наступній таблиці наведено деякі приклади інтерфейсних конфігурацій: The following table contains some example frontend configurations:

Зовнішній інтерфейс Frontend IP-адреса IP address protocol protocol port port 1 + 1 65.52.0.1 65.52.0.1 TCP TCP 80 80 2 + 2 65.52.0.1 65.52.0.1 TCP TCP 8080 8080 3 3 65.52.0.1 65.52.0.1 UDP UDP 80 80 4. 4 65.52.0.2 65.52.0.2 TCP TCP 80 80

У таблиці представлені чотири різних зовнішніх інтерфейсу. The table shows four different frontends. Зовнішні інтерфейси 1, 2 і 3 - це один зовнішній інтерфейс з декількома правилами. Frontends # 1, # 2 and # 3 are a single frontend with multiple rules. Надається лише одна IP-адреса, але порт або протокол відрізняються для кожного зовнішнього інтерфейсу. The same IP address is used but the port or protocol is different for each frontend. Зовнішні інтерфейси 1 і 4 є прикладами кількох зовнішніх інтерфейсів, де один інтерфейсний протокол і один порт повторно використовуються для різних зовнішніх інтерфейсів. Frontends # 1 and # 4 are an example of multiple frontends, where the same frontend protocol and port are reused across multiple frontends.

Azure Load Balancer забезпечує гнучкість при визначенні правил балансування навантаження. Azure Load Balancer provides flexibility in defining the load balancing rules. Правило оголошує, яким чином адреса і порт в зовнішньому інтерфейсі зіставляються з адресою і портом призначення в серверній частині. A rule declares how an address and port on the frontend is mapped to the destination address and port on the backend. Чи будуть внутрішні порти повторно використовуватися в декількох правилах залежить від типу правил. Whether or not backend ports are reused across rules depends on the type of the rule. Кожен тип правил має певні вимоги, які можуть вплинути на конфігурацію вузла і конструкцію проби. Each type of rule has specific requirements that can affect host configuration and probe design. Існує два типи правил: There are two types of rules:

  1. Правило за замовчуванням, в якому внутрішні порти повторно не використовуються. The default rule with no backend port reuse
  2. Правило плаваючого IP-адреси, в якому внутрішні порти використовуються повторно. The Floating IP rule where backend ports are reused

Azure Load Balancer дозволяє поєднувати обидва типи правил в одній конфігурації балансувальника навантаження. Azure Load Balancer allows you to mix both rule types on the same load balancer configuration. Балансувальник навантаження може використовувати їх одночасно для певної віртуальної машини або в будь-якій комбінації; головне, щоб дотримувалися обмеження правила. The load balancer can use them simultaneously for a given VM, or any combination, as long as you abide by the constraints of the rule. Вибір типу правил залежить від вимог вашого застосування і складності підтримки створеної конфігурації. Which rule type you choose depends on the requirements of your application and the complexity of supporting that configuration. Слід оцінити, які типи правил краще підходять для конкретного сценарію. You should evaluate which rule types are best for your scenario.

Ми розглянемо можливі сценарії далі в цій статті, а почнемо з поведінки за замовчуванням. We explore these scenarios further by starting with the default behavior.

Тип правил 1: внутрішні порти повторно не використовуються Rule type # 1: No backend port reuse

Тип правил 1: внутрішні порти повторно не використовуються Rule type # 1: No backend port reuse

У цьому сценарії зовнішні інтерфейси налаштовані таким чином: In this scenario, the frontends are configured as follows:

Виділений IP-адреса (DIP) - це призначення вхідного потоку. The DIP is the destination of the inbound flow. У внутрішньому пулі кожна віртуальна машина розміщує потрібну службу на унікальному порте в DIP. In the backend pool, each VM exposes the desired service on a unique port on a DIP. Ця служба зв'язується із зовнішнім інтерфейсом за допомогою визначення правил. This service is associated with the frontend through a rule definition.

Ми визначимо два правила: We define two rules:

Повний зіставлення в Azure Load Balancer тепер виглядає наступним чином: The complete mapping in Azure Load Balancer is now as follows:

Кожне правило має створювати потік з унікальним поєднанням кінцевого IP-адреси і кінцевого порту. Each rule must produce a flow with a unique combination of destination IP address and destination port. Змінивши кінцевий порт потоку, можна за допомогою декількох правил направити потоки на один DIP на різних портах. By varying the destination port of the flow, multiple rules can deliver flows to the same DIP on different ports.

Проби працездатності завжди спрямовані на DIP віртуальної машини. Health probes are always directed to the DIP of a VM. Переконайтеся, що проба відображає стан працездатності віртуальної машини. You must ensure you that your probe reflects the health of the VM.

Тип правил 2: внутрішні порти використовуються повторно за допомогою плаваючого IP-адреси Rule type # 2: backend port reuse by using Floating IP

Azure Load Balancer забезпечує гнучкість, дозволяючи повторно використовувати інтерфейсний порт на декількох зовнішніх інтерфейсах незалежно від того, який тип правил використовується. Azure Load Balancer provides the flexibility to reuse the frontend port across multiple frontends regardless of the rule type used. Крім того, в деяких сценаріях додатків використання одного порту декількома екземплярами додатки на одній віртуальній машині у внутрішньому пулі є кращим або обов'язковим. Additionally, some application scenarios prefer or require the same port to be used by multiple application instances on a single VM in the backend pool. До поширених прикладів повторного використання портів відносяться віртуальні мережеві пристрої, кластеризація для забезпечення високої доступності та розміщення кількох кінцевих точок TLS без повторного шифрування. Common examples of port reuse include clustering for high availability, network virtual appliances, and exposing multiple TLS endpoints without re-encryption.

Якщо ви хочете, щоб внутрішній порт повторно використовувався в декількох правилах, то у визначенні правила необхідно активувати плаваючий IP-адреса. If you want to reuse the backend port across multiple rules, you must enable Floating IP in the rule definition.

Відповідно до термінології Azure, плаваючий IP-адреса - це частина методу, відомого як пряму відповідь від сервера (DSR). "Floating IP" is Azure's terminology for a portion of what is known as Direct Server Return (DSR). DSR складається з двох частин: топології потоку і схеми зіставлення IP-адрес. DSR consists of two parts: a flow topology and an IP address mapping scheme. На рівні платформи Azure Load Balancer завжди працює в топології потоку DSR незалежно від того, активований чи плаваючий IP-адреса. At a platform level, Azure Load Balancer always operates in a DSR flow topology regardless of whether Floating IP is enabled or not. Це означає, що виходить частина потоку завжди правильно перезаписується в потік безпосередньо назад в джерело. This means that the outbound part of a flow is always correctly rewritten to flow directly back to the origin.

Для зручності застосування Azure надає традиційну схему зіставлення IP-адрес балансування навантаження, використовуючи тип правил за замовчуванням. With the default rule type, Azure exposes a traditional load balancing IP address mapping scheme for ease of use. Активація плаваючого IP-адреси змінює схему зіставлення IP-адрес для забезпечення додаткової гнучкості, як описано нижче. Enabling Floating IP changes the IP address mapping scheme to allow for additional flexibility as explained below.

Ця конфігурація представлена ​​на наступній схемі: The following diagram illustrates this configuration:

У цьому сценарії кожна віртуальна машина у внутрішньому пулі має три мережевих інтерфейсу: For this scenario, every VM in the backend pool has three network interfaces:

  • DIP: віртуальна мережева карта, пов'язана з віртуальною машиною (IP-конфігурація ресурсу мережевої карти Azure). DIP: a Virtual NIC associated with the VM (IP configuration of Azure's NIC resource)
  • Зовнішній інтерфейс 1: інтерфейс замикання на себе в гостьовій ОС, налаштованою з IP-адресою зовнішнього інтерфейсу 1. Frontend 1: a loopback interface within guest OS that is configured with IP address of Frontend 1
  • Зовнішній інтерфейс 2: інтерфейс замикання на себе в гостьовій ОС, налаштованою з IP-адресою зовнішнього інтерфейсу 2. Frontend 2: a loopback interface within guest OS that is configured with IP address of Frontend 2

Важливо!

Налаштування інтерфейсів замикання на себе виконується в гостьовій ОС. The configuration of the loopback interfaces is performed within the guest OS. Ця установка не виконується і не управляється Azure. This configuration is not performed or managed by Azure. Без цієї настройки правила не будуть функціонувати. Without this configuration, the rules will not function. Визначення проб працездатності використовують виділений IP-адреса (DIP) віртуальної машини, а не інтерфейс замикання на себе, що представляє інтерфейс з прямою відповіддю від сервера. Health probe definitions use the DIP of the VM rather than the loopback interface representing the DSR Frontend. Тому служба повинна надати на порте DIP відповіді проб, які відображають стан служби, пропоноване на інтерфейсі замикання на себе, що представляє інтерфейс з прямою відповіддю від сервера. Therefore, your service must provide probe responses on a DIP port that reflect the status of the service offered on the loopback interface representing the DSR Frontend.

Припустимо, що інтерфейсна конфігурація така ж, як в попередньому сценарії: Let's assume the same frontend configuration as in the previous scenario:

Ми визначимо два правила: We define two rules:

Наступна таблиця демонструє повне зіставлення в балансувальник навантаження: The following table shows the complete mapping in the load balancer:

Місцем призначення вхідного потоку є інтерфейсний IP-адреса в інтерфейсі замикання на себе на віртуальній машині. The destination of the inbound flow is the frontend IP address on the loopback interface in the VM. Кожне правило має створювати потік з унікальним поєднанням кінцевого IP-адреси і кінцевого порту. Each rule must produce a flow with a unique combination of destination IP address and destination port. Змінивши кінцевий IP-адреса потоку, можна дозволити повторне використання портів на одній віртуальній машині. By varying the destination IP address of the flow, port reuse is possible on the same VM. Служба надається балансувальник навантаження через прив'язку до багатофункціонального IP-адресою і порту відповідного інтерфейсу замикання на себе. Your service is exposed to the load balancer by binding it to the frontend's IP address and port of the respective loopback interface.

Зверніть увагу, що в цьому прикладі не змінюється кінцевий порт. Notice that this example does not change the destination port. Незважаючи на те, що цей сценарій використовує плаваючий IP-адреса, Azure Load Balancer також підтримує визначення правила, яке перезаписує внутрішній кінцевий порт і робить його відмінним від інтерфейсного кінцевого порту. Even though this is a Floating IP scenario, Azure Load Balancer also supports defining a rule to rewrite the backend destination port and to make it different from the frontend destination port.

Тип правил з плаваючим IP-адресою лежить в основі кількох шаблонів конфігурацій балансувальника навантаження. The Floating IP rule type is the foundation of several load balancer configuration patterns. Одним із прикладів, доступних в даний момент, є конфігурація SQL AlwaysOn with Multiple Listeners (SQL AlwaysOn з декількома Прослуховувач). One example that is currently available is the SQL AlwaysOn with Multiple Listeners configuration. В майбутньому ми опишемо більше сценаріїв. Over time, we will document more of these scenarios.

обмеження Limitations

  • Конфігурації з декількома зовнішніми інтерфейсами підтримуються тільки при використанні віртуальних машин IaaS. Multiple frontend configurations are only supported with IaaS VMs.
  • Якщо застосовується правило з плаваючим IP-адресою, то для вихідних потоків в додатку потрібно використовувати основну IP-конфігурацію. With the Floating IP rule, your application must use the primary IP configuration for outbound flows. Якщо додаток має прив'язку до багатофункціонального IP-адресою, налаштованому в інтерфейсі замикання на себе в гостьовій ОС, то функція SNAT в Azure недоступна для перезапису вихідного потоку, і потік завершується збоєм. If your application binds to the frontend IP address configured on the loopback interface in the guest OS, Azure's SNAT is not available to rewrite the outbound flow and the flow fails.
  • Загальнодоступні IP-адреси впливають на виставлення рахунків. Public IP addresses have an effect on billing. Додаткові відомості див. У статті Ціни на IP-адреси . For more information, see IP Address pricing
  • Діють обмеження підписки. Subscription limits apply. Додаткові відомості див. У розділі Обмеження певних служб . For more information, see Service limits for details.

Подальші дії Next steps

  • перегляньте статтю Вихідні підключення в Azure , Щоб зрозуміти, як впливають кілька зовнішніх інтерфейсів на поведінку вихідних підключень. Review Outbound connections to understand the impact of multiple frontends on outbound connection behavior.



Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью