Usar o Amazon S3 com instâncias do Amazon EC2
O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos que oferece escalabilidade líder do setor, disponibilidade de dados, segurança e performance. É possível usar o Amazon S3 para armazenar e recuperar qualquer volume de dados para uma variedade de casos de uso, como data lakes, sites, backups e big data analytics, diretamente de uma instância do Amazon EC2 ou de qualquer lugar na Internet. Para obter mais informações, consulte O que é a Amazon S3?
Há duas maneiras de acessar dados do Amazon S3 em instâncias do Amazon EC2:
-
Acesso a arquivos: use o Amazon S3 Files para montar um bucket do S3 como um sistema de arquivos de alto desempenho na instância.
-
Acesso a objetos: use a API do Amazon S3, a AWS CLI, os SDKs da AWS ou ferramentas como o wget para copiar objetos de e para o S3.
Acesso a arquivos com o Amazon S3 Files
O Amazon S3 Files é um sistema de arquivos com tecnologia sem servidor que permite montar o bucket S3 de uso geral como um sistema de arquivos de alta performance na sua instância computacional. Com o Amazon S3 Files, é possível acessar os objetos do Amazon S3 como arquivos usando as operações dos sistemas de arquivos padrão, como leitura e gravação no caminho de montagem local.
É possível montar um sistema de arquivos do S3 em uma instância do EC2 na inicialização ou depois, em uma instância em execução.
Pré-requisitos
Antes de configurar o S3 Files com a instância do EC2, certifique-se de ter os seguintes pré-requisitos:
-
Um sistema de arquivos do S3 com pelo menos um destino de montagem disponível. Para saber mais sobre a criação de um sistema de arquivos do S3, consulte Trabalhar com o Amazon S3 Files no Guia do usuário do Amazon S3.
-
Uma instância do Amazon EC2 Linux com um perfil de instância anexado. Para saber mais sobre as permissões necessárias para montar o sistema de arquivos, consulte Perfis e políticas do IAM no Guia do usuário do Amazon S3.
-
Grupos de segurança que permitam o tráfego NFS (porta 2049) entre a instância e os destinos de montagem do sistema de arquivos. Para saber mais sobre as configurações de grupo de segurança exigidas, consulte Grupos de segurança no Guia do usuário da Amazon S3.
Para montar um sistema de arquivos em uma instância do EC2 na inicialização usando o console do EC2
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
Escolha Iniciar instância.
-
Em Network settings (Configurações de rede), faça o seguinte:
-
Escolha Editar.
-
Em Subnet (Sub-rede), selecione uma sub-rede.
-
Selecione o grupo de segurança padrão para que a instância do EC2 possa acessar o sistema de arquivos do S3. Não é possível acessar a instância do EC2 por Secure Shell (SSH) usando esse grupo de segurança. Para acesso por SSH, edite o grupo de segurança padrão e adicione uma regra para permitir SSH ou adicione um novo grupo de segurança que permita SSH. É possível usar as seguintes configurações:
-
Tipo: SSH
-
Protocolo: TCP
-
Intervalo de portas: 22
-
Fonte: Qualquer lugar 0.0.0.0/0
-
-
-
Em Configurar armazenamento, faça o seguinte:
-
Em Sistemas de arquivos, escolha S3 Files.
-
Selecione Add shared file system (Adicionar sistema de arquivos compartilhado).
-
Em Sistema de arquivos do S3, o sistema de arquivos aparece na zona de disponibilidade com base na sub-rede selecionada nas configurações de rede. Escolha o sistema de arquivos do S3 que você deseja montar. Se você não tiver nenhum sistema de arquivos, clique em Criar um sistema de arquivos para criar um.
-
Insira um caminho de montagem local na instância do EC2 na qual você deseja montar o sistema de arquivos (por exemplo,
/mnt/s3files). -
Um comando será gerado para montar o sistema de arquivos e adicioná-lo a fstab. Você pode adicionar esse comando ao campo Dados do usuário em Detalhes avançados. A instância do EC2 será configurada para montar o sistema de arquivos do S3 na inicialização e sempre que ela for reinicializada. Você também pode executar esses comandos na sua instância do EC2 depois que ela for inicializada.
-
-
Em Detalhes avançados, anexe um perfil de instância à instância. Seu perfil do IAM deve ter permissões para montar o sistema de arquivos e acessar o bucket do S3. Para saber mais sobre as permissões necessárias, consulte Perfis e políticas do IAM no Guia do usuário do Amazon S3.
-
Escolha Iniciar instância.
Depois que a instância é inicializada, os utilitários de software necessários são instalados e o sistema de arquivos é montado. Você pode visualizar o sistema de arquivos navegando até o caminho de montagem local.
Para montar um sistema de arquivos em uma instância do EC2 após a inicialização
-
Conecte-se à instância do EC2 com Secure Shell (SSH) ou usando o EC2 Instance Connect no console do EC2.
-
Para montar o sistema de arquivos do S3, use o utilitário assistente de montagem
amazon-efs-utils. Dependendo da distribuição do Linux, use um dos comandos a seguir para instalar o pacoteamazon-efs-utils:-
Se você usar o Amazon Linux, execute o seguinte comando para instalar efs-utils dos repositórios da Amazon:
sudo yum -y install amazon-efs-utils -
Se você usar outras distribuições do Linux compatíveis
, execute o seguinte comando: curl https://amazon-efs-utils.aws.com/efs-utils-installer.sh | sudo sh -s -- --install -
Para outras distribuições do Linux, consulte o repositório efs-utils
no GitHub.
-
-
Crie um diretório como ponto de montagem do sistema de arquivos usando o seguinte comando:
sudo mkdir {path/to/mount} -
Monte o sistema de arquivos do S3:
FS="{YOUR_FILE_SYSTEM_ID}" sudo mount -t s3files $FS:/ {path/to/mount} -
Confirme que o sistema de arquivos está montado:
df -h {path/to/mount}
Para visualizar os objetos no bucket do S3 como arquivos
Tendo concluído os procedimentos anteriores, você já pode ler e gravar objetos do S3 como arquivos no caminho de montagem local usando operações de sistemas de arquivos padrão. Se você tiver objetos no bucket do S3, poderá visualizá-los como arquivos usando os seguintes comandos:
ls {path/to/mount}
Acesso com base em objetos
Você pode copiar arquivos de e para o Amazon S3 usando a API do S3, a AWS CLI, os SDKs da AWS ou as ferramentas HTTP padrão. Se você tiver as permissões necessárias, poderá copiar um arquivo entre o Amazon S3 e sua instância usando um dos seguintes métodos.