我在cloudformation模板中设置了一个自动扩展组,该组旋转了一个ec2实例。在launchconfiguration的userdata部分中,我执行以下语句:
sudo -u ec2-user git clone https://github.com/...git
我必须以ec2用户身份(而不是以root用户身份)运行它。在cloud-init-output.log中,出现以下错误: “严重:无法访问'https://github.com/...git/':无法解析主机:github.com;名称或服务未知”
关于如何以ec2-user身份运行它的任何建议吗?
答案 0 :(得分:1)
您看到的错误消息是:
无法解析主机:github.com;名称或服务未知
这是网络连接问题。参见例如this相关的堆栈溢出答案。
您还提到:
我必须以ec2-user身份而不是root用户身份运行。
但是,您还没有说为什么,通常,没有理由不使用root用户从Github克隆代码。
如果必须以ec2-user身份运行命令,请尝试:
cd /home/ec2-user
su ec2-user -c "git clone https://github.com/...git"
如果您只需要root用户使用属于另一个用户的私钥:
GIT_SSH_COMMAND="ssh -i /home/ec2-user/.ssh/id_rsa" git clone git@github.com:....git
否则,只需以root用户身份通过HTTPS克隆代码即可正常工作(如果您解决了网络问题)。
答案 1 :(得分:0)
对我来说似乎是网络问题。您需要确保您的ec2能够连接到Internet。尝试直接从CLI运行git clone命令。