我正在将Flask应用程序部署到ElasticBeanstalk。此应用程序的依赖项之一是应从CodeCommit git存储库安装的软件包。
在本地,我已经成功设置了SSH以将CodeCommit存储库连接到pip install
并推送代码。我已将软件包添加到requirements.txt
,并且在本地使用pip
可以正常安装。
问题是,我应该如何配置EBS使其具有对此存储库的SSH访问权限?
我看到EBS使用的IAM角色是aws-elasticbeanstalk-ec2-role
。我将AWSCodeCommitReadOnly
策略附加到该角色,但无济于事。
在eb-activity.log
中,当尝试从CodeCommit获取软件包时,它给出SSH错误:
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
如何配置从EBS对AWS CodeCommit的访问?
最佳答案
我的建议是使用HTTPS而不是SSH来访问您的AWS CodeCommit存储库。您的实例已经通过您设置的角色和策略以及可用的AWS CLI拥有权限。您需要做的就是运行配置git-credential帮助程序的命令:
git config --global credential.helper'!aws --profile默认
codecommit凭证帮助者$ @'
git config --global凭证.UseHttpPath true
希望有帮助!