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?


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 .


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.


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.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.