我正在将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


希望有帮助!

08-07 13:43