Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! Π£ΠΆΠ΅ сСгодня стартуСт курс Β«AWS для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²Β», Π² связи с Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Π»ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ тСматичСский Π²Π΅Π±ΠΈΠ½Π°Ρ€, посвящСнный ΠΎΠ±Π·ΠΎΡ€Ρƒ ELB. ΠœΡ‹ рассмотрСли Π²ΠΈΠ΄Ρ‹ балансировщиков ΠΈ создали нСсколько инстансов EC2 с балансировщиком. А Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования.

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

ΠŸΡ€ΠΎΡΠ»ΡƒΡˆΠ°Π² Π²Π΅Π±ΠΈΠ½Π°Ρ€, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅:

  • ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ AWS Load Balancing;
  • Π·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Elastic Load Balancer ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹;
  • ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ AWS ELB Π² вашСй ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

Π—Π°Ρ‡Π΅ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ это ΡƒΠΌΠ΅Ρ‚ΡŒ:

  • ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΡΠ΄Π°Π²Π°Ρ‚ΡŒ экзамСны сСртификации AWS;
  • это простой способ распрСдСлСния Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСрами;
  • это простой способ добавлСния Lambda Π² ваш сСрвис (ALB).

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΡƒΡ€ΠΎΠΊ ΠΏΡ€ΠΎΠ²Ρ‘Π» Π ΠΈΡˆΠ°Ρ‚ Π’Π΅Ρ€Π΅Π³ΡƒΠ»ΠΎΠ², систСмный ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ Π² ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ сайтов.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Elastic Load Balancer, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π½ΠΈΠΆΠ΅, Π³Π΄Π΅ прСдставлСн ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

Load Balancer ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ рСквСсты ΠΈ распрСдСляСт ΠΈΡ… ΠΏΠΎ инстансам. Π£ нас Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ инстанс, Π΅ΡΡ‚ΡŒ Lambda-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π΅ΡΡ‚ΡŒ AutoScaling-Π³Ρ€ΡƒΠΏΠΏΠ° (Π³Ρ€ΡƒΠΏΠΏΠ° сСрвСров).

Π’ΠΈΠΏΡ‹ AWS ELB

1. Рассмотрим основныС Ρ‚ΠΈΠΏΡ‹:

Classic Load Balancer. Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ балансировщик ΠΎΡ‚ AWS, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π½Π° 4-ΠΌ, Ρ‚Π°ΠΊ ΠΈ Π½Π° 7-ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ OSI, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ HTTP, HTTPS, TCP ΠΈ SSL. Он обСспСчиваСт Π±Π°Π·ΠΎΠ²ΡƒΡŽ балансировку Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими инстансами Amazon EC2 ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ запросов, Ρ‚Π°ΠΊ ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ соСдинСния. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ (Π²Ρ‹Π΄Π΅Π»Π΅Π½ сСрым):

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

Π­Ρ‚ΠΎΡ‚ балансСр считаСтся ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ, поэтому рСкомСндуСтся ΠΊ использованию лишь Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… случаях. НапримСр, для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ построСны Π² сСти EC2‑Classic. Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Π½Π°ΠΌ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ:

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

2. Network Load Balancer. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для высокой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° 4-ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ OSI (ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² EKS ΠΈ ECS), ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ TCP, UDP ΠΈ TLS.

Network Load Balancer направляСт Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π½Π° Ρ†Π΅Π»Π΅Π²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Amazon VPC ΠΈ способСн ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ запросов Π² сСкунду ΠΏΡ€ΠΈ свСрхнизких Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°Ρ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° с Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎΠΉ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΉΡΡ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ.

3. Application Load Balancer. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° 7-ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Lambda, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΈ ΠΏΡƒΡ‚Π΅ΠΉ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ HTTP ΠΈ HTTPS.
ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ запросов, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° доставку ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, построСнных Π½Π° Π±Π°Π·Π΅ соврСмСнных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, Π² Ρ‚ΠΎΠΌ числС микросСрвисы ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹. НаправляСт Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π½Π° Ρ†Π΅Π»Π΅Π²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Amazon VPC, ΠΎΠΏΠΈΡ€Π°ΡΡΡŒ Π½Π° содСрТимоС запроса.

Для ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Application Load Balancer ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΠ» Classic Load Balancer, вСдь TCP Π½Π΅ Ρ‚Π°ΠΊ распространСн Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ HTTP.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅Π³ΠΎ Ρ‚ΠΎΠΆΠ΅, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ Ρƒ нас ΡƒΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π²Π° балансировщика Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ:

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Load Balance

ΠžΠ±Ρ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Load Balance (присущи всСм балансировщикам):

  • Access Logging Policy

β€” ваши ΠΆΡƒΡ€Π½Π°Π»Ρ‹ доступа ΠΊ ELB. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ настройки, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Description ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Edit attributesΒ»:

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

