我在我的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运行此操作的任何建议?
您看到的错误消息是:
无法解析主机:github.com;名称或服务未知
这是一个网络连接问题。参见例如this相关Stack Overflow答案。
你还提到:
我必须以ec2用户身份运行它,而不是以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 [email protected]:....git
否则,只需通过HTTPS克隆代码,因为root用户可以正常工作(如果您解决了网络问题)。
对我来说似乎是一个网络问题。您需要确保您的ec2能够连接到互联网。尝试直接从CLI运行git clone命令。