amazon web services cli Exemplo de SSH para Elastic Beanstalk




install eb ssh (10)

As respostas acima são um pouco antigas.

Em primeiro lugar, crie um par de chaves e, em seguida, anexe-o ao ambiente do Elastic Beanstalk.

Etapas para criar um par de chaves

  1. Faça o login no AWS
  2. Serviços -> EC2
  3. À esquerda, sob NETWORK & SECURITY, selecione pares de chaves
  4. Selecione Criar novo par de chaves, digite o nome da chave e clique em criar. A chave será baixada automaticamente para o seu sistema.

Etapas para anexar o par de chaves criado ao ambiente do Elastic Beanstalk

  1. AWS -> Serviços -> Pé de Feijão Elástico

  2. Selecione seu ambiente e clique na configuração à esquerda.

  3. Na Visão geral da configuração, selecione modificar em Segurança.

  4. Em Permissões de máquina virtual, selecione o par de chaves que criamos.

  5. Clique em salvar e, em seguida, salve a configuração.

Isso levará algum tempo para refletir sua instância do EC2.

Eu acabei de me inscrever na nova oferta da Amazon Elastic Beanstalk. O que não consigo descobrir é como usar o SSH em uma instância do Beanstalk. Eu não tenho uma chave privada porque o Beanstalk gerou a instância em meu nome.


A direção para definir o par de chaves para uma instância do ElasticBeanstalk ec2 com a interface do usuário atual é: Aviso: Isso exigirá uma atualização das instâncias do EC2 no seu aplicativo ElasticBeanstalk. Nota: Você precisará ter criado um par de chaves no painel do EC2 antes disso.

1) No AWS Dashboard, selecione o serviço ElasticBeanstalk 2) Selecione o aplicativo que você deseja usar. 3) Selecione 'Configuração' 4) Selecione o ícone de engrenagem (configurações) na caixa de configuração 'Instâncias'. 5) Isso levará você a uma página chamada 'Server', onde você pode atualizar o campo suspenso 'EC2 key pair' com o seu par de chaves desejado e selecionar 'Save'.

Uma coisa a notar é que isso pode não funcionar para Aplicativos com várias instâncias (mas acredito que seja provável que estejam todos na mesma região que o par de chaves).



Você precisa se conectar à instância ec2 diretamente usando seu endereço IP público. Você não pode se conectar usando o URL do elástico.

Você pode encontrar o endereço IP da instância pesquisando-o no console ec2.

Você também precisa ter certeza de que a porta 22 está aberta. Por padrão, o EB CLI fecha a porta 22 depois que uma conexão ssh é concluída. Você pode chamar eb ssh -o para manter a porta aberta após a conclusão da sessão ssh.

Aviso: Você deve saber que o pé de feijão elástico pode substituir sua instância a qualquer momento. O estado não é garantido em nenhuma instância do seu beanstalk elástico. Provavelmente é melhor usar o ssh apenas para fins de teste e depuração, já que qualquer coisa que você modificar pode desaparecer a qualquer momento.


Há uma opção "Conectar" no menu "Ações da Instância" para a instância do EC2. Ele lhe dará o comando SSH exato para executar com o URL correto para a instância. As instruções gerais do Jabley estão corretas.


Minha experiência em agosto de 2013 com um cliente Linux e uma instalação simples do AWS Beanstalk (instância única do EC2) é a seguinte (com base no Wiki da comunidade acima)

Configurar grupo de segurança

  1. No console da AWS, selecione EC2 para acessar o painel do EC2
  2. Descubra o grupo de segurança ao qual sua instância do EC2 pertence clicando em Instances no painel esquerdo e selecionando a instância à qual você deseja se conectar (no meu caso, há apenas um - chamado Default Environment). Os detalhes são mostrados na base da página - Você deve ver um campo para Security Groups - anote o nome - no meu caso "awsweb ...".
  3. No painel esquerdo, selecione Grupos de segurança.
  4. Selecione o grupo de segurança awsweb... e os detalhes devem aparecer na base da página
  5. Selecione a guia Entrada e escolha SSH na lista suspensa "Criar uma nova regra". Insira o endereço IP / CIDR da sua máquina local (a partir da qual você pretende se conectar), por exemplo, 192.168.0.12/32 e clique em Add Rule e Apply Rule Changes.

Criar par de chaves públicas e privadas

  1. No painel do EC2, selecione Pares de chaves no painel esquerdo
  2. Clique em Par de chaves (na parte superior) e insira um nome como myname-key-pair-myregion ou qualquer nome de chave válido desejado.
  3. Confirme e aceite o download da chave privada do navegador, salvando-a, por exemplo, em seu diretório pessoal ou onde quer que você deseje. Certifique-se de que o diretório tenha apenas permissões de gravação para você.