ΠŸΠΎΡ‚ΠΎΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ S3Bucket β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Amazon:

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

  • Scheme

β€” Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΠΈΠ»ΠΈ внСшний балансировщик. Бмысл Π² Ρ‚ΠΎΠΌ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ваш LoadBalancer ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ внСшниС адрСса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ доступным снаруТи, ΠΈΠ»ΠΈ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ваш Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ балансировщик;

  • Security Groups

β€” ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ доступа ΠΊ балансировщику. По сути это высокоуровнСвый Ρ„Π°ΠΉΡ€Π²ΠΎΠ».

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

  • Subnets

β€” подсСти Π²Π½ΡƒΡ‚Ρ€ΠΈ вашСй VPC (соотвСтствСнно, ΠΈ Π·ΠΎΠ½Ρ‹ доступности). Subnets указываСтся ΠΏΡ€ΠΈ создании. Если VPC ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΠΌ, Ρ‚ΠΎ Subnets ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ ΠΏΠΎ Π·ΠΎΠ½Π°ΠΌ доступности. Когда создаСтС Load Balancer, Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Π² Π΄Π²ΡƒΡ… подсСтях (ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚, Ссли с ΠΎΠ΄Π½ΠΎΠΉ Π·ΠΎΠ½ΠΎΠΉ доступности Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹);

  • Listeners

β€” ваши ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ балансировщика. Как ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано Ρ€Π°Π½Π΅Π΅, для Classic Load Balancer это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ HTTP, HTTPS, TCP ΠΈ SSL, для Network Load Balancer β€” TCP, UDP ΠΈ TLS, для Application Load Balancer β€” HTTP ΠΈ HTTPS.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для Classic Load Balancer:

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

А Π²ΠΎΡ‚ Π² Application Load Balancer ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ интСрфСйс, ΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ:

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Load Balancer v2 (ALB ΠΈ NLB)

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ рассмотрим балансировщики 2-ΠΉ вСрсии Application Load Balancer ΠΈ Network Load Balancer. Π£ этих балансировщиков Π΅ΡΡ‚ΡŒ свои ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Π΅ особСнности. НапримСр, появилось Ρ‚Π°ΠΊΠΎΠ΅ понятиС, ΠΊΠ°ΠΊ Target Groups β€” инстансы (ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ). Благодаря этому ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ, Ρƒ нас появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Target Groups ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ.

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

Говоря простым языком, Π² Target Groups ΠΌΡ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ инстансы, ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. Если Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Classic Load Balancer Π²Ρ‹ просто сразу ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ интСнсы ΠΊ балансировщику, Ρ‚ΠΎ Π² Application Load Balancer Π²Ρ‹ сначала:

  • создаСтС Load Balancer;
  • создаСтС Target-Π³Ρ€ΡƒΠΏΠΏΡƒ;
  • направляСтС ΠΏΠΎ Π½ΡƒΠΆΠ½Ρ‹ΠΌ ΠΏΠΎΡ€Ρ‚Π°ΠΌ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Load Balancer Π½Π° Π½ΡƒΠΆΠ½Ρ‹Π΅ Target Groups;
  • Π² Target-Π³Ρ€ΡƒΠΏΠΏΠ°Ρ… Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚Π΅ инстансы.

Вакая Π»ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ слоТнСС, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ ΠΎΠ½Π° ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ β€” Listener rules (ΠΏΡ€Π°Π²ΠΈΠ»Π° для ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ). Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ касаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Application Load Balancer. Если Π² Network Load Balancer Π²Ρ‹ просто создаСтС Listener, ΠΈ ΠΎΠ½ ΡˆΠ»Π΅Ρ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Target-Π³Ρ€ΡƒΠΏΠΏΡƒ, Ρ‚ΠΎ Π² Application Load Balancer всё вСсСлСС ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅.

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

Π’Π΅ΠΏΠ΅Ρ€ΡŒ скаТСм ΠΏΠ°Ρ€Ρƒ слов ΠΏΡ€ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ β€” Elastic IP (статичСскиС адрСса для NLB). Если ΠΏΡ€Π°Π²ΠΈΠ»Π° для ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Listener rules касались Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Application Load Balancer, Ρ‚ΠΎ Elastic IP касаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Network Load Balancer.

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Network Load Balancer:

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

И ΠΊΠ°ΠΊ Ρ€Π°Π· Π² процСссС создания ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ даСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Elastic IP:

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

