Uso de classes de armazenamento do Amazon S3 - Amazon Simple Storage Service

Uso de classes de armazenamento do Amazon S3

Cada objeto no Amazon S3 tem uma classe de armazenamento associada a ele. Por exemplo, se você lista os objetos em um bucket do S3, o console mostra a classe de armazenamento de todos os objetos na lista. O Amazon S3 oferece uma variedade de classes de armazenamento para os objetos que você armazena. Escolha uma classe de acordo com seu cenário de caso de uso e dos requisitos de acesso de performance. Todas essas classes de armazenamento oferecem alta durabilidade.

As seções a seguir fornecem detalhes das várias classes de armazenamento e como definir a classe de armazenamento para seus objetos.

Classes de armazenamento de objetos acessados com frequência

Para casos de uso nos quais a performance é importante (aqueles que exigem tempo de acesso de milissegundos) e dados acessados com frequência, o Amazon S3 fornece as seguintes classes de armazenamento:

  • S3 Standard: a classe de armazenamento padrão. Se você não especificar a classe de armazenamento ao fazer upload de um objeto, o Amazon S3 atribuirá a classe S3 Standard.

  • Redundância reduzida:a classe Armazenamento de redundância reduzida (RRS) foi criada para dados reproduzíveis não críticos que podem ser armazenados em níveis de redundância menores do que a classe S3 Standard.

    Importante

    Não recomendamos o uso dessa classe de armazenamento. A classe de armazenamento S3 Standard é mais econômica.

    Para durabilidade, os objetos RRS têm uma perda anual média prevista de 0,01%. Se um objeto de RRS for perdido, quando forem feitas solicitações a ele, o Amazon S3 retornará um erro 405.

Classe de armazenamento para otimizar automaticamente dados com padrões de acesso alterados ou desconhecidos

O S3 Intelligent-Tiering é uma classe de armazenamento do Amazon S3 projetada para otimizar os custos de armazenamento ao mover automaticamente os dados para o nível de acesso mais econômico, sem impacto na performance ou sobrecarga operacional. É o único armazenamento na nuvem que oferece economia de custo automática ao mover dados em um nível granular de objeto entre níveis de acesso quando há alteração nos padrões de acesso. O S3 Intelligent-Tiering é a classe de armazenamento perfeita quando você quer otimizar os custos de armazenamento dos dados com padrões de acesso desconhecidos ou variáveis. Não há taxas de recuperação para o S3 Intelligent-Tiering.

Por uma pequena taxa mensal de automação e monitoramento de objetos, o S3 Intelligent-Tiering monitora os padrões de acesso e move automaticamente os objetos que não foram acessados para níveis de acesso de baixo custo. O S3 Intelligent-Tiering oferece economia automática de custos de armazenamento em dois níveis de acesso de baixa latência e alta taxa de transferência. Para dados que podem ser acessados de forma assíncrona, os clientes podem optar por ativar os recursos de arquivamento automático na classe de armazenamento do S3 Intelligent-Tiering. O S3 Intelligent-Tiering foi projetado para oferecer 99,9% de disponibilidade e 99,9999999% de durabilidade.

O S3 Intelligent-Tiering armazena objetos automaticamente em três níveis de acesso: Frequent Access (Acesso frequente), Infrequent Access(Acesso infrequente) e Archive Instant Access (Acesso instantâneo ao arquivo). Os objetos que foram carregados ou transferidos para o S3 Intelligent-Tiering são automaticamente armazenados no nível Acesso frequente. O S3 Intelligent-Tiering trabalha monitorando os padrões de acesso e, em seguida, move os objetos que não foram acessados durante 30 dias consecutivos para o nível Acesso infrequente. Com o S3 Intelligent-Tiering, todos os objetos que não foram acessados durante 90 dias consecutivos serão movidos automaticamente para o nível Archive Instant Access (Acesso instantâneo ao arquivo). Você pode configurar o S3 Intelligent-Tiering como sua classe de armazenamento padrão para dados recém-criados ou pode optar por ativar um ou ambos os níveis de acesso de arquivamento usando a API com PutBucketIntelligentTieringConfiguration, a CLI ou o console do Amazon S3. Depois que você ativa um ou ambos os níveis de acesso de arquivamento, o S3 Intelligent-Tiering move automaticamente os objetos que não foram acessados durante 90 dias consecutivos para o nível de Acesso de arquivamento e depois de 180 dias consecutivos sem acesso para o nível de Acesso de arquivamento profundo. Para obter mais informações sobre como usar o S3 Intelligent-Tiering, consulte Como usar o S3 Intelligent-Tiering

