我正在将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的访问?
答案 0 :(得分:0)
我的建议是使用HTTPS而不是SSH来访问您的AWS CodeCommit存储库。您的实例已通过您已设置的角色和策略以及可用的AWS CLI获得了权限。您需要做的就是运行配置git-credential helper的命令:
git config --global credential.helper'!aws --profile default codecommit credential-helper $ @'
git config --global credential.UseHttpPath true
希望有所帮助!