View a markdown version of this page

Como o S3 Files é medido - Amazon Simple Storage Service

Como o S3 Files é medido

O S3 Files é um sistema de arquivos compartilhado vinculado ao seu bucket do S3, projetado para fornecer acesso de baixa latência a arquivos e, ao mesmo tempo, manter os custos proporcionais ao seu conjunto de trabalho ativo. O sistema de arquivos mantém uma visualização dos objetos no bucket e converte de forma inteligente as operações do sistema de arquivos em solicitações eficientes do S3 em seu nome. Conforme você trabalha com arquivos e diretórios específicos por meio do sistema de arquivos, os metadados e o conteúdo dos arquivos correspondentes são colocados no armazenamento de alta performance do sistema de arquivos, particularmente as partes que se beneficiam do acesso de baixa latência. Muitas operações de leitura ignoram totalmente o sistema de arquivos, caso em que os dados são fornecidos diretamente do bucket do S3 de acordo com as taxas de solicitação GET do S3, sem cobranças de dados de arquivos do S3. Seus dados oficiais sempre permanecem em seu bucket do S3. Quando você grava dados, eles são armazenados no armazenamento de alta performance altamente durável do sistema de arquivos e, em seguida, sincronizados com o bucket do S3, mantendo o sistema de arquivos e o bucket do S3 consistentes em ambas as direções.

Com o S3 Files, você paga uma taxa de armazenamento pela fração de dados ativos no armazenamento de alta performance e paga taxas de acesso a dados ao ler e gravar no armazenamento de alta performance do sistema de arquivos. Esta página explica como cada dimensão é medida para que você possa entender e otimizar os custos. Para ter informações sobre preços por região da AWS, consulte Preço do Amazon S3.

Como o armazenamento do sistema de arquivos é medido

Quando você acessa os dados, o sistema de arquivos carrega partes dos metadados e do conteúdo do arquivo sob demanda no armazenamento de alta performance do sistema de arquivos, fornecendo leituras rápidas sem duplicar todo o conjunto de dados. Configure um limite de tamanho de arquivo (o padrão é 128 KiB) para determinar quais arquivos são colocados no armazenamento de alta performance. Arquivos com ou abaixo desse limite são os que mais se beneficiam do acesso de baixa latência. Os arquivos que excedem o limite são transmitidos diretamente do bucket do S3 e não incorrem em cobranças de armazenamento do S3 Files. Os dados não acessados em uma janela configurável (de 1 a 365 dias, padrão de 30 dias) expiram automaticamente no armazenamento de alta performance. Você paga uma taxa de armazenamento pela fração dos dados ativos que residem no armazenamento de alta performance. Normalmente, a fração é pequena, pois os arquivos grandes são transmitidos diretamente do bucket do S3, os dados obsoletos expiram automaticamente e apenas os arquivos pequenos e sensíveis à latência são colocados no armazenamento de alta performance. O tamanho mínimo de arquivo faturável no armazenamento de alta performance é 10 KiB.

Como o acesso a dados é medido

Você paga taxas de acesso aos dados por operações de metadados e por leituras e gravações no armazenamento de alta performance do sistema de arquivos. As leituras de arquivos grandes (1 MiB ou mais) são sempre transmitidas diretamente do bucket S3, mesmo que os dados residam no armazenamento de alta performance do sistema de arquivos. O S3 é otimizado para leituras com alto throughput, enquanto o armazenamento de alta performance é otimizada para oferecer acesso de baixa latência a arquivos pequenos. As leituras diretas incorrem em taxas de solicitação GET do S3 e de leitura de metadados do S3 Files (4 KiB) sem cobranças de leitura de arquivo. As operações de sincronização em segundo plano também incorrem em cobranças de acesso a dados e de solicitação do S3. A importação de dados para um armazenamento de alta performance incorre em custos de gravação e a exportação de alterações de volta para o bucket do S3 incorre em custos de leitura.

Como o acesso a dados do sistema de arquivos é medido

O S3 Files mede cada operação do sistema de arquivos como leitura ou gravação e a aplica a um arquivo ou a metadados. Cada operação é medida de acordo com um tamanho mínimo, que é arredondado para o próximo incremento de 1 KiB. Isso significa que cada operação se enquadra em uma ou duas destas quatro categorias: leitura de dados, leitura de metadados, gravação de dados ou gravação de metadados. Por exemplo, a leitura de um arquivo é medida como leitura de dados e leitura de metadados, enquanto a renomeação de um arquivo é medida como leitura e gravação de metadados. Nunca uma operação é medida em mais de duas categorias.

As leituras de arquivo do armazenamento de alta performance são medidas de acordo com o tamanho dos dados lidos, cujo valor mínimo é 32 KiB por operação de leitura.

As gravações de arquivo do armazenamento de alta performance são medidas de acordo com o tamanho dos dados gravados, cujo valor mínimo é 32 KiB por operação de gravação.

As leituras de metadados são medidas de acordo com um tamanho mínimo de 4 KiB e aplicadas como leituras do S3 Files. Exemplos de operação de leitura de metadados incluem listar um diretório e visualizar atributos de arquivo.

As gravações de metadados são medidas de acordo com um tamanho mínimo de 4 KiB e se aplicam a gravações do S3 Files. Exemplos de operação de gravação de metadados incluem criar ou excluir arquivos e diretórios, renomear, alterar permissões e chamar. fsync.

Como a transmissão direta de um bucket do S3 é medida

O S3 Files transmite leituras diretamente do bucket do S3 em dois casos: quando os dados do arquivo não estão no armazenamento de alta performance ou quando a leitura tem 1 MiB ou mais, mesmo que os dados também residam no armazenamento de alta performance. Esse design evidencia os pontos fortes de cada camada de armazenamento. O bucket do S3 é otimizado para oferecer alto throughput, enquanto o sistema de arquivos é otimizado para oferecer acesso de baixa latência.