Para acessar objetos arquivados posteriormente, primeiro você precisa restaurá-los. Para obter mais informações, consulte Restaurar objetos dos níveis Archive Access e Deep Archive Access do S3 Intelligent-Tiering.

nota

Se o tamanho de um objeto for menor que 128 KB, ele não será monitorado nem qualificado para o nivelamento automático. Objetos menores são sempre armazenados no nível Acesso frequente. Para obter mais informações sobre o S3 Intelligent-Tiering, consulte Níveis de acesso do S3 Intelligent-Tiering

Classes de armazenamento de objetos acessados com pouca frequência

As classes de armazenamento S3 Standard – IA e S3 One Zone – IA foram desenvolvidas para dados duradouros e acessados com pouca frequência. (IA é a sigla em inglês para acesso pouco frequente.) Os objetos S3 Standard – IA e S3 One Zone – IA estão disponíveis para acesso de milissegundos (o mesmo que a classe de armazenamento S3 Standard). O Amazon S3 cobra uma taxa de recuperação para esses objetos, portanto, eles são mais adequados para dados acessados com pouca frequência. Para obter informações sobre a definição de preços, consulte Definição de preços do Amazon S3.

Por exemplo, é possível escolher as classes de armazenamento S3 Standard – IA e S3 One Zone – IA para fazer o seguinte:

  • Para armazenar backups.

  • Para dados mais antigos acessados com pouca frequência, mas que ainda exigem acesso de milissegundos. Por exemplo, ao fazer upload de dados, é possível escolher a classe de armazenamento S3 Standard e usar a configuração de ciclo de vida para solicitar que o Amazon S3 transfira os objetos para a classe S3 Standard – IA ou S3 One Zone – IA.

    Para obter mais informações sobre gerenciamento de ciclo de vida, consulte Gerenciando seu ciclo de vida de armazenamento.

nota

As classes de armazenamento S3 Standard – IA e S3 One Zone – IA são adequadas para objetos maiores que 128 KB que você planeja armazenar por pelo menos 30 dias. Se um objeto for menor que 128 KB, o Amazon S3 cobrará por 128 KB. Se excluir um objeto antes do fim do período mínimo de duração do armazenamento de 30 dias, você será cobrado por 30 dias. Para obter informações sobre a definição de preços, consulte Definição de preços do Amazon S3.

As diferenças entre essas classes de armazenamento são:

  • S3 Standard – IA: o Amazon S3 armazena dados de objeto de maneira redundante em várias zonas de disponibilidade separadas geograficamente (de maneira semelhante à classe de armazenamento S3 Standard). Os objetos S3 Standard – IA são resistentes à perda de uma zona de disponibilidade. Essa classe de armazenamento oferece maior disponibilidade e resiliência que a classe S3 One Zone – IA.

  • S3 One Zone – IA: o Amazon S3 armazena dados de objeto em apenas uma zona de disponibilidade, e isso a torna menos cara que a classe S3 Standard – IA. No entanto, os dados não são resilientes à perda física da zona de disponibilidade resultante de desastres, como terremotos e inundações. A classe de armazenamento S3 One Zone – IA é tão durável quanto a classe Standard – IA, mas é menos disponível e resistente. Para uma comparação de durabilidade e disponibilidade das classes de armazenamento, consulte Comparar as classes de armazenamento do Amazon S3 no fim desta seção. Para obter informações sobre a definição de preços, consulte Definição de preços do Amazon S3.

