Como transferir arquivos de EC2 para S3

Como transferir arquivos de EC2 para S3
EC2 (Elastic Compute Cloud) é um serviço de computação escalável fornecido pela AWS. Você pode usar o serviço AWS EC2 para iniciar servidores virtuais na nuvem em segundos ou minutos. A AWS fornece seleção no nível de hardware ao inicializar uma instância EC2 (Máquina Virtual EC2). Você pode selecionar arquitetura de hardware, sistema operacional, armazenamento e diferentes configurações de CPU e memória, dependendo de seus requisitos.
S3 (um serviço de armazenamento simples) é um serviço de armazenamento altamente disponível e escalável fornecido pela AWS. Ele fornece armazenamento quase infinito, mas você só será cobrado pelo que usa neste armazenamento. S3 armazena seus dados em vários lugares para que você não perca seus dados em caso de desastre. É por isso que o S3 pode ser usado para fazer backup de seus dados importantes.
Enquanto trabalha no EC2, às vezes você precisa armazenar alguns dados importantes da instância do EC2 para S3 regularmente, como backups de banco de dados ou alguns outros dados importantes como backup, porque os servidores EC2 podem travar na AWS e você pode perder todos os seus dados. Neste blog, discutiremos como podemos mover dados importantes do EC2 para S3.

Instalando o pacote AWSCLI

Primeiro, você precisa instalar o awscli Pacote em sua instância do EC2. O awscli O pacote é usado para interagir com a AWS usando a interface da linha de comando. Verifique a versão do awscli pacote para verificar se já está instalado ou não.

ubuntu@ubuntu: ~ $ aws --versões

Para instalar o awscli pacote, primeiro, baixe o arquivo zip embalado usando o comando curl.

ubuntu@ubuntu: ~ $ curl "https: // awscli.Amazonaws.COM/AWSCLI-OXE-Linux-X86_64.zip "-o" awscliv2.fecho eclair"

Descompactar o pacote usando o descompactar comando.

ubuntu@ubuntu: ~ $ descompacto awscliv2.fecho eclair

Instale o awscli pacote usando o seguinte comando.

ubuntu@ubuntu: ~ $ sudo ./AWS/instalação

Ativar acesso S3 na instância do EC2

Depois de instalar o awscli Pacote, agora ative o acesso S3 na instância do EC2 para que a instância do EC2 possa armazenar dados para S3. Existem duas maneiras de conceder acesso à instância do EC2. Você pode usar qualquer um deles para conceder acesso.

  • Acesso à concessão usando o papel do IAM (maneira recomendada)
  • Concessão de acesso usando o ID da chave de acesso

Acesso à concessão usando o papel do IAM (maneira recomendada)

As instâncias do EC2 podem ter acesso ao upload de arquivos no S3 usando a função IAM. Uma função do IAM com acesso ao upload de dados no S3 é criada e anexada à instância do EC2.

OBSERVAÇÃO: Nunca conceda permissões extras usando o papel do IAM. Se outra pessoa tiver acesso à sua instância do EC2, ele poderá usá -lo para fornecer recursos extras à sua conta.

Para criar um papel de IAM, primeiro, crie uma política de IAM com permissões específicas. Faça login no console de gerenciamento da AWS e procure IAM na barra de pesquisa.

Clique nas 'políticas' do painel lateral esquerdo em 'Access Management'.

Agora clique no botão 'Criar política' aparecendo no lado direito.

Ele exibirá uma página para criar uma política. Selecione a guia 'Editor visual' no topo.

Do editor visual, selecione S3 como serviço, Putobject na categoria de escrita como ação e Todos os recursos como um recurso.

Depois de especificar o serviço, ação e recurso, agora clique no botão 'Avançar' no canto inferior direito.

As tags são opcionais e podem ser ignoradas clicando no botão 'Next' no canto inferior direito.

Adicione o nome da política na página de revisão e clique no botão 'Criar política' para criar a política.

