在为每个方向、here和here构建一个amazon-ebs实例时,我构建了一个配置,并遇到了这个问题。
我发现了许多其他的谷歌搜索有类似的问题,但他们没有帮助。
我发现奇怪的是,该实例试图连接到启动的spot实例的private_ip。
我看到的东西是这样的:
==> amazon-ebs: Using ssh communicator to connect: 172.31.8.223
==> amazon-ebs: Waiting for SSH to become available...因为我不在同一个局域网上,所以没有连接到该地址的路由,最终我得到了这个错误。我检查了仪表板上的实例-确定它是创建的,并且具有有效的IP地址。我可以登录它,但出于某种原因,packer试图连接到私有地址。
'amazon-ebs' errored: Timeout waiting for SSH.值得注意的是我的配置文件是这样的:
"builders": [
{
"type": "amazon-ebs",
"access_key": "{{user `aws_access_key`}}",
"ami_name": "{{user `ami_name`}}",
"instance_type": "{{user `aws_instance_type`}}",
"region": "{{user `aws_region`}}",
"secret_key": "{{user `aws_secret_key`}}",
"source_ami": "{{user `aws_ami_image`}}",
"ssh_username": "ubuntu",
"spot_price": "0.20",
"tags": {
"Name": "{{user `ami_name`}}-{{user `image_version`}}",
"OS_Version": "Ubuntu XYZ",
"Release": "XYZ",
"Description": "Ubuntu XYZ AMI for Me"
},
"user_data_file": "config/user-data.sh"
}
],发布于 2020-04-28 01:36:27
在我的例子中,通过将ssh_interface选项添加到我的packer.json文件的amazon-ebs构建器部分,修复了这个问题:
不清楚为什么这是必要的,但一旦我这样做了,packer就开始为我工作。我得到的配置如下所示:
"builders": [
{
"type": "amazon-ebs",
"ssh_interface": "public_ip",
"access_key": "{{user `aws_access_key`}}",
"ami_name": "{{user `ami_name`}}",
"instance_type": "{{user `aws_instance_type`}}",
"region": "{{user `aws_region`}}",
"secret_key": "{{user `aws_secret_key`}}",
"source_ami": "{{user `aws_ami_image`}}",
"ssh_username": "ubuntu",
"spot_price": "0.20",
"tags": {
"Name": "{{user `ami_name`}}-{{user `image_version`}}",
"OS_Version": "Ubuntu XYZ",
"Release": "XYZ",
"Description": "Ubuntu XYZ AMI for Me"
},
"user_data_file": "config/user-data.sh"
}
],https://stackoverflow.com/questions/61464892
复制相似问题