Recomendamos o seguinte:

  • S3 Standard – IA: use para a cópia principal ou única de dados, que não pode ser recriada.

  • S3 One Zone-IA: use se você puder recriar os dados em caso de falha da zona de disponibilidade, e para réplicas de objeto ao configurar a replicação entre regiões (CRR) do S3.

Classes de armazenamento para arquivamento de objetos

As classes de armazenamento S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval e S3 Glacier Deep Archive são projetadas para o arquivamento de dados de baixo custo. Essas classes de armazenamento oferecem a mesma durabilidade e resiliência que a classe de armazenamento S3 Standard e S3 Standard – IA. Para obter uma comparação entre a durabilidade e a disponibilidade da classe de armazenamento, consulte Comparar as classes de armazenamento do Amazon S3.

As diferenças entre essas classes de armazenamento são:

  • S3 Glacier Instant Retrieval: use para arquivar dados que raramente são acessados e exigem recuperação de milissegundos. Os dados armazenados na classe de armazenamento S3 Glacier Instant Retrieval oferecem economia de custos em comparação à classe de armazenamento S3 Standard – IA, com a mesma latência e performance de taxa de transferência que a classe de armazenamento S3 Standard – IA. Os custos de acesso a dados do S3 Glacier Instant Retrieval são mais altos que os do S3 Standard – IA. Para obter informações sobre a definição de preços, consulte Definição de preços do Amazon S3.

  • S3 Glacier Flexible Retrieval: use para arquivos nos quais partes dos dados podem precisar ser recuperadas em minutos. Os dados armazenados na classe de armazenamento S3 Glacier Flexible Retrieval têm um período mínimo de duração do armazenamento de 90 dias e podem ser acessados em apenas 1 a 5 minutos usando a recuperação acelerada. O tempo de recuperação é flexível e você pode solicitar recuperações em massa gratuitas em até 5 a 12 horas. Se você excluiu, substituiu ou fez a transição de um objeto para outra classe de armazenamento antes do período mínimo de 90 dias, será cobrado pelos 90 dias. Para obter informações sobre a definição de preços, consulte Definição de preços do Amazon S3.

  • S3 Glacier Deep Archive: use para arquivar dados que raramente precisam ser acessados. Os dados armazenados na classe de armazenamento S3 Glacier Deep Archive têm um período mínimo de duração do armazenamento de 180 dias e um tempo de recuperação padrão de 12 horas. Se você excluiu, substituiu ou fez a transição de um objeto para outra classe de armazenamento antes do período mínimo de 180 dias, será cobrado pelos 180 dias. Para obter informações sobre a definição de preços, consulte Definição de preços do Amazon S3.

    S3 Glacier Deep Archive é a opção de armazenamento com o menor custo na AWS. Os custos de armazenamento do S3 Glacier Deep Archive são mais baratos que os da classe de armazenamento S3 Glacier Flexible Retrieval. É possível reduzir os custos de recuperação do S3 Glacier Deep Archive usando a recuperação em lote, o que retorna dados em até 48 horas.

Recuperar objetos arquivados

É possível definir a classe de armazenamento de um objeto como S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive da mesma maneira que você faz para outras classes de armazenamento, conforme descrito na seção Configurar a classe de armazenamento de um objeto. Porém, os objetos do S3 Glacier Flexible Retrieval e do S3 Glacier Deep Archive não estão disponíveis para acesso em tempo real. Primeiro, é necessário restaurar os objetos do S3 Glacier Flexible Retrieval e do S3 Glacier Deep Archive antes de acessá-los. (Os objetos do S3 Standard, RRS, S3 Standard – IA, S3 One Zone – IA, S3 Glacier Instant Retrieval e S3 Intelligent-Tiering estão disponíveis para acesso a qualquer momento.) Para obter mais informações sobre a recuperação de objetos em arquivamento, consulte Restaurar um objeto arquivado.

Importante

Quando você escolhe a classe de armazenamento S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive, os objetos permanecem no Amazon S3. Não será possível acessá-los diretamente por meio do serviço separado do Amazon S3 Glacier.

