ElasticBeanstalk: з конфігураційного файлу встановіть тип екземпляра та групу безпеки


10

У мене виникають проблеми із визначенням типу екземпляра та груп безпеки через .ebextensions/*.configфайли в корені пакету моїх програм.

Якщо коротко, у мене є два конфігураційні файли, які виглядають приблизно так:

.ebextensions/01-options.config:

option_settings:
  [...]
  - namespace: 'aws:elasticbeanstalk:application:environment'
    option_name: CONFIG_FILE_ONE
    value: '01-options.config'
  [...]

і .ebextensions/02-app-test-env.config:

option_settings:
  - namespace: 'aws:elasticbeanstalk:application:environment'
    option_name: NODE_ENV
    value: 'Test'

  - namespace: 'aws:elasticbeanstalk:application:environment'
    option_name: CONFIG_FILE_TWO
    value: '02-app-test-env'

  - namespace: aws:autoscaling:launchconfiguration
    option_name: InstanceType
    value: t2.micro

  - namespace: aws:autoscaling:launchconfiguration
    option_name: SecurityGroups
    value: sg-ys75dfs2

Тепер встановлюються змінні середовища, тому я знаю, що він читає обидва конфігураційні файли, але група безпеки та тип екземпляра не встановлюються - навіть коли я відновлюю середовище, екземпляри все ще створюються як t1.microіз типовими групами безпеки - мої налаштування не застосовуються.

Що я тут пропускаю? Як я можу визначити тип екземпляра за допомогою .configфайлів?


Ви перевіряли журнали після запуску програми? Можливо, він скаржився на один із ваших варіантів? Після прочитання цього у мене склалося враження , що тільки простір імен , перерахованих в цій таблиці підтримується, в зв'язку з цією пропозицією: [...] The following table displays the namespaces that are supported for each container type. [...]. Але здається дивним, якби це було так.
Bazze

Відповіді:


11

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

- namespace: 'aws:autoscaling:launchconfiguration'
  option_name: InstanceType
  value: 't2.micro'

- namespace: 'aws:autoscaling:launchconfiguration'
  option_name: SecurityGroups
  value: 'sg-ys75dfs2'

Також не забудьте стежити за помилками з журналами eb, якщо ви використовуєте eb cli 3.x. Сподіваюся, що це допомагає.


Я спробував це як оригінал, так і версію з цитатами. Жоден не працював на мене. Інші налаштування в моєму .config, такі як MinSize та MaxSize, працюють. Закінчилося використовувати: eb create -i 't2.medium' замість ?!
Чарльз

@Charles, так, я більше не змушую InstanceType працювати, не знаю, в чому проблема, тому що, як ви вже згадували, інші параметри, що стосуються екземплярів, працюють.
Тайлер

Дякуємо за підтвердження. Перейшовши до питання на форумі AWS ... я звітну, якщо я дізнаюся відповідь.
Чарльз


1
Тож я думаю, що я можу розібратися з проблемою, схоже на те, що певні елементи задаються на рівні API, і вам доведеться оновити їх ПІСЛЯ створення середовища. If you use the Elastic Beanstalk console or EB CLI to create environments, and you want to set these options using configuration files or saved configurations, you can remove the options settings with the AWS CLI or EB CLI after the environment is created.( docs.aws.amazon.com/elasticbeanstalk/latest/dg/… )
Тайлер

2

Як уже згадувалося в коментарях, настройки в конфігураційних файлах ігноруються , якщо вони також встановлені на рівні середовища, (і настройки для InstanceTypeбуде створено автоматично на рівні середовища).

Якщо ви віддаєте перевагу зберегти свої настройки у конфігураційних файлах, вам потрібно видалити їх із середовища, для цього можна виконати InstanceTypeнаступну команду:

aws elasticbeanstalk update-environment --environment-name my-env --options-to-remove Namespace=aws:autoscaling:launchconfiguration,OptionName=InstanceType

Дивіться також документи AWS щодо інших способів зміни налаштувань рівня навколишнього середовища.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.