Please enable JavaScript.
Coggle requires JavaScript to display documents.
AWS S3 Simple Storage Service - Coggle Diagram
AWS S3
Simple Storage Service
serviço
global
e gerenciado para armazenagem de dados
Objetos são armazenados em buckets que precisam ter
nome único global
Buckets
Devem ter um nome disponível globalmente
convenção de nomes
de 3 a 36 caracteres
sem maiusculas
sem _
não pode ser um IP
os buckets organizam/armazenam objects
Objects
são nomeados de acordo com uma
key
A key é o caminho total do objeto que é composta por uma
chave
+
nome do objeto
s3://my-bucket/
myfolder1/myfolder2/
my-file.txt
s3://my-bucket/
my-file.txt
objectos tem um tamanho máximo de 5TB
3 more items...
Performance
1 more item...
S3 Object Lock / Glacier Vault Lock
1 more item...
Modelo de consistência
o serviço S3 é eventualmente consistente e não há como torná-lo fortemente consistente
PUT e DELETE
1 more item...
GET
1 more item...
Storage Classes
a classe de armazenagem é definida nas propriedades do objeto
S3 Standard - General Purpose
2 more items...
S3 Standard - Infrequent Access (IA)
2 more items...
S3 One Zone - Infrequent Access (IA)
2 more items...
S3 Intelligent Tiering
1 more item...
S3 Glacier
1 more item...
Selects
capacidade de filtrar dados no servidor do serviço utilizando comandos SQL simples
Disponível para os serviços S3 e Glacier
1 more item...
Versioning
funcionalidade que permite versionar os objetos dentro do S3
habilitado na configuração do bucket
desativação da feature não deleta as versões anteriores do objeto
Segurança
é possível restringir ou conceder acessos a buckets e objetos a partir de 2 formas distintas
Resource-based
S3 Bucket policies
obedecem o formato JSON
regras gerais do bucket através do console do S3
1 more item...
Object Access Control List (ACL)
utilizado para definir as permissões de acesso no nível do objeto
Bucket Access Control List (ACL)
utilizado para definir as permissões de acesso no nível do bucket
User-based
utiliza IAM Policies para dar acesso ou restringir chamadas as APIs
Caso tenha algum DENY no RESOURCE o usuário não conseguirá acessar
recomendável utilizar somente um padrão para não espalhar as permissões
Integrações
VPC Endpoints para comunicações com subnets privadas
Logs e auditoria
logs de acesso ao S3 podem ser armazenados em outro bucket
chamadas as APIs podem ser enviadas ao AWS CloudTrail
Não utilizar o mesmo bucket pois irá criar um loop. A cada alteração de objeto é criado um novo arquivo de log e assim consecutivamente
MFA-Delete
funcionalidade que só pode ser habilitada pela conta root através do CLI
quando habilitado obriga o usuário a utilizar um token MFA antes de realizar operações importantes
Remover o controle de versão no bucket
Deletar permanentemente uma versão de um objeto
Obrigatório ter o versionamento habilitado no bucket
Replicação
Pode-se replicar o conteúdo de um bucket para outro
É obrigatório ter o versionamento ativo nos dois buckets
Buckets podem estar em contas diferentes
cópia dos conteúdos é assíncrona
necessário conceder as policies corretas para o S3
2 more items...
Somente objetos novos são replicados, ou seja, não é retroativo
1 more item...
Deletes não são replicados
Lifecycle Rules
Forma automática de movimentar objetos entre Storage Classes
Configurada a partir de duas variáveis
Transition actions
define quando um objeto deve ser movido para outra classe
Exemplo: mova os objetos criados para IA após 30 dias
Expiration actions
configura o parâmetro de deleção dos objetos após determinado tempo
Pode ser filtrado para um determinado prefixo ou para todo o bucket
Pode ser criado para objetos que contenham alguma tag específica
Event Notifications
Para cada ação realizada dentro do bucket é possível iniciar a execução de outra tarefa
Notificações geralmente são emitadas em segundos
Pode-se filtrar os nomes dos objetos que estão sujeitos ao evento
Não há limites de eventos criados
Para garantir
todas
as notificações de escrita é preciso
habilitar o versionamento
Integrações disponíveis
3 more items...
S3 Websites
funcionalidade habilitada no bucket para servir conteúdos estáticos através da web
nomenclatura segue o padrão
bucketName
.s3-website.
awsRegion
.amazonaws.com
caso tente acesso o site e aparecer o erro 403 (Forbidden), é preciso validar a configuração de public reads
CORS (Cross-Origin Resource Sharing)
mecanismo de funcionamento dos navegadores que permite requisições a websites secundários enquanto visita o principal
a requisição a sites secundários irá falhar até a liberação de acesso, na origem secundária, através de
CORS headers
Mesma origem
http://example.com/app1
e
http://example.com/app2
Origem diferente
http://www.example.com
e
http://other.example.com