Para saber mais sobre o serviço Amazon S3 Glacier, consulte o Guia do desenvolvedor do Amazon S3 Glacier.

Classe de armazenamento para o Amazon S3 no Outposts

Com o Amazon S3 on Outposts, é possível criar buckets do S3 em seus recursos do AWS Outposts, além de armazenar e recuperar objetos no ambiente on-premises para aplicações que exigem acesso a dados locais, processamento de dados local e residência de dados. É possível usar as mesmas APIs e recursos no AWS Outposts da mesma maneira que no Amazon S3, incluindo políticas de acesso, criptografia e atribuição de tags. Você pode usar o S3 on Outposts por meio do AWS Management Console, da AWS CLI, de AWS SDKs ou da API REST.

O S3 no Outposts fornece uma nova classe de armazenamento, o S3 Outposts (OUTPOSTS). A classe de armazenamento do S3 Outposts só está disponível para objetos armazenados em buckets no Outposts. Se você tentar usar essa classe de armazenamento com um bucket do S3 em uma Região da AWS, será gerado o erro InvalidStorageClass. Além disso, se você tentar usar outras classes de armazenamento do S3 com objetos armazenados em buckets do S3 on Outposts, ocorrerá o mesmo erro.

Os objetos armazenados na classe de armazenamento do S3 Outposts (OUTPOSTS) são sempre criptografados usando criptografia do lado do servidor com chaves de criptografia gerenciadas do Amazon S3 (SSE-S3). Para obter mais informações, consulte Proteção de dados usando criptografia no lado do servidor com chaves de criptografia gerenciadas pelo Amazon S3 (SSE-S3).

Você também pode optar explicitamente por criptografar objetos armazenados na classe de armazenamento do S3 Outposts usando criptografia do lado do servidor com chaves de criptografia fornecidas pelo cliente (SSE-C). Para obter mais informações, consulte Proteger dados usando a criptografia de servidor com chaves de criptografia fornecidas pelo cliente (SSE-C).

nota

O S3 on Outposts não é compatível com a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS).

Para obter mais informações sobre o S3 on Outposts, consulte O que é o Amazon S3 on Outposts?.

Comparar as classes de armazenamento do Amazon S3

A tabela a seguir compara as classes de armazenamento, incluindo sua disponibilidade, durabilidade, duração mínima de armazenamento e outras considerações.

Classe de armazenamento Projetado para Durabilidade (projetada para) Disponibilidade (projetada para) Zonas de disponibilidade Duração mínima do armazenamento Tamanho mínimo do objeto faturável Outras considerações

S3 Standard

Dados acessados com frequência (mais de uma vez por mês) com acesso de milissegundos

99,999999999%

99,99%

>=3

Nenhum

Nenhum

Nenhum

S3 Standard – IA

Dados de longa duração acessados com pouca frequência (uma vez por mês) com acesso de milissegundos

99,999999999%

99,9%

>=3

30 dias

128 KB

Taxas de recuperação por GB são aplicáveis.

S3 Intelligent-Tiering

Dados com padrões de acesso desconhecidos, diferentes ou imprevisíveis

99,999999999%

99,9%

>= 3

Nenhum

Nenhum

Taxas de monitoramento e automação por objeto aplicáveis. Sem taxas de recuperação.

S3 One Zone – IA

Dados recriáveis acessados com pouca frequência (uma vez por mês) com acesso de milissegundos

99,999999999%

99,5%

1

30 dias

128 KB

Taxas de recuperação por GB são aplicáveis. Não resistente à perda da zona de disponibilidade.

S3 Glacier Instant Retrieval

Dados de arquivo de longa duração acessados uma vez por trimestre com acesso de milissegundos 99,999999999%

99,9%

>= 3

90 dias

128 KB

Taxas de recuperação por GB são aplicáveis.

S3 Glacier Flexible Retrieval

Dados de arquivo de longa duração acessados uma vez por ano com tempos de recuperação de minutos a horas 99,999999999%

99,99% (depois que você recupera objetos)

>=3

90 dias

40 KB

