Precisa ssh de um servidor do Amazon EC2 para outro

10

Basicamente, preciso conectar-me de uma instância de EC2 a outra usando o SSH. Eu corro o comando ssh -i path-to-pem-file ec2-user@dns-address-of-ec2-instance e ele expira.

Configurei meu grupo de segurança para permitir a entrada de SSH a partir do endereço IP público da minha segunda instância do EC2, mas ainda não funciona. Eu sei que tudo deve estar bem, porque quando eu definir o meu tráfego de entrada SSH para "permitir de qualquer lugar", eu posso conectar sem problemas. Também posso conectar-me à instância do EC2 de uma máquina doméstica (adicionei meu endereço IP ao grupo de segurança) sem problemas.

Obviamente, não posso deixar meu tráfego de entrada aberto para "permitir de qualquer lugar", mas parece que não consigo me conectar quando o limite apenas ao endereço IP da segunda instância do EC2. Talvez o endereço IP público não seja o que devo colocar no grupo de segurança?

Também não consigo fazer o ping; apenas expira. Aqui está o resultado de ssh -vv -i path-to-pem-file ec2-user@dns-address-of-ec2-instance

OpenSSH_6.2p2, OpenSSL 1.0.1h-fips 5 Jun 2014
debug1: Reading configuration data /home/ec2-user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 50: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to dns-address [IP Address different from public ip] port 22.
debug1: connect to address [IP Address different from public ip] port 22: Connection timed out
ssh: connect to host dns-address port 22: Connection timed out
    
por Pompey 21.07.2014 / 02:21

1 resposta

11

As instâncias do EC2 usam um endereço 10.X.X.X interno (ou outro endereço, se usar um VPC), e o tráfego para seu endereço IP "público" é simplesmente redirecionado para o endereço IP interno. As instâncias do EC2 também usam um servidor DNS diferente que não é acessível publicamente. Quando você resolve o nome do host da outra instância do EC2, porque você está dentro da rede AWS , ele oferece a% da instância10.X.X.X address em vez do endereço IP público. Isso impede que o tráfego tenha que sair para a Internet e voltar, o que o torna mais rápido.

Mesmo se você puder colocar na lista de permissões por endereço IP, isso não é uma boa ideia, pois no modo clássico do EC2, tanto o endereço interno quanto o público podem mudar. A solução adequada é a lista de permissões por grupo de segurança. Você basicamente adiciona uma regra ao grupo de segurança de destino dizendo para permitir a porta 22 de um grupo de segurança de origem específico.

Se as duas instâncias estiverem na mesma conta, você simplesmente permitirá sg-1234abcd (onde sg-1234abcd é o grupo de segurança do qual a instância de origem é membro). Se eles estiverem em contas diferentes, inclua o número da conta, como 111122223333/sg-1234abcd .
Consulte a documentação para obter informações adicionais.

    
por 21.07.2014 / 03:05