Возникли проблемы с упаковщиком: amazon-ebs: время ожидания SSH - PullRequest
0 голосов
/ 19 февраля 2019

Я новичок в Packer и пытаюсь создать образ с помощью частной сети VPC, и у меня постоянно появляется ошибка *amazon-ebs: Timeout waiting for SSH.*

Используемая версия Packer 1.3.4 и частная подсеть имеет доступ к шлюзу NAT через общедоступную подсеть и таблицу маршрутов.Но поскольку проблема может быть не в том, что я не смог добраться до экземпляра, я также пытался использовать другие параметры, такие как: ssh_interface со значением private_dns и associate_public_ip_address.Но даже при изменениях я получаю ту же ошибку.

Шаблон, который я использую, имеет следующий контент

"builders": [
{
  "type": "amazon-ebs",
  "access_key": "{{user `aws_access_key`}}",
  "secret_key": "{{user `aws_secret_key`}}",
  "region": "{{user `region`}}",
  "source_ami": "{{user `source_ami`}}",
  "instance_type": "{{user `instance_type`}}",
  "iam_instance_profile": "{{user `role`}}",
  "ssh_username": "{{user `ssh_username`}}",
  "ssh_timeout": "15m",
  "vpc_id": "{{user `vpc_id`}}",
  "subnet_id": "{{user `subnet_id`}}",
  "associate_public_ip_address": true,
  "ami_name": "{{user `name`}}.{{isotime \"2006-01-02T150405Z\"}}",
  "ami_description": "based on {{user `source_ami`}}",
  "tags": {
    "Name": "{{user `name`}}"
  }]

В шаблоне я не определяю группу безопасности, но вЖурналы Packer Я вижу, что он может создать временную группу безопасности, тогда также должен быть доступен доступ к порту 22 * ​​1014 *

==> amazon-ebs: Pausing after run of step 'StepKeyPair'. Press enter to continue. 
==> amazon-ebs: Creating temporary security group for this instance: packer_5
c6b3667-c41f-92bc-aa89-efc5f3a2d8a8
==> amazon-ebs: Authorizing access to port 22 from 0.0.0.0/0 in the temporary security group...
==> amazon-ebs: Pausing after run of step 'StepSecurityGroup'. Press enter to continue. 
==> amazon-ebs: Pausing after run of step 'StepCleanupVolumes'. Press enter to continue. 
==> amazon-ebs: Launching a source AWS instance...

Но проблема сохраняется.Есть ли что-то, что мне не хватает в шаблоне?или что-то, что я должен сделать по-другому для генерации AMI?

1 Ответ

0 голосов
/ 01 марта 2019

Вы не можете получить доступ к ec2 через шлюз NAT.Шлюзы NAT в AWS используются для предоставления доступа в Интернет из VPC, а не в VPC.

У вас есть несколько вариантов:

  1. Make packer запускает ec2 в общедоступной подсети с общедоступной подсетью.ф.Правильно сконфигурируйте IGW в VPC и таблице маршрутизации
  2. Разверните безопасный хост-бастион в AWS и используйте его для перехода с рабочей станции с упаковщиком на ec2.Вам нужно будет настроить несколько вещей в вашем packer.json с помощью специального коммуникатора.Вот документация https://www.packer.io/docs/templates/communicator.html#ssh

С уважением

...