Увеличивает ли ELB доступность архитектуры AWS? - PullRequest
1 голос
/ 12 мая 2019

Я прохожу практический экзамен на сертификацию AWS. Один из вопросов следующий:

 The web tier for an a pplication is running on 6 EC2 instances spread
 across 2 AZs behind a classic ELB.  The data tier is a MySQL database
 running on an EC2 instance.  What changes will increase the
 availability of the application? (select TWO)

 A: Turn on CloudTrail in the AWs account
 B: Migrate the MySQL database to a Multi-AZ RDS MySQL database instance
 C: Turn on cross-zone load balancing on the ELB
 D: Launch the web tier EC2 instances in an Auto Scaling Group
 E: Increase the instance size of the web tier EC2 instance

Правильные ответы B и D. Мой вопрос, почему C НЕ правильный ответ? Инструктор (сотрудник Amazon) замалчивает C, объясняя, что «включение балансировки нагрузки между зонами практически не повлияет на доступность». Но, как я смотрю на это, если ELB не может отправлять трафик на оба AZ, то мы фактически превращаем нашу систему с 6 экземплярами в систему с 3 экземплярами (при условии, что в каждом AZ есть 3). А одна система AZ никогда не считается высокодоступной архитектурой, поскольку в случае сбоя этой системы AZ вся ваша система будет недоступна.

Ответы [ 2 ]

4 голосов
/ 12 мая 2019

Включение межзонной балансировки нагрузки не влияет на доступность, поскольку ELB могут отправлять трафик на все настроенные AZ без включенной функции. Это не то, что означает межзональная балансировка.

ELB, настроенный в двух зонах доступности, всегда имеет как минимум два узла балансировки, по одному в каждой AZ. Вы не можете видеть это напрямую, но если вы посмотрите в разделе «Сетевые интерфейсы» на консоли EC2, вы можете найти эластичные сетевые интерфейсы (ENI), подключенные к узлам балансировщика. Каждый узел имеет один ENI. Служба определяет количество узлов балансировщика на основе нагрузки. Это выполняется автоматически, и вам не выставляется счет на основе количества узлов.

Распределение нагрузки между зонами контролирует, что может делать каждый узел. «Включен» означает, что узел балансировщика в зоне A может отправлять трафик к экземплярам в зоне A или B, а не только к экземплярам в зоне A, и то же самое для узла балансировщика в зоне B.

Это не улучшает доступность, потому что если зона доступности теряется, то узел балансировки в этой зоне также теряется, поэтому тот факт, что он мог отправлять трафик экземплярам в другой зоне, не имеет значения.

Распределение нагрузки между зонами помогает обеспечить равномерное распределение рабочей нагрузки по всем экземплярам за балансировщиком, что помогает при наличии асимметрии - например, 3 экземпляра приложения в одном экземпляре AZ и 2 экземпляра приложения в другом ( в этом случае зона с 2 будет видеть пропорционально больше трафика на экземпляр , чем зона с 3) - или другие случаи, когда экземпляры не видят равномерно сбалансированных рабочих нагрузок, что будет более вероятно, когда количество экземпляров за балансировщиком невелико или если время обработки запроса сильно варьируется из-за сложности одних запросов по сравнению с другими.

0 голосов
/ 12 мая 2019

Какие изменения повысят доступность приложения?

Повышенная доступность означает, что существует меньше периодов времени, когда приложение обслуживает запросы.

  • (B) База данных Multi-AZ , безусловно, поможет, потому что в случае сбоя одного AZ он автоматически переведет дополнительный сервер базы данных в другой AZ
  • (D) Автоматическое масштабирование , безусловно, поможет, поскольку неисправные экземпляры будут заменены.

Межзональная балансировка нагрузки поможет, если в AZ нет доступных исправных экземпляров, но трафик обрабатывается ELB в этом AZ. Это маловероятный сценарий, особенно с 3 экземплярами в AZ, но я мог понять аргумент для этого. Однако два других ответа намного сильнее.

Стоит отметить, что официальные вопросы по сертификации AWS проходят несколько уровней технического анализа и не должны оставлять такую ​​двусмысленность в вопросе. Примеры экзаменационных вопросов (будь то курс AWS или иным образом), вероятно, еще не прошли такого детального изучения.

...