Назад | Перейти на главную страницу

Определить зону доступности IP-адреса AWS

Я сейчас использую Heroku (который использует AWS), и моя программа должна взаимодействовать с моим собственным экземпляром EC2. Я сделал свой экземпляр EC2 в том же регионе, что и Herokus, однако, чтобы еще больше снизить затраты, я хочу иметь возможность общаться через частный IP-адрес между моим динамометром Heroku и экземпляром EC2 в той же зоне доступности.

Я знаю, что могу перезапустить Heroku для переключения между серверами и потенциально разными зонами доступности, однако есть ли способ определить, находятся ли они в той же зоне доступности или в другой зоне доступности?

Потенциально я могу написать программу, которая перезапустит Heroku до такой степени, что он окажется в той же зоне.

Это непростая задача (если она вообще решаема), потому что зоны доступности различаются в зависимости от Amazon EC2 аккаунт в первую очередь см. FAQ Как мне убедиться, что я нахожусь в той же зоне доступности, что и другой разработчик?:

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

Эрик Хаммонд изучил эту тему и разработал прием / прием, позволяющий обойти это ограничение, см. Соответствие зон доступности EC2 в аккаунтах AWS:

Резюме: Имена зон доступности EC2 в разных учетных записях не соответствуют одной и той же базовой физической инфраструктуре. В этой статье объясняется трюк, который можно использовать, чтобы выяснить, как сопоставить имена зон доступности между разными учетными записями.

Однако он также подчеркивает соответствующие предостережения:

Обратите внимание, что этот подход не является документированной функцией Amazon EC2. [...]

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

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