惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
腾讯CDC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Engineering at Meta
Engineering at Meta
L
LangChain Blog
Jina AI
Jina AI
博客园 - 叶小钗
B
Blog RSS Feed
Recent Announcements
Recent Announcements
H
Help Net Security
小众软件
小众软件
大猫的无限游戏
大猫的无限游戏
B
Blog
云风的 BLOG
云风的 BLOG
Blog — PlanetScale
Blog — PlanetScale
D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
罗磊的独立博客

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Amazon S3 Files - Guia prático de criação e montagem em a...
Isaque Alcan · 2026-05-05 · via DEV Community

A gestão de armazenamento na AWS sempre exigiu uma escolha difícil: a escalabilidade e o baixo custo do Amazon S3 (Object Storage) ou a facilidade de montagem e baixa latência do Amazon EFS (File Storage). Para aplicações legadas ou fluxos de trabalho que dependem de comandos de sistema de arquivos nativos, essa escolha muitas vezes significava reescrita de código ou custos elevados de infraestrutura.

Com o recente lançamento do Amazon S3 Files, essa barreira desapareceu. Agora é possível montar buckets S3 diretamente em instâncias EC2, containers ou funções Lambda utilizando o protocolo NFS v4.1, aproveitando a robustez do motor do EFS.

Se você quiser conferir mais detalhes sobre essa novidade, preparei um artigo com tudo que você precisa saber.

Neste tutorial, vamos além da teoria. Este é um guia prático para configurar o S3 Files via console, provisionar a infraestrutura necessária e, o mais importante, resolver os desafios de rede e DNS que surgem em ambientes reais de produção.

Vamos botar a mão na massa!

Passo 1: Criar o Bucket e Inicializar o S3 Files

1. Criando o Bucket S3

Como ponto de partida, vamos criar o bucket que será utilizado para armazenamento dos arquivos.

Acesse o console do Amazon S3 e clique em "Create Bucket".

Passo 1 - Criando o bucket

Dê um nome para o bucket e avance até o final da página. Clique no botão “Create Bucket” para concluir a criação.

Passo 1 - Escolhendo nome para o bucket

Obs: Lembre-se de usar um nome globalmente único para seu bucket S3.

Agora que criamos o bucket, será necessário ativar o versionamento do Bucket. Esse é um pré-requisito obrigatório para utilizá-lo como sistema de arquivos.

Clique na guia “Properties” e em “Bucket Versioning” clique em “Edit”.

Passo 1 - Habilitando versionamento

Habilite o versionamento e clique em “Save changes”.

Passo 1 - Habilitando versionamento

2. Inicializando o Amazon S3 Files

Agora que o bucket existe e está com o versionamento ativo, vamos criar a camada de sistema de arquivos sobre ele. No menu lateral esquerdo, clique em “File Systems”.

Passo 1 - Acessando S3 Files

Em seguida, clique no botão Create file system.

Passo 1 - Criando file system

Clique no botão “Browse S3” e selecione o bucket criado na etapa anterior. Após selecionar o bucket, será necessário selecionar a VPC em que o bucket estará. Aqui é importante que você selecione a mesma VPC em que sua EC2 (ou outro recurso) está alocado.
Após selecionar o bucket e a VPC, clique no botão “Create file system” e aguarde até que o processo de criação seja concluído.

Passo 1 - Selecionando o bucket e a VPC

Passo 1 - Mensagem de criação de File system

Obs: Ao criar um sistema de arquivos usando o Console AWS, o S3 Files cria automaticamente um destino de montagem em cada Zona de Disponibilidade na sua VPC padrão e um ponto de acesso para o sistema de arquivos.

Passo 2: Configurar permissões

1. Função do IAM

Para que a nossa instância EC2 consiga acessar o sistema de arquivos e o bucket, vamos adicionar as seguintes políticas gerenciadas à Função IAM atachada nossa EC2:

  • AmazonS3FilesClientFullAccess
  • AmazonS3FullAccess

Obs: Para esse tutorial vamos conceder permissão Full, mas é altamente recomendável seguir o princípio do privilégio mínimo.

2. Grupos de Segurança

Após a criação do sistema de arquivos e o destino de montagem, é necessário ajustar o Security Group de ambos (sistema de arquivos e EC2).
A tabela abaixo mostra como deve ser essa configuração:

Passo 2 - Tabela de configuração do Security Group

Por padrão, o Security Group já vem com uma regra de saída liberando todo tráfego. Portanto, não será necessário adicionar outra regra específica para a porta 2049 no SG da instância EC2.