Elastic IP прСдоставляСт СдинствСнный IP-адрСс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ экзСмплярами EC2 Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Если экзСмпляр EC2 ΠΈΠΌΠ΅Π΅Ρ‚ Elastic IP-адрСс ΠΈ этот экзСмпляр Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ ΠΈΠ»ΠΈ остановлСн, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ экзСмпляр EC2 с адрСсом Elastic IP. ΠŸΡ€ΠΈ этом вашС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ прилоТСния видят всё Ρ‚ΠΎΡ‚ ΠΆΠ΅ IP-адрСс, Π΄Π°ΠΆΠ΅ Ссли Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ EC2 измСнился.

Π’ΠΎΡ‚ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ юз-кСйс Π½Π° Ρ‚Π΅ΠΌΡƒ Ρ‚ΠΎΠ³ΠΎ, Π·Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ΅Π½ Elastic IP. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅, ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ 3 IP-адрСса, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ навсСгда здСсь останутся:

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

Amazon мСняСт ΠΈΡ… с Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 60 сСкунд (Π½ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ€Π΅ΠΆΠ΅). Π—Π½Π°Ρ‡ΠΈΡ‚, IP-адрСса ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. А Π² случаС с Network Load Balancer Π²Ρ‹ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ айпишник ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π²Π°ΡˆΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ…, ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°Ρ… ΠΈ Ρ‚. ΠΏ.

Балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AWS ELB

Π”Π΅Π»Π°Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄Ρ‹

ELB обСспСчиваСт автоматичСскоС распрСдСлСниС входящСго Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΠΎ нСскольким Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ (ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹, инстансы Amazon EC2, IP‑адрСса ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Lambda). ELB способСн Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ с ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΉΡΡ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Π² ΠΎΠ΄Π½ΠΎΠΉ Π·ΠΎΠ½Π΅ доступности, Ρ‚Π°ΠΊ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими Π·ΠΎΠ½Π°ΠΌΠΈ доступности. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… Ρ‚ΠΈΠΏΠΎΠ² балансировщиков, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΈ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ, ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈ Π½Π΅ΠΏΠ»ΠΎΡ…ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ. Всё это Π²Π°ΠΆΠ½ΠΎ для обСспСчСния отказоустойчивости Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΠ»ΡŽΡΡ‹:

  • высокая Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ. Π’ соглашСнии ΠΎΠ± обслуТивании подразумСваСтся 99,99 % доступности для балансировщика Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. НапримСр, нСсколько Π·ΠΎΠ½ доступности Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ исправными ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. БобствСнно говоря, ΠΌΠΎΠΆΠ½ΠΎ Π±Π°Π»Π°Π½ΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈ ΠΏΠΎ всСму Ρ€Π΅Π³ΠΈΠΎΠ½Ρƒ, осущСствляя ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° исправныС Ρ†Π΅Π»Π΅Π²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·ΠΎΠ½Π°Ρ… доступности;
  • Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. ELB Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Amazon VPC, прСдоставляя Ρ€Π°Π·Π½Ρ‹Π΅ возмоТности ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ бСзопасности β€” это ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сСртификатами, ΠΈ аутСнтификация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΈ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠ° SSL/TLS. Всё вмСстС обСспСчиваСт Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈ Π³ΠΈΠ±ΠΊΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ настройками TLS;
  • ΡΠ»Π°ΡΡ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ. ELB ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π²Π½Π΅Π·Π°ΠΏΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. А глубокая интСграция с Auto Scaling Π΄Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ достаточно рСсурсов, Ссли мСняСтся Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π½Π΅ потрСбуСтся;
  • Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ. МоТно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ IP‑адрСса для ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ запросов ΠΊ Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, давая Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ сразу нСсколько ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ инстансС. Π’Π°ΠΊ ΠΊΠ°ΠΊ прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ сСтСвой ΠΏΠΎΡ€Ρ‚ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ бСзопасности, упрощаСтся взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ прилоТСниями, ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, допустим, Π½Π° основС микросСрвисов;
  • ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Π°ΡƒΠ΄ΠΈΡ‚. МоТно ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Ρ€Π΅Π°Π»-Ρ‚Π°ΠΉΠΌΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Amazon CloudWatch. Π Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΎ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°Ρ…, ΠΆΡƒΡ€Π½Π°Π»Π°Ρ…, отслСТивании запросов. Говоря простым языком, Π²Ρ‹ смоТСтС Π²Ρ‹ΡΠ²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ довольно Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ;
  • гибридная балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ рСсурсами ΠΈ AWS с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ балансировщика ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ Π»ΠΈΠ±ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠ±Π»Π°ΠΊΠΎ. УпрощаСтся ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΡ‚ΠΊΠ°Π·ΠΎΠ² с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±Π»Π°ΠΊΠ°.

Если ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‚ подробности, Π²ΠΎΡ‚ Π΅Ρ‰Π΅ ΠΏΠ°Ρ€Ρƒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ссылок с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта Amazon:

  1. Elastic Load Balancing.
  2. ВозмоТности Elastic Load Balancing.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com