Não é possível conectar-se à instância do EC2 no VPC (Amazon AWS)

46

Eu tomei as seguintes etapas:

  1. Criou uma VPC (com uma única sub-rede pública)
  2. Adicionada uma instância do EC2 à VPC
  3. Alocou um IP elástico
  4. Associou o IP elástico à instância
  5. Criou um grupo de segurança e o atribuiu à instância
  6. Modificadas as regras de segurança para permitir eco ICMP e TCP de entrada na porta 22

Eu fiz tudo isso e ainda não consigo executar ping ou ssh na instância. Se eu seguir os mesmos passos menos os bits da VPC, posso configurá-lo sem problemas. Que passo estou faltando?

Ryan Lynch
fonte
2
Você atribuiu um gateway e uma rota à sub-rede VPC?
Zorlem 06/04
Se eu for para os gateways da Internet, há um gateway atribuído à VPC. Como verifico se uma rota foi atribuída?
Ryan Lynch
A rota é uma tabela de rotas?
Ryan Lynch
2
Sim, você precisa atribuir um "gateway da Internet" à tabela de roteamento pública.
Zorlem
1
Excelente, obrigado cara. Se você colocar na forma de resposta, eu aceito. Em sua resposta, você também pode especificar o que exatamente colocar na tabela de rotas? Coloquei 0.0.0.0/0 e o alvo como gateway da Internet, mas isso não parece a coisa certa a fazer.
Ryan Lynch

Respostas:

75

Para se comunicar fora da VPC, cada sub-rede não padrão precisa de uma tabela de roteamento e de um gateway da Internet associados a ela (as sub-redes padrão obtêm um gateway externo e uma tabela de roteamento por padrão).

Dependendo da maneira como você criou a sub-rede pública na VPC, pode ser necessário adicioná-las explicitamente. Sua configuração de VPC parece coincidir com o cenário 1 - uma nuvem privada (VPC) com uma única sub-rede pública e um gateway da Internet para permitir a comunicação pela Internet a partir da documentação do AWS VPC.

Você precisará adicionar um gateway da Internet à sua VPC e dentro da tabela de roteamento da sub-rede pública atribuir0.0.0.0/0 (rota padrão) para acessar o gateway da Internet atribuído. Há uma boa ilustração da topologia de rede exata dentro da documentação.

Além disso, para obter mais informações, você pode verificar a documentação do VPC Internet Gateway AWS. Infelizmente, é um pouco complicado e uma pegadinha não óbvia.

Para obter mais detalhes sobre problemas de conexão, consulte também: Solução de problemas na conexão com sua instância .

zorlem
fonte
2
Além de atribuir a rota padrão para o gateway da Internet, também tive que associar a sub-rede à tabela de roteamento. Mas uma vez que eu fiz essas duas coisas, eu estava em funcionamento. Obrigado.
Sam Kenny
4
Gestão VPC> Route Table> [Rotas]> Adicionar, 0.0.0.0/0, suspensa para escolher o seu gateway de Internet
Scott R. Geada
Vou lançar isso lá fora, para a internet aprender com o meu erro. Se sua rota para o Gateway da Internet tiver destino 0.0.0.0/32, ela não funcionará. A rota precisa ser alterada para 0.0.0.0/0, conforme especificado na resposta de Zorlem.
Douglas Held
4

Não tenho certeza se esse é exatamente o caso, mas acabei de criar uma VPC com sub-redes públicas e privadas e notei que há um grupo de segurança padrão que tem o endereço de origem com o mesmo nome do grupo de segurança. Eficaz, não tem acesso. Teve que mudar essa fonte para o Anywhere e começou a funcionar.

dil
fonte
Olá, estou testando esse cenário 2 também. Instância pública e privada em sub-rede pública e privada. O ponto é que não entendo como a instância privada pode acessar a Internet e atualizar o software.
1
Obrigado, este foi o meu problema, eu estava assumindo, isso significa que todas as instâncias dentro VPC teve acesso
Santthosh
3

Notei que (acho) você precisa ter cuidado com a zona de disponibilidade em que sua instância é criada. A sub-rede, a interface de rede e a instância precisam estar na mesma zona de disponibilidade, caso contrário, não há como se conectar a um IP público para essa instância.

Posso estar errado - mas acho que não, isso me custou 12 horas de trabalho para descobrir.

Espero que isso ajude outra pessoa.

malsmith
fonte
Está correto. O cenário 1, conforme mencionado na resposta, é onde você cria uma /16VPC e, em seguida, cria uma /24em cada AZ em que deseja trabalhar.
Machavity
1

Você deve alocar um ENI e atribuir o IP elástico a este ENI. Além disso, você deve atribuir esse ENI à sua VPC. A tabela de rotas também deve estar correta para encaminhar corretamente os pacotes externos para sua VPC.

Lucas Freitas
fonte
Acredito que a adição de uma ENI é necessária quando você deseja interfaces de rede adicionais em suas instâncias; por padrão, elas vêm com uma NIC.
Zorlem 06/04
0

Como o SSH é um protocolo statefull, você precisa ter a seguinte regra OUTBOUND na ACL da sua rede:

Rule #  Type            Protocol        Port Range      Destination     Allow / Deny
100     Custom TCP Rule TCP (6)         49152-65535     0.0.0.0/0       ALLOW
Khalid Anwar
fonte