2015-07-01 2 views
1

У меня есть ELB со следующей конфигурацией:Почему я вижу, что проверки здоровья ELB удваиваются?

  • Наличие зоны: ар-юго-восток-1a и ар-юго-восток-1b
  • Кросс-зона балансировки нагрузки: Включено
  • Настройки соединения: Тайм-аут простоя: 300 секунд

Health Check Детали:

  • Ping Target HTTPS: 443/Логин
  • Время ожидания 15 секунд
  • Интервал 20 секунд
  • Нездоровый Пороговые 5
  • Healthy Порог 3

Слушатель Детали:

TCP на порт 443, передавая например порт 443, где nginx слушает и делает ssl-завершение.

Я постоянно вижу двойные проверки работоспособности в журналах nginx. Приходите в тот же момент, по крайней мере, в то же время.

Почему?

+0

от того же IP? – tedder42

ответ

3

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

Если вы проверяете исходные IP-адреса входящих запросов проверки работоспособности, вы должны увидеть, что они отличаются. В частности, при включенной балансировке межзоновой нагрузки вы должны следить за каждой проверкой работоспособности каждого интервала с каждый узел ELB, так как каждый узел ELB отправляет healthchecks каждому экземпляру.

Пример взят из моих журналов сейчас:

Jul 1 19:22:25 localhost 172.17.0.251:4076 ELB-HealthChecker/1.0 "GET/HTTP/1.1" 
Jul 1 19:22:25 localhost 172.17.10.98:42667 ELB-HealthChecker/1.0 "GET/HTTP/1.1" 

Обратите внимание, что 172.17.*.* в моем VPC, и эти два IP-адреса в зоне на двух моих «общественных» подсеть ... но что Oни? Это внутренние частные IP-адреса узлов ELB.

Обратите внимание, что «узлы» ELB - это термин, который я могу или, возможно, сейчас не составил, но он описывает виртуальные машины, которые EC2 незримо подготовили для использования в качестве вашего балансировочного балансира. (ELB, по-видимому, развертывается на экземплярах EC2, которые контролируются инфраструктурой ELB, и они определенно не видны в вашей консоли AWS).

Вы не платите отдельно за эти машины, поэтому вам не нужно, как правило, беспокоиться о том, сколько их есть. Они автоматически увеличиваются и уменьшаются с нагрузкой на трафик. Анекдотические наблюдения показывают, что класс экземпляра узлов может быть динамическим, равно как и число узлов. Каждый узел может поддерживать теоретический максимум 64 Кбит на своих серверных серверах, хотя другие ограничения пропускной способности, вероятно, будут удары, прежде чем вы нажмете числа, подобные этому.

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

$ dig xxxxxxxx-yyyyyyyy.us-west-2.elb.amazonaws.com 

; <<>> DiG 9.8.1-P1 <<>> xxxxxxxx-yyyyyyyy.us-west-2.elb.amazonaws.com 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38905 
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 13, ADDITIONAL: 9 

;; QUESTION SECTION: 
;xxxxxxxx-yyyyyyyy.us-west-2.elb.amazonaws.com. IN A 

;; ANSWER SECTION: 
xxxxxxxx-yyyyyyyy.us-west-2.elb.amazonaws.com. 59 IN A 54.149.x.x 
xxxxxxxx-yyyyyyyy.us-west-2.elb.amazonaws.com. 59 IN A 54.201.x.x 

Два A -record ответы предположительно означает два узла. Хотя трансляция адресов и другие сетевые хакеры могут использоваться AWS для маскировки нескольких машин за одним адресом или одной машиной за несколькими адресами, наблюдения показывают, что количество ответов, которые вы получаете в ответ на запрос DNS, дает вам количество узлов в настоящее время развернуты для вашего ELB.