Я пытаюсь настроить сервер XMPP на Google Compute Engine. Я сейчас играю с Просоды. Моя предпочтительная стратегия развертывания серверов - иметь неизменяемую инфраструктуру, поэтому я стараюсь создать образ нужного мне сервера (используя Упаковщик), создайте его шаблон экземпляра и создайте группу управляемых экземпляров этого шаблона экземпляра с целевым размером, равным 1. Это дает то преимущество, что у меня всегда есть хотя бы один работающий сервер, отвечающий на запросы, и автоматически воссоздающий сервер в случае возникновения проблемы. Это также означает, что мне нужно, чтобы все мои запросы проходили через балансировщик нагрузки, поскольку IP-адрес сервера нестабилен.
Для HTTP / S это не проблема, поскольку балансировщики нагрузки HTTP / S работают достаточно хорошо. Для TCP это оказывается проблемой. Балансировка сетевой нагрузки требуется список экземпляров для балансировки, что означает, что когда мой экземпляр уничтожается и воссоздается заново, балансировщик нагрузки устарел. Балансировка нагрузки прокси TCP и Балансировка нагрузки SSL-прокси у них нет этой проблемы, но у них есть ограниченный набор портов, с которыми они могут использоваться. Любопытно, что 5222 (зарезервированный порт для трафика XMPP от клиента к серверу) находится в этой группе портов из белого списка, но 5269 (зарезервированный порт для трафика XMPP от сервера к серверу) не входит в этот белый список. Я не уверен, почему Google разрешает трафик от клиента к серверу, но не трафик от сервера к серверу.
Я думаю, что мой вопрос заключается в том, на какой из них я могу получить ответ: