我正在使用Elastic Beanstalk运行一个烧瓶应用程序。我想使用DynamoDB作为数据库。为了访问DynamoDB,我使用PynamoDB,它通过botocore访问DynamoDB服务。正如AWS文档所述,我已在Mac上的~/.aws/credentials
创建了凭证文件,并设置了AWS用户access_key。烧瓶应用程序可以访问在我的Mac上运行的DynamoDB。但是,在eb deploy
部署到Elastic Beanstalk之后,我不知道如何添加凭证文件。
我试过了:
02_dynamodb.config
下创建配置文件.ebextensions
。commands: 01makecredentials: command: mkdir ~/.aws/;cp ./credentials ~/.aws/credentials
添加配置文件后无法部署。
~/.aws/credentials
或.boto
我已阅读了大量文档,但在将应用程序部署到Elastic Beanstalk后,不知道如何将access_key设置为botocore应用程序。 AWS文档仅告诉我如何在我的开发Mac上设置access_key。
任何帮助都会受到赞赏。
更新 谢谢@mbaird!解决方案是为aws-elasticbeanstalk-ec2-role授予DynamoDB Access权限!
答案 0 :(得分:3)
执行此类操作的首选方法是提供对分配给Elastic Beanstalk服务器的IAM角色的必需访问权限。然后,您根本不必创建凭据文件。
您可以阅读这被视为最佳做法的原因here。