Acessando uma EC2 atraves do SSM

O Session Manager permite que você estabeleça conexões seguras para as instâncias EC2

Oque é o Session Manager

Configurar o Session Manager

O Session Manager oferece suporte a Linux, MacOS e Windows Server 2012 até o Windows Server 2019, sabendo disso vamos precisar seguir alguns passos para que possamos utilizar o AWS SSM em nossa EC2.

1. Criar uma IAM Role com acesso ao SSM

Acesse o painel de gerencimaento do IAM e selecione a opção Roles em seguida seleciona a opção Create Role.

Precisamos criar uma role baseada em serviços entao selecione a opção AWS Services e busque por Ec2 e Next.

Agora busque pela police gerenciada pela Amazon chamada AmazonEC2RoleforSSM e Next.

Adicione as tags conforme sua organizaçao determina e em seguida de um nome para sua role, nesse caso coloquei o nome de Ec2RoleSSM.

2. Atachar a role em uma EC2

Pelo console da Amazon, acesse o painel de instâncias dentro de EC2, la você encontrara todas sa suas instâncias:

Selecione a instância com botão direito e selecione Security > Modify IAM Role

Selecione a IAM Role que criamos anteriormente e aplique.

3. Instalar o Agent

Em instâncias que não Amazon Linux á necessário realizar a instalação do SSM Agent para que a partir dai possamos gerar uma sessão pelo console da Amazon utilizando o SSM.

Nesse ponto, existem duas possibilidades, você pode criar uma instância EC2 configura-la com o SSM e a partir dela gerar uma AMI para sempre que lançar uma nova EC2 a partir dessa AMI já ter as configurações de SSM instaladas, ou sempre que lançar uma AMI do marketplace acessar primeiro por SSH e instalar os pacotes necessários.

Vamos realizar o processo de configuração em uma instância Ubuntu recem criada a partir de uma imagem do marketplace.

3.1. Acesse a instancia por SSH

Utilize um cliente SSH para acessar a instância utilizando a private key que definimos durante a criação, por exempo:

ssh [email protected] -i thiagoalexandria.pem

3.2. Instale o ssm agent

Nesse exemplo estamos utilizando o ubuntu, porem não precisa se preocupar o processo é bem semelhante, basta seguir com a instalação baseada no seu sistema operacional atraves da documentação. Pelo Ubuntu basta instalar utilizando o snap, da seguinte forma:

sudo snap install amazon-ssm-agent --classic

3.3. Habilite e inicie o serviço

No ubuntu, como observado, temos alguma mudanças na forma com que o serviço e chamado devido a instalação ocorrer pelo snap. Dessa forma segue abaixo os comandos para gerencia-lo pelo systemctl.

systemctl start snap.amazon-ssm-agent.amazon-ssm-agent.service
systemctl status snap.amazon-ssm-agent.amazon-ssm-agent.service
systemctl stop snap.amazon-ssm-agent.amazon-ssm-agent.service

Outra forma e gerencia-lo pelo snap:

snap services amazon-ssm-agent
snap list amazon-ssm-agent
snap start amazon-ssm-agent
snap restart amazon-ssm-agent

3.4. Acesse a instancia pelo SSM

Pronto, agora basta seleciona a instância e clicar em Connect, feito isso sera redirecionado para o painel no qual você podera escolher a forma de conexão, selecione o Session Manager e Connect.

Trabalhando com Session Manager

Caso prefira trabalhar atraves do console, e possível criar uma sessão ssm utilizando o aws cli, para isso basta que realizemos algumas configurações em nossa máquina local.

Sera necessário que instalemos o Session Manager plugin em nosso sistema operacional, para isso basta seguir com o tutorial especifico para o seu sistema através da documentação oficial.

Com o plugin instalado sera possível criarmos uma sessão para o ssm e utilizar como se fosse ssh, para isso basta que busque o id da instância e execute o comando da seguinte forma:

aws ssm start-session --target <instance-id>

Obseve:

Espero que tenham entendido o poder e facilidade de termos o SSM instalado na nossa infraestutura que roda dentro da AWS, qualquer dúvida podem deixar no campo de comentários que vamos respondendo.

Comentários