Я создал, возможно, 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.
Вещи, которые я пробовал:
eb create
, но я также пробовал создавать через пользовательский интерфейс приборной панели и получил ту же ошибку.Я новичок в 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 устранило проблему.