Depois de criar a política do IAM, clique nos 'papéis' do painel lateral esquerdo no console do IAM.

Clique no botão 'Criar função' para criar uma nova função.

Selecione 'Serviço da AWS' como uma entidade confiável e 'EC2' como um caso de uso e clique no botão 'Next' para adicionar permissões.

Para permissões, selecione a política do IAM criada na etapa anterior e clique em 'Next'.

Adicione o nome da função e clique no botão 'Criar função' para criar a função.

Agora o papel do IAM foi criado; É hora de anexá -lo à instância do EC2. Procure o EC2 no console de gerenciamento da AWS.

Clique nas 'instâncias' do painel lateral esquerdo e ele exibirá todas as instâncias.

Selecione a instância que deseja conceder acesso ao upload de arquivos no S3 e clique no botão 'Ações' no canto superior direito do console. Selecione a função de segurança> Modificar iam no menu suspenso.

Selecione a função IAM criada anteriormente e clique no botão Salvar. Agora a instância do EC2 recebeu acesso para fazer upload de arquivos no S3.

Concessão de acesso usando o ID da chave de acesso

Para conceder acesso ao EC2 uma instância usando a chave de acesso, primeiro gere uma nova chave de acesso do console do IAM. No console do IAM, clique nos 'usuários' sob o 'acesso gerencial' do painel lateral esquerdo.

Clique na sua conta de usuário e vá para a guia 'Credenciais de segurança' da lista do usuário.

Na guia 'Credenciais de segurança', clique na 'Create Access Key' para gerar uma nova chave de acesso.

Faça o download do arquivo CSV que contém o ID da chave de acesso e a chave de acesso secreto.

Depois de gerar a chave de acesso e a chave de acesso secreto, faça login na instância do EC2 usando o SSH e configure a chave de acesso.

ubuntu@ubuntu: ~ $ AWS Configurar

Ele solicitará um ID da chave de acesso e a chave de acesso secreto. Forneça as credenciais que acabamos de gerar.

Agora a instância do EC2 tem acesso para fazer upload dos arquivos no S3 usando a interface da linha de comando.

Carregue arquivos para S3 do EC2

Antes de enviar os arquivos para S3, primeiro, crie um balde S3. No console de gerenciamento, procure S3.

No console S3, clique no botão 'Criar balde'.

Digite o nome e a região do balde, deixe o restante das configurações por padrão e crie o balde. O nome do balde S3 deve ser universalmente único.

Agora faça login na sua instância do EC2 usando o SSH e faça o upload do arquivo para S3 usando a interface da linha de comando. A sintaxe para fazer upload do arquivo para S3 é a seguinte.

Ubuntu@ubuntu: ~ $ AWS S3 CP [arquivo de origem] [Destino no S3] -Reregion [região do balde S3]

Para copiar um arquivo nomeado.txt para s3, use o seguinte comando.

ubuntu@ubuntu: ~ arquivo cp s3 aws.txt s3: // linuxhint-demo-bucket/--region US-leste-1

Para verificar se o arquivo está presente no balde S3 ou não, use o seguinte comando.

ubuntu@ubuntu: ~ $ aws s3 ls s3: // linuxhint-demo-bucket/--region US-leste-1

O arquivo foi copiado para o balde S3. Em vez de copiar um arquivo para S3, também podemos mover o arquivo para S3.

ubuntu@ubuntu: ~ $ AWS S3 MV NOVO FIL.txt s3: // linuxhint-demo-bucket/--region US-leste-1

Conclusão

Os arquivos das instâncias do EC2 podem ser salvos como um backup, carregando -os no S3 (serviço de armazenamento simples). Este blog descreve o procedimento para fazer upload de arquivos de EC2 para S3 usando duas maneiras diferentes, eu.e., Usando o papel do IAM e o ID da chave de acesso. Depois de ler este blog, espero que você possa transferir facilmente arquivos de EC2 para S3 usando de qualquer maneira.