Passo 2 - Regra de saída do Security Group

Para o nosso sistema de arquivos, vamos criar um security group exclusivo e alterar no alvo de montagem. Para isso, vá ao console da EC2 e no menu lateral esquerdo clique em Security Groups > Create scurity group.

Passo 2 - Criar Security Group para File System

Preencha os campos com o nome, descrição e selecione a mesma VPC do sistema de arquivos. Adicione uma regra de entrada liberando a porta 2049 para o SG da instância EC2. Após, clique em Create security group.

Passo 2 - Preencher campos do Security Group para File System

Com o Security Group criado, volte ao sistema de arquivos. Selecione o Alvo de Montagem e clique em Edit.

Passo 2 - Editar alvo de montagem

Em Security Groups, remova o Security Group default e selecione o que você criou na etapa anterior. Clique em Save changes para salvar.

Passo 2 - Selecionar Security Group

Passo 3: Instalar cliente na EC2

Para usar o S3 Files com o Amazon EC2, você precisa instalar o cliente amazon-efs-utils na versão 3.0.0 ou superior. O amazon-efs-utils, uma coleção compartilhada de ferramentas de código aberto para o Amazon EFS e o Amazon S3 Files.

Acesse sua instância EC2 e digite o comando abaixo:

Para Amazon Linux: sudo yum -y install amazon-efs-utils

Observe se ao final da saída aparece como a imagem abaixo:

Passo 3 - Saída do comando

Para outras distribuições Linux compatíveis: curl https://amazon-efs-utils.aws.com/efs-utils-installer.sh | sudo sh -s -- --install

Passo 4: Montagem do sistema de arquivos

Ainda dentro da instância, crie o diretório onde o sistema de arquivos será montado. Por exemplo:

sudo mkdir /mnt/s3files

Passo 4 - Saída do comando de montagem

Vá até a página do sistema de arquivos e copie o ID. Ele será necessário para o comando de montagem.

Passo 4 - ID do File System

Volte na instância EC2 e execute o comando de montagem abaixo:

sudo mount -t s3files file-system-id /mnt/s3files

Obs: altere file-system-id pelo ID do seu sistema de arquivos.

Exemplo: sudo mount -t s3files fs-008801558069a98e7 /mnt/s3files

Após executar o comando de montagem, execute o seguinte comando para verificar se o mesmo aparece montado:

df -h

Passo 4 - Verificação de montagem

Podemos ver que a montagem ocorreu com sucesso!

Repare na última linha do df -h, na coluna Size. Ele mostra 8.0E.
Isso significa 8 Exabytes (ou seja, 8 milhões de Terabytes). Como o S3 é um armazenamento de objetos virtualmente ilimitado, o sistema operacional Linux não sabe como lidar com o conceito de "infinito", então a AWS injeta esse valor de 8 EB para o SO parar de se preocupar com espaço livre.

Obs: apesar de o disco mostrar 8 Exabytes de espaço, você só paga pelos exatos Kilobytes que gravar lá dentro. Adeus discos EBS de 1TB ociosos!

Outro detalhe que podemos observar é que na coluna Filesystem ele montou como 127.0.0.1:/. Isso acontece porque o utilitário amazon-efs-utils que instalamos é inteligente: ele cria um túnel local (stunnel) invisível dentro da sua EC2 para garantir que todos os arquivos enviados para o S3 Files sejam criptografados em trânsito (TLS) antes de saírem pela placa de rede.

Passo 5: Testando o funcionamento

Execute o comando abaixo para criar um arquivo diretamente no diretório de montagem do sistema de arquivos:

echo "Hello World diretamente da minha EC2 para o S3 Files!" | sudo tee /mnt/s3files/teste-blog.txt

Passo 5 - Criação de arquivo teste direto da instância

Liste o diretório para confirmar no Linux:

ls -la /mnt/s3files/

Passo 5 - Confirmar criação de arquivo no linux

Vá até o bucket criado no passo 1 e verifique se o arquivo se encontra nele.

Passo 5 - Confirmar criação de arquivo no linux

Passo 6: Persistindo a montagem

Para que a montagem persista ao reiniciar a instância, basta executar o comando a seguir para adicionar uma instrução no arquivo /etc/fstab (File System Table). Esse arquivo é lido pelo sistema operacional toda vez que ele é iniciado.

echo "file-system-id /mnt/s3files s3files _netdev 0 0" | sudo tee -a /etc/fstab

Passo 6 - Persistindo a montagem

