Dentre os serviços prestados pela Amazon Web Services (AWS), está a possibilidade de gerar um servidor virtual na nuvem usando diferentes combinações de CPU, memória, armazenamento e capacidade de rede – as chamadas instâncias. Através de seu console web, é possível obter informações para acessar a instância a partir de seu computador e trabalhar nela remotamente.
Considerando que já tenha uma conta com uma instância criada (veja mais no post AWS para principiantes), veja o que precisa fazer para acessá-la. Quando a instância é inicializada pela primeira vez, a chave pública especificada no lançamento é criada. Ela deve ser baixado para sua máquina e ter suas permissões alteradas (use o comando “sudo chmod 400 my-key-pair.pem”). Posteriormente, ela fica disponível na instância em uma entrada dentro de ~/.ssh/authorized_keys.
Feito isso, será necessário acessar o console para consultar o endereço dela na web (ele muda se a instância for interrompida) e executar os comandos no terminal local para acesso e/ou transferência de arquivos. Veja passo a passo:
- Acesse o console pela URL console.aws.amazon.com com seu login e senha
- Caso necessário, mude a região – para South America (São Paulo), por exemplo – no canto superior direito da tela
- No menu de buscas na parte superior da tela, digite “instances” e clique em “Features -> Instances: EC2 feature”
- Caso a instância desejada não esteja iniciada, clique nela e no menu “Estado da instância”, clique em “iniciar instância”
- Pegue o DNS IPv4 público (“Public IPv4 DNS”) nessa página
De posse dessas informações, você pode executar o seguinte comando (personalizado para seu caso) para acessar o terminal da instância:
ssh -i /path/private-key.pem user-name@public-dns
Essas informações também estão disponíveis ao clicar no botão “conectar” e escolher a aba “Cliente SSH”.
Para copiar arquivos, você pode usar o SCP conforme o exemplo a seguir:
scp -i /path/private-key.pem arquivo-local.gz user-name@public-dns:/remote-path
O tmux é um programa parecido com o screen, sendo interessante usar para deixar rodando um script por muito tempo. Para criar uma sessão (e evitar timeout), execute o seguinte comando:
tmux new -s nome-da-sessao
Se estiver usando uma instância com outros usuários, coloque um nome de sessão que o identifique. Rode o que precisar dentro da sessão e, quando sair, para deixar rodando, saia digitando ‘CTRL+b’ e depois ‘d’. Mesmo que der logout do ssh, a sessão continua.
Para recuperar sua sessão, execute o seguinte comando:
tmux attach-session -t nome-da-sessao
Se não lembrar, pode consultar com o comando “tmux ls”. Para finalizar uma sessão, use:
tmux kill-session -t
Quando terminar de trabalhar com a instância, se ninguém mais for usar (pessoa ou serviço ligado à ela), alguns interrompem seu funcionamento para deixar de gerar cobrança da Amazon. Através do serviço de virtualização na nuvem, do acesso SSH e do programa de sessões, é possível trabalhar com alto poder de computação e redução de custos com grande segurança e praticidade.
Fontes