Skip to main content

EBS, EFS e Instance Store

  • EBS, EFS e Instance Store

1. Amazon Elastic Block Store (EBS)

O Amazon EBS é um serviço de armazenamento em bloco persistente projetado para uso com instâncias do Amazon EC2. Ele fornece armazenamento de nível de bloco que pode ser anexado a uma única instância EC2 por vez.

Características Principais:

  • Persistência de Dados: Os volumes EBS mantêm os dados mesmo após a interrupção ou reinicialização da instância EC2.
  • Tipos de Volumes:
    • SSD de Uso Geral (gp2, gp3): Para cargas de trabalho que requerem desempenho balanceado.
    • IOPS Provisionadas (io1, io2): Para aplicações que necessitam de alta performance consistente.
    • HDD de Taxa de Transferência (st1, sc1): Para cargas de trabalho que envolvem leitura/gravação sequencial.
  • Snapshots: Possibilidade de criar snapshots para backup e recuperação.
  • Criptografia: Suporta criptografia em repouso e em trânsito.

Casos de Uso Comuns:

  • Bancos de dados relacionais e NoSQL.
  • Aplicações empresariais que requerem armazenamento de bloco persistente.
  • Sistemas de arquivos para aplicações únicas.

2. Amazon Elastic File System (EFS)

O Amazon EFS é um sistema de arquivos elástico e escalável que pode ser montado simultaneamente em múltiplas instâncias EC2. Ele oferece armazenamento de arquivos compartilhado acessível via protocolo NFS (Network File System).

Características Principais:

  • Acesso Compartilhado: Permite que várias instâncias EC2 acessem os mesmos dados simultaneamente.
  • Escalabilidade Automática: Ajusta automaticamente a capacidade de armazenamento conforme necessário.
  • Alta Disponibilidade e Durabilidade: Os dados são armazenados de forma redundante em múltiplas Zonas de Disponibilidade (AZs).
  • Compatibilidade NFS: Facilita a migração de aplicações existentes que utilizam NFS.

Casos de Uso Comuns:

  • Ambientes de desenvolvimento e home directories.
  • Aplicações web distribuídas e sistemas de gerenciamento de conteúdo.
  • Análises de big data e cargas de trabalho que requerem acesso paralelo a arquivos.

3. Armazenamento Temporário (Instance Store)

O Armazenamento Temporário, também conhecido como Instance Store, é um armazenamento em disco físico anexado ao host da instância EC2. É ideal para dados temporários que mudam frequentemente durante a sessão.

Características Principais:

  • Não Persistente: Os dados são perdidos quando a instância é interrompida, encerrada ou falha.
  • Alta Performance: Oferece baixa latência e altas taxas de I/O devido à proximidade com o hardware físico.
  • Custo-Efetivo: Incluído no custo da instância EC2, sem custos adicionais.

Casos de Uso Comuns:

  • Armazenamento de caches, buffers e outros dados temporários.
  • Processamento de dados intermediários em aplicações distribuídas.
  • Workloads que podem tolerar perda de dados em caso de falha da instância.

Comparação entre EBS, EFS e Armazenamento Temporário

CaracterísticaEBSEFSArmazenamento Temporário
Tipo de ArmazenamentoBloco PersistenteSistema de Arquivos CompartilhadoBloco Não Persistente
PersistênciaSimSimNão
AcessoUma instância por vezMúltiplas instâncias simultaneamenteUma instância (ligada ao ciclo de vida da instância)
EscalabilidadeRedimensionamento manualEscalabilidade automáticaTamanho fixo (definido pelo tipo de instância)
Casos de UsoBancos de dados, aplicativos de alto desempenhoCompartilhamento de arquivos, big dataDados temporários, caches
CustoCobrado por GB provisionadoCobrado por GB utilizadoIncluído no custo da instância

Conclusão

  • EBS é ideal para aplicações que requerem armazenamento em bloco persistente e de alto desempenho para uma única instância EC2.
  • EFS é adequado quando várias instâncias EC2 precisam acessar o mesmo sistema de arquivos simultaneamente, com necessidade de escalabilidade e alta disponibilidade.
  • Armazenamento Temporário é apropriado para dados efêmeros e temporários, onde a perda de dados não é crítica em caso de interrupção da instância.

Ao escolher entre esses serviços, considere:

  • Persistência de Dados: Necessidade de manter os dados após reinicializações ou falhas.
  • Acesso Simultâneo: Se múltiplas instâncias precisam acessar os mesmos dados.
  • Performance: Requisitos de IOPS, latência e taxa de transferência.
  • Custo: Modelo de precificação e otimização de gastos.
  • Escalabilidade: Capacidade de aumentar ou diminuir o armazenamento conforme a demanda.

Dica: Avalie cuidadosamente os requisitos da sua aplicação para selecionar o tipo de armazenamento que melhor atende às suas necessidades, garantindo desempenho eficiente e otimização de custos.