Один ELB спрямовує трафік рівно на один набір примірників і розподіляє вхідний трафік по всіх примірниках "позаду". Він не вибірково маршрутизує трафік на основі будь-якого аналізу рівня трафіку на рівні 7, наприклад Host:
заголовка.
Вам потрібен один ELB для кожного набору екземплярів. Як ви описуєте це, це один ELB для кожного веб-сайту.
Якщо ваша основна мета для запуску ELB - це завантаження SSL за допомогою сертифікату wildcard (у мене є одна система, розроблена так, з десятками додатків, що живуть на багатьох-different-domains.my-wildcard-cert-domain.com), то екземпляри "позаду" ELB може запускати зворотний проксі-сервер, такий як HAProxy (або кілька інших альтернативних варіантів, як-от Varnish), який може приймати рішення про маршрутизацію на рівні 7 і потім пересилати трафік до відповідної підмножини машин позаду, що також дозволяє більш досконалі. балансування навантаження та має перевагу в наданні статистики та лічильників руху, сукупності та розділення.
/-- HAProxy \ /----- instances hosting app #1
ELB ---| >> ----- instances hosting app #2
\-- HAProxy / \----- instances hosting app #n
Проміжні екземпляри ^^^^ можуть оцінювати Host:
заголовки (серед іншого) і навіть фіксувати значення файлу cookie сеансу у своїх журналах для аналізу.
Ця настройка також дозволяє мені запускати кілька додатків на перекриваються підмножини примірників, де це доречно, і робити багато інших речей, які ELB сам по собі не підтримує безпосередньо. Він також повертає користувацьку сторінку "503" у випадку, коли програма перевантажується або іншим чином стає недоступною, що ELB не робить самостійно. Тут я зобразив 2 проксі-сервери, з будь-якої іншої причини, крім вашої згадки про номер 2 у питанні. Насправді у мене є 3, по одному для кожної зони доступності в регіоні, де це розміщено.