Como transferir arquivos da instância do EC2 para a máquina local

Como transferir arquivos da instância do EC2 para a máquina local
Enquanto gerencia as instâncias do EC2 na AWS, você precisa mover dados de uma instância do EC2 para a máquina local. Por padrão, a instância do AWS EC2 requer autenticação de chave SSH para acessar a instância; portanto, às vezes, é difícil para iniciantes baixar dados da instância do EC2 para a máquina local. Existem várias maneiras de mover dados da instância do EC2 para a máquina local, e este blog descreve as seguintes maneiras.
  • Movendo arquivos via comando scp
  • Movendo arquivos via S3 (serviço de armazenamento simples)
  • Movendo arquivos via servidor FTP

Movendo arquivos via comando scp

O SCP (cópia segura) O comando é usado para transferir arquivos com segurança de máquinas locais para servidores remotos e vice -versa. Este comando usa o protocolo SSH para mover arquivos de e para o servidor remoto. Você precisa ter o par de teclas privado usado para ssh no servidor para usar este comando. Se a autenticação baseada em senha estiver ativada no seu servidor SSH, você poderá usar o nome de usuário e a senha, em vez da tecla SSH para mover os arquivos da instância do EC2 para a máquina local.

O SCP O comando pode ser usado da seguinte maneira.

ubuntu@ubuntu: ~ $ scp -i @:

Ou se a autenticação baseada em senha estiver ativada.

ubuntu@ubuntu: ~ $ scp @:

Para copiar um arquivo “File1.txt ”do diretório doméstico da instância do EC2 até o atual diretório de trabalho no sistema local, use o SCP comando da seguinte forma.

ubuntu@ubuntu: ~ $ scp -i Publickp.pem ubuntu@: ~/file1.TXT ./

Ou se a autenticação baseada em senha estiver ativada.

ubuntu@ubuntu: ~ $ scp ubuntu@: ~/file1.TXT ./

Depois de copiar o arquivo, use o ls comando para verificar se o arquivo foi copiado da instância do EC2 ou não.

ubuntu@ubuntu: ~ $ ls

Por padrão, o SCP O comando copia os dados sobre a porta 22 (porta SSH padrão), mas se o servidor SSH estiver em execução em outra porta como 5000, o -P a opção também é adicionada junto com o SCP comando para especificar a porta.

ubuntu@ubuntu: ~ $ scp -i Publickp.PEM -P 5000 Ubuntu@: ~/file1.TXT ./

Para copiar um diretório junto com todos os arquivos dentro dele recursivamente, use o -r opção.

ubuntu@ubuntu: ~ $ scp -i Publickp.PEM -P 5000 -R Ubuntu@: ~/dir ./

Depois de baixar o diretório do EC2, liste todos os arquivos nele usando o ls comando.

ubuntu@ubuntu: ~ $ ls dir/

Movendo arquivos via S3

S3 (Simple Storage Service) é um serviço de armazenamento altamente disponível e infinitamente escalável fornecido pela AWS. A melhor parte deste serviço é que você só será cobrado pelo armazenamento que usa. S3 pode ser usado como um serviço intermediário para transferir arquivos de uma instância EC2 para o sistema local. Primeiro, transfira o arquivo da instância do EC2 para o S3 e depois faça o download do arquivo do console S3. Para mover arquivos para o S3, o primeiro ssh em sua instância do EC2.

ubuntu@ubuntu: ~ $ ssh ubuntu@ -eu

Antes de mover o arquivo para S3, primeiro, verifique se se,

  • O awscli O pacote está instalado em sua instância
  • A instância tem acesso para fazer upload de arquivos para S3

Você pode ler sobre a instalação do pacote AWSCLI e concedendo acesso à instância para fazer upload de arquivos no S3 aqui (como transferir arquivos do EC2 para o S3). Faça o upload do arquivo para o balde S3 usando o seguinte comando.

ubuntu@ubuntu: ~ $ AWS S3 MV FALTA DE TEXTO.txt s3: // linuxhint-demo-bucket/

Depois de enviar o arquivo da instância do EC2 para o S3, agora faça o download do arquivo de S3 para o sistema local. Para isso, faça o login no console de gerenciamento da AWS e pesquise o serviço S3.

Agora procure o nome do bucket do console S3, você mudou seu arquivo para 'Linuxhint-demo-bucket' neste caso.

Vá para o balde, selecione o arquivo que você transferiu da instância do EC2 e clique no botão 'Download' para baixar o arquivo no seu sistema local.

Movendo arquivos via servidor FTP

Outra maneira de transferir arquivos da instância do EC2 para o sistema local é usando o servidor FTP. FTP é um protocolo de transferência de arquivos usado para transferir arquivos de um sistema para outro sistema. Para transferir arquivos para o sistema local da instância do EC2, primeiro instale o servidor FTP na sua instância EC2.

ubuntu@ubuntu: ~ ~ sudo apt install vsftpd

Iniciar e ativar o vsftpd Serviço em sua instância EC2.

ubuntu@ubuntu: ~ $ sudo systemctl start vsftpd
ubuntu@ubuntu: ~ $ sudo systemctl enable vsftpd

Depois de instalar o servidor FTP na instância do EC2, agora defina a senha para o usuário. A instância do EC2, por padrão, não possui uma senha definida para a conta de usuário padrão. É por isso que você precisa configurar a senha para o usuário padrão na instância do EC2.

ubuntu@ubuntu: ~ $ sudo passwd

Depois de configurar a senha para a conta de usuário padrão na instância do EC2, agora instale o Filezilla Aplicativo cliente FTP em sua máquina local. O Filezilla O aplicativo cliente será usado para se conectar ao servidor FTP na instância do EC2 para baixar os arquivos.

ubuntu@ubuntu: ~ $ sudo apt install filezilla

Antes de baixar o arquivo da instância do EC2 para a máquina local usando o servidor FTP, verifique se o arquivo está dentro do diretório inicial na instância do EC2.
Abra o Filezilla no sistema local, forneça as credenciais e clique no 'QuickConnect' para se conectar ao servidor FTP

Vá para o diretório desejado no lado remoto, selecione o arquivo que deseja baixar e baixar o arquivo.

Conclusão

Transferir os arquivos importantes da instância do EC2 para a máquina local é uma rotina diária para um administrador do sistema. Este artigo explica maneiras diferentes de transferir arquivos de uma instância do EC2 para o sistema local. Depois de passar por este blog, será muito mais fácil transferir arquivos da instância do EC2 para o sistema local usando maneiras diferentes.