Taxas de recuperação por GB são aplicáveis. Você deve primeiro arquivar os objetos antes que possa acessá-los. Para obter mais informações, consulte Restaurar um objeto arquivado.

S3 Glacier Deep Archive

Dados de arquivo de longa duração acessados menos de uma vez por ano com tempos de recuperação de horas 99,999999999%

99,99% (depois que você recupera objetos)

>=3

180 dias

40 KB

Taxas de recuperação por GB são aplicáveis. Você deve primeiro arquivar os objetos antes que possa acessá-los. Para obter mais informações, consulte Restaurar um objeto arquivado.

RRS (não recomendado)

Dados não essenciais, acessados com frequência, com acesso de milissegundos

99,99%

99,99%

>=3

Nenhum

Nenhum

Nenhum

Todas as classes de armazenamento, exceto a S3 One Zone-IA, são desenvolvidas para serem resistentes à perda física de uma zona de disponibilidade resultante de desastres.

Considere os custos, além dos requisitos de performance do cenário da sua aplicação. Para obter informações sobre os preços das classes de armazenamento, consulte Definição de preços do Amazon S3.

Configurar a classe de armazenamento de um objeto

Para criar e atualizar classes de armazenamento de objetos, use o console do Amazon S3, os AWS SDKs ou a AWS Command Line Interface (AWS CLI). Cada uma usa as APIs do Amazon S3 para enviar solicitações ao Amazon S3.

As APIs do Amazon S3 são compatíveis com a configuração (ou atualização) da classe de armazenamento de objetos, da seguinte forma:

  • Ao criar um objeto, é possível especificar a classe de armazenamento dele. Por exemplo, ao criar objetos usando as APIs PUT Object, POST Object e Initiate Multipart Upload, adicione o cabeçalho de solicitação x-amz-storage-class para especificar uma classe de armazenamento. Se esse cabeçalho não for adicionado, o Amazon S3 usará a classe de armazenamento padrão, Standard.

  • Também é possível alterar a classe de armazenamento de um objeto que já está armazenado no Amazon S3 para qualquer outra classe de armazenamento fazendo uma cópia desse objeto usando a API PUT Object - Copy. No entanto, não é possível usar PUT Object - Copy para copiar objetos que estão armazenados nas classes de armazenamento S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive. Você também não pode fazer a transição do S3 One Zone-IA para o S3 Glacier Instant Retrieval.

    Copie o objeto no mesmo bucket usando o mesmo nome de chave e especifique os cabeçalhos de solicitação da seguinte forma:

    • Defina o cabeçalho x-amz-metadata-directive como COPY.

    • Defina x-amz-storage-class como a classe de armazenamento desejada.

    Em um bucket com versionamento habilitado, não é possível alterar a classe de armazenamento de uma versão específica de um objeto. Quando você o copia, o Amazon S3 fornece um novo ID de versão.

  • É possível direcionar o Amazon S3 para alterar a classe de armazenamento de objetos adicionando a configuração do S3 Lifecycle em um bucket. Para obter mais informações, consulte Gerenciando seu ciclo de vida de armazenamento.

  • Ao definir uma configuração de replicação, você poderá definir a classe de armazenamento para objetos replicados como qualquer outra classe de armazenamento. No entanto, não é possível replicar objetos que estão armazenados nas classes de armazenamento S3 Glacier Flexible Retrieval ou S3 Glacier Deep Archive. Para obter mais informações, consulte Configuração de replicação.

Restrição de permissões de política de acesso a uma classe de armazenamento específica

Ao conceder permissões de política de acesso para operações do Amazon S3, é possível usar a chave de condição s3:x-amz-storage-class para restringir qual classe de armazenamento a ser usada ao armazenar objetos obtidos por upload. Por exemplo, ao conceder permissão de s3:PUTObject, você pode restringir uploads de objetos a uma classe de armazenamento específica. Para ver um exemplo de política, consulte Exemplo 5: restrição de uploads de objetos com uma classe de armazenamento específica.

Para obter mais informações sobre como usar condições em políticas e uma lista completa de chaves de condição do Amazon S3, consulte o seguinte: