Я пытаюсь развернуть приложение, похожее на Instagram, на AWS, используя Elastic Beanstalk и Flask. После использования команды eb deploy я могу получить доступ к главной странице приложения, которая не требует доступа к таблицам DynamoDB. Когда я пытаюсь войти в систему, приложение должно получить доступ к таблице DynamoDB для получения данных, таких как количество лайков в картинках, однако при этом отображается
500 Внутренняя ошибка сервера
А мои eb logs возвращают эту ошибку.
ClientError: Произошла ошибка (AccessDeniedException) при вызове> операции сканирования: Пользователь: arn: aws: sts :: 013051511429: предполагаемая роль / aws- >asticbeanstalk-ec2-role / i-049593eb550052c8f не авторизован для> выполнить: DynamodB: сканирование на ресурс: ARN: AWS: DynamodB: США-восток-> 1: 013051511429: таблица / cloudgram
Я думаю, что это происходит из-за неверной конфигурации IAM , в которой говорится, что пользователь, соответствующий моему экземпляру EC2 (i-04959 ..), не авторизован для выполнения сканирования в моей таблице DynamoDB.
Я попытался сделать следующее:
https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-api.html
Вот политики, которые я прикрепил к моей роли aws -asticbeanstank-ec2:
- AmazonRDSFullAccess
- AmazonS3FullAccess
- AWSLambdaDynamoDBExecutionRole
- AWSElasticBeanstalkWebTier
- AWSElasticBeanstalkMulticontainerDocker
- AWSElasticBeanstalkWorkerTier
Я использую:
Python 2.7
Колба 1.0.2