No caso de arquivos pequenos (menos de 128 KiB por padrão), o S3 Files importa dados de forma assíncrona para um armazenamento de alta performance para que as leituras subsequentes sejam oferecidas com baixa latência. Para transmissões diretas do bucket, você paga pelas solicitações GET do S3 e pela leitura de metadados do S3 Files (4 KiB), sem cobranças de leitura de arquivos.

Como a sincronização de bucket é medida

O S3 Files mantém automaticamente a sincronia entre o sistema de arquivos e o bucket do S3 vinculado. A sincronização é medida como leituras de arquivo, gravações de arquivo e cobranças de solicitação do S3. Para obter mais informações, consulte Como funciona a sincronização.

Importação de dados para o sistema de arquivos: quando o S3 copia dados do bucket do S3 para o armazenamento de alta performance com base em suas configurações, a operação é medida como uma gravação no sistema de arquivos. As gravações de importação ocorrem quando você acessa um diretório pela primeira vez, quando lê um arquivo que não está no armazenamento de alta performance e quando o S3 Files reproduz as alterações feitas diretamente no bucket do S3. O tamanho medido é a quantidade de dados gravados no armazenamento de alta performance e a gravação de metadados.

Exportação de alterações para o bucket do S3: quando o S3 Files copia as alterações do sistema de arquivos de volta para o bucket do S3, a operação é medida como uma leitura de metadados e de arquivo do sistema de arquivos. Somente os dados lidos do armazenamento de alta performance são contabilizados nessa cobrança. Por exemplo, se você anexar dados a um arquivo, o S3 Files usará UploadPartCopy antes de anexar dados a ele para evitar a importação de todo o objeto para o armazenamento de alta performance. Isso otimiza os custos do armazenamento de alta performance.

Operações de renomeação e movimentação: os buckets do S3 não oferecem suporte nativo a diretórios ou renomeações. O que aparece como um diretório no sistema de arquivos é um prefixo comum compartilhado por chaves de objeto no bucket, e os objetos do S3 são imutáveis. Por isso, quando um arquivo é renomeado ou movido, o S3 Files copia os dados em um novo objeto com a chave atualizada (operação medida como um solicitação PUT do S3) e exclui o original. A sincronização é medida como uma leitura de metadados e uma leitura de arquivo com base no local dos dados. Se os dados do arquivo não estiverem no armazenamento de alta performance, somente uma leitura de metadados de 4 KiB será aplicada. Para renomear arquivos ou mover diretórios, o S3 Files repete essa cópia e exclusão para cada objeto sob esse prefixo. Para obter mais informações, consulte Noções básicas sobre o impacto das operações de renomeação e movimentação.

Expiração de dados de arquivo: os dados de arquivo não acessados em uma janela configurável de 1 a 365 dias (o padrão é 30 dias) expiram automaticamente do armazenamento de alta performance. A expiração não incorre em cobranças de acesso a dados ou metadados.

Atualizações de metadados: os metadados do sistema de arquivos (inodes) reproduzem o conteúdo do bucket S3 vinculado. Conforme o bucket muda, os metadados são atualizados para permanecerem consistentes com o estado atual do bucket. Os metadados dos diretórios acessados nunca expiram. É possível usar a métrica de inodes do CloudWatch para monitorar o uso de metadados. A expiração de metadados não incorre em cobranças.

Exemplos de medição

Listar um diretório grande pela primeira vez

Quando um diretório é listado pela primeira vez, o S3 Files importa metadados para todos os arquivos nesse diretório. A importação de metadados de cada arquivo é medida como uma gravação de 4 KiB. Dependendo da configuração de importação (o padrão é 128 KiB), o S3 Files também busca previamente os dados de arquivos pequenos presentes nesse diretório e os copia para o armazenamento de alta performance do sistema de arquivos com o objetivo de otimizar e oferecer a latência mais baixa. A importação de dados de cada arquivo é medida como uma gravação de acordo com o tamanho do arquivo (no mínimo 32 KiB). É possível controlar os arquivos cujos dados devem ser importados configurando regras de importação. Para obter mais informações, consulte Personalizar a sincronização para o S3 Files.

Ler um arquivo pequeno que não está no armazenamento de alta performance

O S3 Files transmite leituras diretamente do bucket do S3 para o cliente e importa os dados de forma assíncrona para o armazenamento de alta performance do sistema de arquivos a fim de agilizar as futuras leituras. Isso é medido como uma leitura do sistema de arquivos de acordo com o tamanho dos dados transferidos (no mínimo 32 KiB). A importação assíncrona de dados para o armazenamento de alta performance do sistema de arquivos é medida como uma gravação de acordo com o tamanho dos dados transferidos. Um processo semelhante é seguido quando você lê um arquivo cujos dados expiraram no sistema de arquivos. Quando os arquivos expiram no armazenamento de alta performance, não há nenhuma cobrança de operação do sistema de arquivos.

Gravar no sistema de arquivos

Todas as gravações de arquivo são colocadas no armazenamento de alta performance e medidas de acordo com o tamanho dos dados gravados, cujo valor mínimo é 32 KiB. O S3 Files aguarda por um período de atividade de gravação inativa (60 segundos) para agregar alterações sucessivas no mesmo arquivo antes de realizar a cópia para o bucket do S3. As gravações rápidas são capturadas em uma única solicitação PUT do S3, em vez de gerar uma nova versão do objeto para cada alteração. Isso reduz os custos de solicitação do S3 e do armazenamento de arquivos de alta performance. Essa sincronização de bucket é medida como uma leitura do sistema de arquivos para dados lidos no armazenamento de alta performance e uma solicitação PUT do S3.