Não é possível usar o SSH na instância de pilha do AWS CloudFormation

8

Eu tenho um balanceador de carga escalonável configurado agora que foi seguido principalmente deste modelo:

link

Depois de ajustar a tecla AWS::AutoScaling::AutoScalingGroup.CreationPolicy.ResourceSignal.Count para 0 (basicamente permite que a pilha seja carregada sem nenhum sinal de sucesso recebido), consegui carregar a pilha e ver todos os recursos disponíveis.

Eu posso ver o DNS público das chaves sendo criadas, mas não consigo SSH na instância.

Eu tenho um acesso SSH aberto a todos dentro das minhas regras de instância, posso confirmar isso no console da AWS.

Também configurei uma rota para o meu VPC conforme recomendado nos documentos oficiais da AWS: link

Eu posso ver as instâncias existentes, mas parece que estou restringindo meu acesso em algum lugar. No entanto, dentro do console do AWS EC2, as configurações parecem terem a mesma aparência de quando eu sou capaz de SSH em uma instância.

Aqui está o meu modelo JSON que estou usando, onde você pode ver todas as minhas configurações, incluindo meu VPC, sub-redes, grupos de segurança, etc .: link

Estou recebendo um erro de tempo limite do seguinte comando: (minha chave id_rsa é válida em ec2)

ssh -i ~/.ssh/id_rsa ec2-user@<ec2_instance>

Como posso usar o SSH em minhas instâncias? Agradecemos antecipadamente pela ajuda!

    
por domdambrogia 01.11.2018 / 18:18

1 resposta

9

O problema é que o modelo do CloudFormation cria um RouteTable com a rota padrão 0.0.0.0/0 apontando corretamente para o IGW , no entanto, você não associa o RouteTable com suas sub-redes.

OquevocêprecisafazeréadicionaressasduasAssociaçõesdaTabeladeRotaaomodelo:

"Subnet1RT":{
            "Type" : "AWS::EC2::SubnetRouteTableAssociation",
                "Properties" : {
                    "RouteTableId" : { "Ref": "RouteTable" },
                    "SubnetId" : { "Ref": "Subnet1" }
                }
        },
        "Subnet2RT":{
            "Type" : "AWS::EC2::SubnetRouteTableAssociation",
                "Properties" : {
                    "RouteTableId" : { "Ref": "RouteTable" },
                    "SubnetId" : { "Ref": "Subnet2" }
                }
        },

Em seguida, Atualize a pilha ...

EverifiquenovamenteaTabeladerotas

Agora você deve conseguir o SSH para as instâncias:

~ $ ssh 54.209.123.119
Last login: Thu Nov  1 18:54:54 2018 from ...

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/
[ec2-user@ip-10-0-2-229 ~]$ 

Espero que ajude:)

    
por 01.11.2018 / 19:57