Эластичный бобин

Кто-нибудь знает, возможно ли изменить существующую среду AWS Elastic Beanstalk на балансировщик нагрузки приложения (вместо классического).

Насколько я знаю, только приложение ELB может быть защищено AWS WAF и DDOS "Shield", поэтому любое существующее приложение EB не может воспользоваться этими функциями, поскольку у них есть классические ELB.

Ответ 1

Здравствуйте, согласно документации AWS:

Консоль управления средой Elastic Beanstalk поддерживает только создание и управление средой Elastic Beanstalk с помощью Classic Балансировщик нагрузки. Другие параметры см. в разделе Балансировщик нагрузки приложения и Балансировщик сетевой нагрузки.

Также

Примечание Вы можете установить тип балансировщика нагрузки только в среде творчество. (См. документацию AWS)

Поэтому при развертывании приложения в Elastic Beanstalk через интерфейс командной строки AWS:

Попробуйте

eb create test-env --elb-type network

или

eb create test-env --elb-type application

Ответ 2

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

  1. В консоли сохраните конфигурацию исходного env.
  2. В терминале eb config get [save name], вы получите файл в .elasticbeanstalk\saved_configs.
  3. Отредактируйте файл для добавления

OptionSettings: aws:elasticbeanstalk:environment: LoadBalancerType: application

и удалите (если у вас есть):

aws:elb:loadbalancer: CrossZone: true aws:elb:policies: ConnectionDrainingEnabled: true aws:elb:listener:443: [whatever]

Вы можете использовать эту возможность для других изменений, таких как обновление PlatformArn

  1. Сохраните измененную конфигурацию как [новое имя сохранения].
  2. В терминале eb config put [new save name].
  3. Обновите свои .ebextensions чтобы иметь LoadBalancerType: application и, возможно, добавить слушателя в elbv2. Вы также можете создать консоль вручную позже.

aws:elbv2:listener:443: ListenerEnabled: true SSLPolicy: ELBSecurityPolicy-TLS-1-2-2017-01 SSLCertificateArns: [your cert id] DefaultProcess: default Protocol: HTTPS Rules: ''

  1. Создайте новый env с eb create [new env name] --cfg [new save name]

Теперь у вас будет новая среда с другим балансировщиком нагрузки рядом друг с другом со старой средой. Вы можете выполнить тестирование, внести дополнительные изменения в конфигурацию, а затем, если все будет хорошо, замените CNAME и завершите предыдущую среду.

Ответ 3

Я нашел самый простой способ изменить существующее приложение для использования балансировщика нагрузки приложения - использовать консоль и интерфейс командной строки:

  1. В консоли сохраните конфигурацию приложения исходного env. Запишите это имя вниз. Мы будем использовать его как <saved-config-name>.
  2. Под версиями приложения обратите внимание на последнюю метку версии. Мы будем использовать его как <app-version>.
  3. Из CLI запустите eb create <new-environment-name> --elb-type application --cfg <saved-config-name> --version <app-version>
  4. Если в старом приложении вы настроили HTTP, заново настройте его в консоли в разделе Load Balancer ->Listeners с соответствующим сертификатом.