AWS: Como montar o intervalo S3 na instância do EC2 Linux usando a função IAM

Este blog foi movido de médio para blogs.tensult.com. Todo o conteúdo mais recente estará disponível lá. Assine nosso boletim informativo para se manter atualizado.

Podemos montar um balde S3 em uma instância AWS como um sistema de arquivos conhecido como S3fs. É um aplicativo de sistema de arquivos FUSE apoiado por Amazon Web Services, que permite montar um bucket do Amazon S3 como um sistema de arquivos local. Podemos usar os comandos do sistema com esta unidade como qualquer outro disco rígido do sistema. Em sistemas de arquivos montados s3fs, podemos simplesmente usar cp, mv e ls, os comandos básicos do Unix, semelhantes à execução em discos conectados localmente.

Sistema de arquivos no espaço do usuário ( FUSE ) é uma interface de software para sistemas operacionais de computador Unix e semelhantes ao Unix que permite que usuários sem privilégios criem seus próprios sistemas de arquivos sem editar o código do kernel. Isso é obtido executando o código do sistema de arquivos no espaço do usuário, enquanto o módulo FUSE fornece apenas uma “ponte” para as interfaces reais do kernel.

<✓ Por que S3 Bucket?

Podemos considerar o NFS como uma solução, mesmo agora temos o EFS da Amazon, mas é caro e até os mesmos dados foram usados ​​para sua solução de análise. Portanto, pensamos em usar o S3 para atender aos dois requisitos.

Siga as etapas abaixo para montar seu bucket S3 em sua instância do Linux.

Estamos assumindo que você tem uma instância Linux EC2 (Red Hat / Centos) em execução na AWS com acesso root e um bucket criado no S3 que deve ser montado na sua instância Linux.

Etapa 1: usando a nova instância do CentOS ou Red Hat. Atualize o sistema.

Etapa 2: instale os pacotes necessários

Primeiro, instalaremos todas as dependências de fuse e s3cmd. Instale os pacotes necessários para o sistema usar o seguinte comando.

Etapa 3: baixe o código-fonte s3fs do git.

Etapa 4: agora compile e instale o código.

Seguir o conjunto de comandos compilará o fusível e adicionará o módulo do fusível ao kernel.

Etapa 5: use o comando abaixo para verificar onde o comando s3fs é colocado no sistema operacional.

Etapa 6: criando uma função IAM para o intervalo s3

Crie uma função IAM com política tendo acesso apropriado a um intervalo específico.

Por exemplo: – Meu nome de função IAM é s3fsmountingrole e o intervalo criado é s3fs-demobucket

A política anexada deve ter acesso de leitura / gravação para o bucket s3fs-demobucket

Insira a descrição do nome da política e o documento da política conforme abaixo

Anexe a função IAM à instância em execução ou inicie uma nova instância

Etapa 7: agora crie um diretório ou forneça o caminho de um diretório existente e monte o S3bucket nele.

Etapa 8 : agora monte o intervalo s3 usando a função IAM, digite o seguinte comando:

Etapa 9: verifique o balde s3 montado. A saída será semelhante à mostrada abaixo, mas o tamanho usado pode ser diferente.

df -h mostra o sistema de arquivos montado, aqui você pode ver que montamos com sucesso o balde S3 em sua instância EC2.

Observação: se você já tinha alguns dados no s3bucket e eles não estão visíveis, você deve definir a permissão no ACL no console de gerenciamento S3 AWS para esse bucket s3.

Parabéns !! Você montou com sucesso seu bucket S3 em sua instância EC2.

Aqui, expliquei como montar o bucket AWS s3 na instância do EC2 Linux e, para fins de demonstração, usei a máquina RedHat e criei uma função IAM para acessar o bucket s3 e anexá-lo à instância em execução. Você também pode obter acesso ao intervalo s3 da instância EC2, fornecendo a chave de acesso e chave secreta da AWS.