Я сейчас использую Heroku (который использует AWS), и моя программа должна взаимодействовать с моим собственным экземпляром EC2. Я сделал свой экземпляр EC2 в том же регионе, что и Herokus, однако, чтобы еще больше снизить затраты, я хочу иметь возможность общаться через частный IP-адрес между моим динамометром Heroku и экземпляром EC2 в той же зоне доступности.
Я знаю, что могу перезапустить Heroku для переключения между серверами и потенциально разными зонами доступности, однако есть ли способ определить, находятся ли они в той же зоне доступности или в другой зоне доступности?
Потенциально я могу написать программу, которая перезапустит Heroku до такой степени, что он окажется в той же зоне.
Это непростая задача (если она вообще решаема), потому что зоны доступности различаются в зависимости от Amazon EC2 аккаунт в первую очередь см. FAQ Как мне убедиться, что я нахожусь в той же зоне доступности, что и другой разработчик?:
В настоящее время мы не поддерживаем возможность координировать запуски в одной зоне доступности для учетных записей разработчиков AWS.
Эрик Хаммонд изучил эту тему и разработал прием / прием, позволяющий обойти это ограничение, см. Соответствие зон доступности EC2 в аккаунтах AWS:
Резюме: Имена зон доступности EC2 в разных учетных записях не соответствуют одной и той же базовой физической инфраструктуре. В этой статье объясняется трюк, который можно использовать, чтобы выяснить, как сопоставить имена зон доступности между разными учетными записями.
Однако он также подчеркивает соответствующие предостережения:
Обратите внимание, что этот подход не является документированной функцией Amazon EC2. [...]
Amazon может в любой момент реструктурировать работу этих значений, чтобы описанные идентификаторы предложений не могли использоваться между учетными записями или не сопоставлялись с какой-либо общей инфраструктурой.
Уловка, кажется, работает на данный момент, так что вы можете достичь своей цели, применив эту технику, но будьте готовы к тому, что в конечном итоге она не приведет к надежному решению в будущем.