Não é possível conectar-se à instância do EC2 após “reinicializar”

3

Não consigo me conectar à minha instância m1.small depois de reinicializá-la.

Já associei o IP público a essa instância. Ao verificar o log do sistema, este parece ser o problema:

cloud-init-nonethttp://11.84: waiting 10 seconds for network device
cloud-init-nonethttp://21.85: waiting 120 seconds for network device
cloud-init-nonethttp://141.85: gave up waiting for a network device.
Cloud-init v. 0.7.3 running 'init' at Sun, 18 May 2014 07:02:55 +0000. Up 142.54 seconds.
ci-info: +++++++++++++++++++++++Net device info++++++++++++++++++++++++
ci-info: +--------+-------+-----------+-----------+-------------------+
ci-info: | Device | Up | Address | Mask | Hw-Address |
ci-info: +--------+-------+-----------+-----------+-------------------+
ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | . |
ci-info: | eth0 | False | . | . | 02:43:xx:xx:xx:xx |
ci-info: +--------+-------+-----------+-----------+-------------------+
ci-info: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Route info failed!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Um monte deles segue a mensagem acima:

2014-05-18 07:02:56,178 - url_helper.pyWARNING: Calling http://169.254.169.254/2009-04-04/meta-data/instance-id failed 0/120s: request error [HTTPConnectionPool(host='169.254.169.254', port=80): Max retries exceeded with url: /2009-04-04/meta-data/instance-id (Caused by : Errno 101] Network is unreachable)

Isso está obviamente relacionado à interface de rede não estar funcionando corretamente. Eu tentei isso até agora:

  1. Reinicie uma nova instância da AMI personalizada (criada a partir do EBS) da instância com falha. O mesmo erro aparece nos registros.

  2. Anexe uma nova interface de rede à instância do EC2. O erro ainda persiste. eth1 aparece na lista, mas a coluna "up" é False.

por kapeels 18.05.2014 / 15:47

2 respostas

2

É devido a alguém ter feito uma alteração de rede que fez com que a instância ficasse inacessível. Um problema comum nas configurações de rede é quando alguém define um endereço IP estático, que o Amazon EC2 ignora por política da AWS.

  1. Pare a instância
  2. Desanexe o volume da instância não acessível
  3. Anexar o volume a uma instância em execução
  4. instância em execução ssh
  5. mkdir incorreto (crie um diretório de montagem)
  6. Monte o volume em ruim /
  7. cd /bad/etc/sysconfig/network-scripts (/ bad é o diretório de montagem)
  8. vi ifcfg-eth0

    DEVICE=eth0 
    BOOTPROTO=dhcp 
    ONBOOT=yes 
    TYPE=Ethernet 
    USERCTL=yes 
    PEERDNS=yes 
    IPV6INIT=no 
    
  9. Desanexar o volume
  10. Anexar o volume à instância não acessível
  11. Iniciar a instância não acessível

Encontre-o em funcionamento.

    
por 11.06.2014 / 07:48
0

@kapeels,

Acabei de passar pelo mesmo problema, no meu caso estou usando um servidor DNS interno configurado no conjunto de Opções VPC DHCP, se o servidor DNS definido estiver inativo, todos os servidores do EC2 terão o mesmo problema.

Pelo que vejo nos logs, o servidor faz poucas chamadas de API usando um nome de host, esse nome de host é traduzido usando o DNS do conjunto de opções DHCP, mas porque o servidor estava inoperante, ele poderia obter o IP do nome do host e retornar o 169. * IP.

Quando alterei minhas opções de DHCP da VPC para AmazonProvidedDNS novamente, funcionou.

Então, basicamente, a AWS ignora totalmente seus grupos de segurança para fazer suas chamadas de API, mas depende do seu servidor DNS para resolver o nome do host. :)

    
por 03.10.2014 / 03:47