Explicando os parâmetros:

  • file-system-id: O ID do seu S3 Files.
  • /mnt/s3files: A pasta local onde ele deve ser montado.
  • s3files: O tipo do sistema de arquivos (o Linux sabe que precisa usar o utilitário da AWS).
  • _netdev: Esse é o parâmetro mais importante! Ele avisa ao Linux: "Isso é um disco de rede. Só tente montá-lo depois que a placa de rede e a internet estiverem ligadas durante o boot". Sem isso, a sua máquina pode travar ao reiniciar.
  • 0 0: Desativa os utilitários antigos de backup e verificação de disco (fsck) do Linux, pois o S3 já é totalmente gerenciado pela AWS.

Como mexer no /etc/fstab pode ser perigoso (um erro de digitação pode impedir a máquina de ligar), sempre faça a "Prova de Fogo" simulando a leitura do arquivo:

Desmonta a montagem manual que fizemos antes:
sudo umount /mnt/s3files

Pede pro Linux ler o fstab e montar tudo que está lá:
sudo mount -a

Verifica se o S3 voltou a aparecer:
df -h

Se o comando df -h mostrar novamente o seu disco de 8.0E, parabéns! Sua configuração de infraestrutura está impecável e totalmente à prova de falhas de reinicialização.

Extra: Troubleshooting (Erros Comuns e Soluções)

Falha ao resolver o nome do S3 Files

O Sintoma: Ao tentar rodar o comando de mount no Linux, você recebe:
Failed to resolve "use1-az1.fs-xxx.s3files.us-east-1.on.aws" - check that your file system ID is correct…

Extra - Falha ao resolver o nome do S3 Files

Por que acontece: A sua instância EC2 está isolada e não consegue traduzir o endereço (DNS) do S3 Files para um IP privado dentro da rede.

A Solução (Verificação Dupla):

DNS configurado, mas a montagem continua falhando

O Sintoma: Você ativou as opções de DNS na VPC, o Mount Target está Available, mas o erro Failed to resolve insiste em aparecer.

Por que acontece (Atraso de Propagação): O Route 53 Resolver (o DNS nativo da AWS) pode levar alguns minutos para propagar a nova rota do S3 Files para toda a sua rede local.

A Solução: Você pode esperar alguns minutos ou fazer um bypass forçado de DNS. Pegue o IP local do seu Mount Target no painel da AWS (ex: 10.0.1.194) e injete-o diretamente no arquivo de hosts do Linux:

echo "10.0.1.194 use1-az1.fs-SEU-ID.s3files.us-east-1.on.aws fs-SEU-ID.s3files.us-east-1.on.aws" | sudo tee -a /etc/hosts

Nota: Assim que o DNS da AWS terminar de propagar nos bastidores (geralmente após alguns minutos ou no próximo reboot), essa linha não será mais necessária e a resolução nativa assumirá o controle.

O comando de montagem não dá erro, mas fica "travado"

O Sintoma: Você roda o sudo mount, não aparece mensagem de erro de DNS, mas o cursor fica piscando eternamente (Timeout).

Por que acontece: O DNS funcionou, a EC2 encontrou o S3 Files, mas o Security Group do seu Mount Target está bloqueando a porta de comunicação.

A Solução: Vá no Security Group atrelado ao Mount Target do S3 Files e adicione uma Inbound Rule (Regra de Entrada) liberando a porta 2049 (NFS) para o IP privado da sua EC2 ou para o Security Group atrelado a ela.

Conclusão

O Amazon S3 Files é, sem dúvida, uma daquelas novidades que vêm para resolver uma dor real do dia a dia. Agora, você tem o poder do armazenamento virtualmente infinito do S3 (aqueles assustadores 8 Exabytes) acessível diretamente como um disco de rede no seu servidor Linux. Tudo isso sem precisar reescrever aplicações legadas para entender as APIs do S3 e, o melhor, pagando apenas pelos Kilobytes que você realmente utiliza.

Seja para migrar sistemas antigos, simplificar fluxos de ingestão de dados ou apenas explorar novas arquiteturas, essa integração via protocolo NFS abre um leque gigante de possibilidades para nós, desenvolvedores e engenheiros de infraestrutura.

E aí, o que achou dessa nova funcionalidade? Já tem algum caso de uso em mente para aplicar o S3 Files na sua empresa?

Se este artigo foi útil para você, não se esqueça de deixar um ❤️ ou 🦄. Caso tenha ficado com alguma dúvida ou tenha esbarrado em um erro diferente durante a configuração, deixe um comentário abaixo e vamos conversar!

Até a próxima! 🚀