Associe o par de chaves privada pública ao servidor Elastic Beanstalk EC2

  1. Para adicionar um par de chaves pública-privada a uma instância do Elastic Beanstalk EC2, faça: Serviços -> Elastic Beanstalk -> Meu aplicativo -> O ambiente padrão leva você ao ambiente padrão (aquele em que você fez o upload do seu aplicativo)
  2. Clique em Configuração (no painel à esquerda) e depois na engrenagem / roda dentada associada a "Instâncias"
  3. Uma página intitulada "Servidor" é exibida
  4. Selecione seu par de chaves pré-construído do par de chaves EC2 e salve
  5. Alguma mensagem de aviso é exibida, salve novamente.

Conecte-se à instância do AWS EC2 usando o SSH

  1. Em uma sessão de terminal, altere para o diretório que contém sua chave privada (arquivo .pem).
  2. Se você já teve algumas coisas, provavelmente deveria fazer algo sobre .ssh / known_hosts se tiver uma como renomeá-la. Caso contrário, você pode receber um erro sobre a identidade do host ter mudado.
  3. Do: ssh -i ./myname-key-pair-my-region.pem [email protected]

Boa sorte


Dependendo da configuração do ambiente, talvez você não tenha um endereço IP público na instância do EC2 criada para o seu ambiente. Você pode verificar por:

  1. Vá para o console do EC2
  2. Encontre sua instância e verifique a guia Descrição
  3. Se não houver IP público ...
  4. Clique em Elastic IPs on the Navigation
  5. Clique em Alocar novo endereço
  6. Escolha a Amazon para o pool
  7. Clique em Alocar

Por fim, selecione seu novo EIP e escolha Associar endereço no menu de ação. Associe esse IP à sua instância do EC2. Você deve poder se conectar usando o eb ssh agora.

Você pode redefinir os detalhes da conexão executando o comando eb ssh --setup .


Eu achei que fosse um processo de 2 passos. Isso pressupõe que você já tenha configurado um par de chaves para acessar instâncias do EC2 na região relevante.

Configurar grupo de segurança

  1. No console da AWS, abra a guia EC2.
  2. Selecione a região relevante e clique em Grupo de segurança.
  3. Você deve ter um grupo de segurança elasticbeanstalk-default se tiver iniciado uma instância do Elastic Beanstalk nessa região.
  4. Edite o grupo de segurança para adicionar uma regra para acesso SSH. O abaixo irá bloqueá-lo para permitir apenas a entrada de um endereço IP específico.

    SSH | tcp | 22 | 22 | 192.168.1.1/32
    

Configurar o ambiente do seu aplicativo Elastic Beanstalk

  1. Se você ainda não criou um par de chaves, faça um clicando em Pares de chaves abaixo de Grupo de segurança na guia ec2.
  2. No console da AWS, abra a guia Elastic Beanstalk.
  3. Selecione a região relevante.
  4. Selecione o ambiente relevante
  5. Selecione Configurações no painel esquerdo.
  6. Selecione instâncias.
  7. Em "EC2 key pair:", selecione o nome do seu par de chaves no campo Existing Key Pair .

Depois que a instância for relançada, você precisará obter o nome do host na guia de instâncias do AWS Console EC2 ou por meio da API. Você deve então poder fazer o ssh no servidor.

$ ssh -i path/to/keypair.pub [email protected]

Nota: Para adicionar um par de chaves à configuração do ambiente, a proteção de encerramento das instâncias deve estar desativada, pois o Beanstalk tentaria finalizar as instâncias atuais e iniciar novas instâncias com o KeyPair.

Nota: Se algo não estiver funcionando, verifique a guia "Eventos" no aplicativo / ambientes do Beanstalk e descubra o que deu errado.


Eu tenho brincado com isso também.

  1. vá até a aba do serviço de beanstalk elástico
  2. na visão geral do seu aplicativo vá em ação -> editar configuração
  3. adicione o nome de uma chave como aparece na guia EC2 (para a mesma região) à caixa de par de chaves existente e clique em aplicar alterações

O serviço será relançado, então faça um café por 5 minutos

Na sua guia ec2 para a mesma região, você verá sua nova instância em execução. ssh para o nome do DNS público como usuário ec2 usando a chave adicionada em 3, por exemplo, ssh [email protected]


Eu também corri para o mesmo problema há algum tempo atrás. Eu queria usar o arquivo de chave, mas a Amazon diz em algum lugar que você não pode adicionar um arquivo de chave a um servidor EC2 existente. Para o primeiro aplicativo Beanstalk, a Amazon pré-configura o aplicativo para você. Você precisa criar um novo aplicativo, e você pode configurar o servidor EC2 que executa o aplicativo Beanstalk para usar um arquivo pem antigo (ppk se estiver usando o Putty), ou você pode criar um novo. Agora você deve poder usar o SSH.

Em seguida, configure e exclua seu aplicativo antigo.





amazon-elastic-beanstalk