Действительно ли возможно получить метаданные об Эластичной среде Бобового стебля от экземпляра EC2

DNS является очень простым протоколом, который включает TTL (Время жизни) в, он - данные ответа. Однако отдельный пользователь, просматривающий www.mysite.com, только попросит DNS один раз в X минут (Значение по умолчанию обычно является 1 часом, или таким образом). Я только указываю на это так, чтобы было ясно, что количество хитов в секунду не так важно как количество уникальных хитов в секунду.

Кроме того, полагая, что ISPs предлагают серверы DNS своим клиентам, количество запросов, которые на самом деле возвращаются к SOA, намного ниже, чем число людей, которые посещают Ваш сайт. Скажите, например, 50 000 человек в Восточном MA на Verizon, DSL посещают Ваш сайт в течение 1 часа, это, только, вероятно, генерирует горстку запросов DNS, на которые необходимо ответить. Verizon сделала бы свой собственный уровень кэширования.

Единственный запрос не является абсолютно никакой работой (относительно) для текущих аппаратных средств. 5 000 ценности доменов zonefiles соответствовала бы на Вашей средней карте флэш-памяти.

Я рекомендовал бы, чтобы Вы вовлекли себя 4 средних сервера с избыточными дисками и настроили инфраструктуру DNS в двух местах. Таким образом, у Вас есть дублирование на каждом сайте, и географически также. Рассмотрите это: Если бы Ваше местоположение было движением к темноте, как Вы служили бы DNS для этих 5 000 доменов?

4
задан 21 September 2014 в 02:45
3 ответа

Я кое-что понял. Для тех из вас, кому интересно:

Я могу получить информацию об экземпляре EC через http://169.254.169.254/latest/meta-data/ . В частности, мне нужен идентификатор моего экземпляра EC2

. Я могу определить список всех моих сред beanstalk через describe-environment

Для каждой среды я могу запустить describe-environment-resources . Этот вызов возвращает список экземпляров, с которыми я могу сопоставить идентификатор экземпляра текущего экземпляра. Таким образом, я могу определить название своей среды.

Наконец, я могу обратиться к результату описать-среды , чтобы также определить метку версии для текущего развернутого кода.

Прежде чем я смогу сделать что-либо из этого, мне нужно настроить мои экземпляры ec2, чтобы они имели доступ к информации эластичного beanstalk. Я могу сделать это, назначив правильную политику доступа роли, связанной с моими экземплярами ec2, и получая аутентификационную информацию, снова через метаданные экземпляра на http://169.254.169.254/latest/meta-data/

Так как я использую библиотеку python boto , все операции, которые я описал выше, уже имеют предварительно запеченные библиотечные функции для их выполнения.

guh

У меня нет код еще не написан, но если я смогу заставить его работать, я опубликую здесь

Edit рабочий код

4
ответ дан 3 December 2019 в 03:06

Это не документируется, таким образом, это могло бы повредиться без предупреждения, но EB /opt/elasticbeanstalk/bin/get-config чтения команды из файла, расположенного в /opt/elasticbeanstalk/deploy/configuration/containerconfiguration, который включает больше данных, чем выставляется get-config.

, Так как это отформатировано, поскольку JSON и изображения EB включают jq из поля, эта команда извлечет имя среды (может быть ограничен доступом, таким образом sudo или другие механизмы управления доступом может быть необходим):

$ jq .system.environment_name /opt/elasticbeanstalk/deploy/configuration/containerconfiguration

Одна причина предпочесть офлайновый подход по использованию describe-environments или describe-tags (EB определяет тег, который включает имя среды) состоит в том, что в масштабе Ваше развертывание может перестать работать из-за ограничения уровня API AWS, которое не является интересным способом проснуться в 3:00.

0
ответ дан 3 December 2019 в 03:06

Немного покопавшись в Интернете, я нашел.Я знаю, что это старый вопрос, но я подумал, что дам этот ответ.

$ /opt/elasticbeanstalk/bin/get-config container -k environment_name
2
ответ дан 3 December 2019 в 03:06

Теги

Похожие вопросы