• Twitter
  • GitHub
  • Flickr
  • Skype
  • Contato

Blog

Envio e teste de e-mails em ambiente de desenvolvimento com Mailhog e MhSendmail: Olá! Estou de volta para demonstrar como podemos emular em nosso ambiente de...

Deploy para Amazon EC2 com SCP

Se você pretende utilizar ou começou recentemente a usar o Amazon EC2(Amazon Elastic Compute Cloud) serviço da Web que fornece uma capacidade de computação redimensionável na nuvem, e quer saber como realizar o deploy do projeto local para a nuvem. Você pode contar com a facilidade e recursos do Secure Copy (SCP), uma maneira de transferir arquivos entre o computador local e uma instância Linux. A maioria dos computadores Linux, Unix e Apple incluem um cliente SCP por padrão. Só lembrando que antes de usar os comandos SCP básicos em seu sistema local é necessário obter e habilitar alguns recursos do ambiente Amazon EC2, como o user name(ubuntu,ec2-user,...), nome da instância de DNS público, chave privada e habilitar o tráfego SSH. Feito isso, já em seu ambiente local, primeiro use o comando chmod para garantir que seu arquivo de chave privada(.pem) da instância, gerado e baixado por meio do painel Amazon EC2, não seja visível publicamente.

chmod 400 chave-amazon.pem

Para transferir um arquivo para a instância usando o nome DNS público da instância. Por exemplo, se o nome do arquivo de chave privada é o chave-amazon, o arquivo de transferência é arquivoX.txt, e o nome da instância do DNS público é ec2-198-51-100-1.compute-1.amazonaws.com, use o seguinte comando para copiar o arquivo para o diretório home ubuntu(Caso não utilize Ubuntu como ambiente, o nome de usuário muda, por exemplo 'ec2-user').

scp -i /home/seuusuario/chave-amazon.pem arquivoX.txt ubuntu@ec2-198-51-100-1.compute-1.amazonaws.com:~/public_html

Atualizado: A chamada '~/public_html' é o diretório criado em: '/home/ubuntu/public_html'. Um atalho foi adicionado no diretório '/var/www' e add em sites-enabled:DocumentRoot /var/www/public_html

Múltiplos arquivos podem ser especificados separados por um espaço.

scp -i /home/seuusuario/chave-amazon.pem foo.txt bar.txt ubuntu@ec2-198-51-100-1.compute-1.amazonaws.com:~/public_html

Realizando deploy.
Para copiar um diretório inteiro(recursivamente) do local para o ambiente Amazon EC2, use -r e especifique o diretório.

scp -i /home/seuusuario/chave-amazon.pem -r ~/public_html ubuntu@ec2-198-51-100-1.compute-1.amazonaws.com:~/public_html

Atualizado: Já ao contrário, do ambiente EC2 para a máquina local:

scp -i /home/seuusuario/chave-amazon.pem -r ubuntu@ec2-198-51-100-1.compute-1.amazonaws.com:~/public_html /home/seuusuario/projetolocal

[],s