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

Не удается добавить базу данных RDS в среду Elastic Beanstalk

Я создал, возможно, 10 сред Elastic Beanstalk с подключенной базой данных RDS, но по какой-то причине в этом приложении я не могу добавить базу данных RDS в свою среду эластичного beanstalk.

Я добавляю базу данных RDS через пользовательский интерфейс Elastic Beanstalk с Configuration > Database. Ошибка, похоже, связана с тем, что мой пользователь root не может создать группу безопасности БД RDS. Журналы событий показывают:

INFO: Environment update is starting.
INFO: Updating environment pscope-api-prod's configuration settings.
ERROR: Service:AmazonCloudFormation, Message:Stack named 'awseb-e-rmu57hh9tz-stack' aborted operation. Current state: 'UPDATE_ROLLBACK_IN_PROGRESS' Reason: The following resource(s) failed to create: [AWSEBRDSDBSecurityGroup].
ERROR: Creating RDS database security group named: awseb-e-rmu57hh9tz-stack-awsebrdsdbsecuritygroup-gpqdtr1kvf7z failed Reason: Either the resource does not exist, or you do not have the required permissions.
ERROR: Failed to deploy configuration.
INFO: Deleted RDS database security group named: awseb-e-rmu57hh9tz-stack-awsebrdsdbsecuritygroup-gpqdtr1kvf7z
INFO: The environment was reverted to the previous configuration setting.

После этого база данных не создавалась, и все возвращается к тому, как это было до попытки добавить базу данных RDS.

Вещи, которые я пробовал:

Я новичок в AWS, и у меня возникла та же проблема при попытке создать и добавить новую базу данных из консоли управления Elastic Bean Management Console.

Это было исправлено после добавления роли AWSServiceRoleForRDS в IAM. Перейдите в IAM -> Роли -> Создать роль -> Сервис AWS:

Выберите вариант использования RDS и RDS. Щелкните «Далее: разрешения». Там вы увидите, что AmazoneRDSServiceRolePolicy был добавлен. Нажмите Далее: Обзор -> Создать роль.

И вы сделали. Попробуйте сейчас создать базу данных из консоли Elastic Beanstalk Management Console. Теперь он должен работать.

Моя проблема заключалась в нажатии Подать заявление внизу страницы RDS вместо Продолжать. После нажатия Продолжать, Я смог увидеть сообщение, предлагающее мне назначить две подсети базе данных. После этого и нажав Подать заявление, все работало нормально.

Очевидно, когда вы запускаете eb create (я думаю, без указания какой-либо базы данных), необходимые роли, автоматически созданные для вашего пользователя IAM, не имеют необходимой роли, позволяющей RDS вносить изменения.

Создание новой роли для службы RDS в консоли управления IAM будет "Разрешите RDS выполнять операции с использованием ресурсов AWS от вашего имени."проверив разрешения и убедившись, что AmazonRDSServiceRolePolicy находится в списке, AWSServiceRoleForRDS будет добавлен в список и, надеюсь, решит вашу проблему.

Была точно такая же проблема, и после некоторого поиска в Google выяснилось, что добавление роли AWSServiceRoleForRDS устранило проблему.