Pular para o conteúdo principal

16 publicações com a etiqueta "AWS Fundamentals"

Ver todas as etiquetas

Usando o AWS Pricing Calculator

· 2 min para ler
Ludmila Silva
Cloud & DevOps Engineer

Um dos passos mais importantes durante a adoção da Computação em Nuvem é fazer uma estimativa dos custos. Isso se faz muito útil principalmente quando se trata de projetos de migração de serviços no modelo on premises para a nuvem.

Para realizar esse análise, a AWS fornece o AWS Princing Calculator, que é uma ferramenta que permite estimar os custos da utilização dos serviços da AWS. Isso ajuda a entender e planejar os custos antes de implementar uma solução em nuvem.

O Pricing Calculator permite:

  • Criar estimativas personalizadas
  • Planejar orçamentos e projetos
  • Comprar opções de configuração
  • Salvar e compartilhar as estimativas criadas

Para exemplificar, vamos criar uma estimativa dos seguintes serviços:

  • Duas instâncias EC2 t3.medium com 2 vCPU, 4 GiB de RAM
  • Outras carcterísticas: instâncias compartilhadas, para uso constante

Passo a passo

  1. Acesse o link: https://calculator.aws/ e clique em "Criar estimativa"

  1. Em "Adicionar serviço", escolha por Região, no Leste dos EUA (Norte da Virgínia) e pesquise por EC2

  1. Na pagina seguinte, forneça as especificações da EC2:
  • Locação: instâncias compartilhadas
  • Sistema operacional: Linux
  • Cargas de trabalho: uso constante
  • Número de instâncias: 2

Em instâncias do EC2, procure por t3.medium:

  1. Mais abaixo, em opções de pagamento, selecione:
  • Sob demanda
  • Uso: 100
  • Tipo de uso: horas /mês
  1. Ainda na mesma página, abra a aba "Amazon Elastic Block Store (EBS) - opcional"
  • Selecione o SSD de uso geral (gp3), com quantidade de armazenamento de 100 GB
  1. Por fim, clique em "Salvar e compartilhar resumo".

Sua estimativa foi criada com sucesso! Você ainda pode exportar em formato csv, pdf ou Json.

Documentação

Evitando surpresas desagradáveis na sua conta com o AWS Budgets

· 3 min para ler
Ludmila Silva
Cloud & DevOps Engineer

Uma das maiores preocupações quando estamos estudando com a AWS são as possíveis cobranças que podem ocorrer na conta, especialmente porque os valores cobrados são em dólar.💸

Por isso, para evitar essas surpresas desagradáveis, podemos fazer uso de um serviço essencial da AWS: o AWS Budgets.

O AWS Budgets permite definir orçamentos específicos para rastrear os custos e o uso dos seus serviços na AWS. Ele é ideal para orçar os custos ANTES deles serem incorridos.

Com o Budgets , podemos criar ações personalizadas para evitar gastos excessivos. Além disso, podemos configurar alertas por email ou SMS quando o custo real ou previsto ultrapassar o limite do orçamento estabelecido.

Agora que sabemos o que o Budgets, é hora de colocar a mão na massa. Bora lá?

Passo a Passo

  1. Acessar a console AWS e pesquisar por Budgets

Vai aparecer a seção de Gerenciamento de cobrança e custos (Billing and cost management), mas é preferível ir direto em Budgets, como na imagem:

  1. No painel do Budgets, clique no botão Criar orçamento

Na página seguinte, em Escolher tipo de orçamento, existem as seguintes opções de configuração (na imagem):

Então, vamos preencher nosso orçamento com as seguintes informações:

  • Configuração do orçamento: Usar um modelo (simplificado)
  • Modelos: Orçamento de custo mensal
  • Nome do orçamento: aqui você pode escolher o nome que preferir - eu coloque no exemplo "Meu orçamento"
  • Insira o valor orçado: 1
  • Destinatários de e-mail: digite o e-mail que você quer receber seus alertas

Note que nas opções acima nós definimos um modelo de orçamento, que se baseia em um custo mensal e tem o valor limite de $ 1 (um dólar). Nesse orçamento, todos os produtos da AWS estão no escopo.

Além disso, vamos receber notificações nos seguintes momentos: 1) se o gasto real atingir 85%, 2) se o gasto real atingir 100% e 3) ou se o gasto previsto atingir 100%.

  1. Clique em Criar orçamento e pronto! Seu orçamento foi criado.

Para título de curiosidade, deixo um exemplo dos detalhes que o Budgets apresenta de um orçamento (no meu caso, lá se foram uns centavinhos por causa do NAT Gateway 😐).

Bônus: Orçamento de gasto zero

Como nosso objetivo é não gastar nem um centavo (se possível), vamos criar também um orçamento de gasto zero.

Para isso, clique novamente no botão "Criar orçamento" no painel do Budgets:

E preencha as seguintes informações:

  • Configuração do orçamento: Usar um modelo (simplificado)
  • Modelos: Orçamento de gasto zero
  • Defina um nome para o seu orçamento
  • Destinatários de e-mail: digite o e-mail que você quer receber seus alertas
  1. Clique em Criar orçamento

Voilá! Agora temos 2 orçamentos criados no Budgets

O interessante é que você vá construindo seus orçamentos conforme a sua necessidade. No meu caso, eu tenho um orçamento dentro dos meus limites estabelecidos para uso na AWS - alguns laboratórios vez ou outra necessitam de serviços que são cobrados, então é bom ficar de olho nisso.

Bons estudos!

Documentação

Criar um usuário no AWS IAM

· 4 min para ler
Ludmila Silva
Cloud & DevOps Engineer

Um dos principais serviços da AWS, o IAM (Identity and Access Management) permite criar e gerenciar usuários e grupos, além de atribuir ou revogar permissões de acesso aos recursos.

Para entendermos melhor a importância do IAM e por que devemos criar um usuário, primeiro precisamos entender que quando criamos a nossa conta na AWS, essa conta é chamada de conta raiz (root account). Essa conta contém todos os nossos dados pessoais, dados de faturamento, cartão de crédito e acesso total ao console AWS - e, por conseguinte, a todos os recursos da conta.

Porém, no dia a dia, não é ideal que essa conta seja usada e nem compartilhada com outras pessoas. Até mesmo para os estudos e laboratórios é recomendável usar outra conta que não seja a conta raiz. Por isso, é essencial criar usuários e grupos de acordo com a necessidade, função e definir os níveis de acesso dos mesmos. Essa prática compõe o que chamamos de princípio do menor privilégio, ou seja, dar acesso somente ao que o usuário necessita usar.

Dito isto, vamos ao passo a passo de como criar um usuário no IAM. (Ah, e se você não tem uma conta na AWS, pode seguir este tutorial aqui para criar sua conta).

IAM → criar usuário → selecionar “Quero criar um usuário do IAM” → configurar as senhas → inserir em um grupo ou criar novo grupo com a política desejada

Passo a passo

  1. Faça login na console AWS e pesquise por IAM

Clique em "Usuários" - pode ser tanto na barra lateral esquerda ou no número de usuários que aparece em Recursos do IAM, conforme imagem:

  1. Clique no botão "Criar usuário"

  1. Na página seguinte, defina as credenciais
  • Especifique o nome do usuário
  • Marque a caixa: Fornecer acesso para os usuários ao Console
  • Selecione a opção: Quero criar um usuário do IAM

Em seguida, defina uma senha para a conta.

OBS: um ponto importante é deixar marcada a opção para o usuário criar uma nova senha no momento em que for fazer o primeiro login - o que é uma prática de segurança comum. Como estamos criando uma conta para uso próprio, a caixa "Os usuários devem criar uma nova senha" pode ser desmarcada.

Clique em "Próximo"

  1. Na página seguinte, você deverá fornecer as permissões da conta

Selecione a opção "Anexar políticas diretamente"

Na AWS, as permissões ou restrições de um usuário, grupo ou função do IAM são definidas por políticas (policies). Essas políticas se tratam de documentos escritos em formato JSON com o detalhamento dos recursos e das permissões e restrições, e que devem ser anexados a um usuário grupo ou função.

A AWS possui uma lista bem grande de políticas próprias, ou seja, que são gerenciadas pela AWS. Porém, você também pode criar as suas políticas também.

No nosso caso, vamos pesquisar pela política de PowerUserAccess e selecioná-la. Depois disso, clique em "Próximo".

OBS²: é comum que as pessoas usem a política de AdministratorsAccess para o usuário. A principal diferença entre ela e a PowerUser, é que o Administrator tem permissão para gerenciar usuários e grupos.

  1. Revisar e criar o usuário

Na página seguinte, teremos as informações gerais do usuário, com as políticas de persmissões anexadas a ele. Nesse momento, podemos também definir tags (etiquetas) para ajudar na identificação, organização e controle dos recursos na AWS - mas isso é opcional.

Se tudo estiver certinho, clique em "Criar usuário".

  1. Salvar as credenciais

Após criar o usuário, há uma tela com os detalhes de login (usuário e senha) e a URL de acesso a console. Você pode baixar esses dados em um arquivo formato .csv e clicar no botão "Retornar à lista de usuários".

Pronto, seu usuário foi criado com sucesso no IAM! Você pode testar abrir uma aba anônima no seu navegador e fazer login na console AWS.

Documentação

Como criar uma conta gratuita na AWS

· 3 min para ler
Ludmila Silva
Cloud & DevOps Engineer

Dizem que toda a jornada começa com o primeiro passo. Então, para iniciar uma jornada de estudos de Computação em Nuvem utilizando a AWS como provedor principal, vamos dar o nosso primeiro passo: criar uma conta para utilizar os serviços free tier.

O que você vai precisar para criar a sua conta:

  • Um e-mail válido;
  • Um cartão de crédito (sim, esse é um requisito - mas não se preocupe, vamos criar alertas para não termos surpresinhas desagradáveis).

É importante ressaltar que a AWS possui três tipos de ofertas no nível gratuito: os testes gratuitos, 12 meses gratuitos e ofertas para sempre gratuitas. É importante prestar bastante atenção nesse detalhe na hora de provisionar os seus recursos.

Passo a Passo

  1. Acesse o site da AWS e clique em Criar uma conta da AWS

  1. Na página seguinte, preencha as informações necessárias:
  • Um e-mail válido
  • E um nome para a sua conta da AWS

Será enviado um código de verificação para o seu e-mail, a fim de confirmar o processo de cadastro:

  1. Após a confirmação, você deverá informar:
  • Uma senha para a sua conta;
  • Dados de contato, como nome, endereço e telefone;
  • Concordar com os termos de uso.
  1. O passo seguinte é fornecer os dados do seu cartão de crédito

Para confirmar a validade do cartão, a AWS fará uma cobrança de até $1 (dólar) na sua conta, mas esse valor logo será estornado. Em seguida, você vai confirmar o seu número de telefone.

  1. Por fim, você deve escolher um plano de suporte para a sua conta. Como nosso objetivo é somente para fins estudos, basta escolher o "Suporte Basic - Gratuito"

Clique em Concluir cadastro, e pronto! Sua conta está criada e você vai receber um e-mail quando o processo for concluído.

Assim que for confirmado, você poderá fazer o login na console AWS com o seu usuário (e-mail) e senha.

Ah! Lembrando que esse usuário é o seu usuário root, ou seja, o usuário principal da conta AWS. Esse usuário tem total acesso a todos os recursos, produtos e faturamento da conta AWS.

No mais, bons estudos!

Documentação

Criando uma VPC na AWS

· 10 min para ler
Ludmila Silva
Cloud & DevOps Engineer

Um dos grandes benefícios da nuvem é criar e gerenciar com poucos cliques (ou poucos comand0s) diversos recursos que no ambiente on premises levariam um bom tempo para serem provisionados. Isso inclui os serviços de redes, no qual recebem o nome de Amazon VPC - Virtual Private Cloud - na AWS.

A Amazon VPC possibilita criar e administrar uma rede privada na AWS. Funcionando de modo semelhante a uma infraestrutura de rede convencional, porém com as vantagens de escalabilidade oferecidas pela nuvem. Com isso, temos o controle sobre diversas configurações do ambiente de rede, incluindo definição de intervalo de IPs, grupos de segurança, sub-redes, gateways e outras configurações.

Nesse tutorial, vamos aprender a como criar uma VPC com uma arquitetura básica, entendendo o papel de cada componente da rede.

Exemplo de uma arquitetura de VPC

Portanto, vamos criar uma VPC com:

  • 2 sub-redes (uma pública e uma privada)
  • Internet Gateway
  • Tabelas de roteamento (route tables)
  • Security Groups
  • Network ACL
  • E testar as conexões com 2 instâncias

#1 Criando a VPC

Para criar a VPC, basta acessar a sua conta no console da AWS e buscar por VPC no menu de pesquisa, conforme imagem:

Em seguida, no painel da VPC, você vai clicar em "Criar VPC"

Vamos criar uma VPC com as seguintes configurações:

  • Recursos a serem criados: selecionar "Somente VPC"
  • Tag de nome: main-vpc
  • Bloco CIDR Ipv4:  selecionar "Entrada manual de IPv4"
  • CIDR IPv4: 10.0.0.0/16

Por fim, clique em "Criar VPC".

Pronto! Nossa VPC está criada.

Um ponto interessante é que ao criar a VPC, automaticamente são criados uma Tabela de rotas, um Security Group e uma Network ACL. Nós iremos configurar esses serviços logo adiante. Mas primeiro, precisamos criar as sub-redes pública e privada.

#2 Criando as sub-redes

As sub-redes ou subnets são como um "pedaço" de uma rede, no qual podemos organizar e separar por grupos ou funções. Por exemplo, no ambiente on premises é comum termos a sub-rede do RH, do Financeiro, do Comercial etc.

Quando falamos em nuvem, é nas sub-redes que os recursos, tais como uma instância EC2 ou um banco de dados RDS serão alocados. Cada sub-rede recebe um range de IP derivado da VPC.

Para criar as sub-redes na AWS, vamos seguir o caminho no painel da VPC em: VPC -> Sub-redes -> e clicar em "Criar sub-rede".

Em VPC ID, vamos selecionar a VPC criada anteriormente (no meu caso, é a main-vpc).

Vamos inserir as seguintes configurações:

  • Nome: public-subnet
  • Zona de disponibilidade:
  • Bloco CIDR IPv4 da VPC: selecione o "10.0.0.0/16"
  • Bloco CIDR IPv4 da sub-rede: 10.0.1.0/24
  • Tags: public-subnet

Pronto! Já temos a nossa sub-rede pública criada. Agora, vamos fazer o mesmo processo para a sub-rede privada. Essas são as configurações:

  • Nome: private-subnet
  • Zona de disponibilidade:
  • Bloco CIDR IPv4 da VPC: selecione o "10.0.0.0/16"
  • Bloco CIDR IPv4 da sub-rede: 10.0.2.0/24
  • Bloco CIDR da VPC IPv6: selecione o bloco de IPv6 que aparecer
  • Tags: private-subnet

No menu das Sub-redes, é possível ver as duas sub-redes que criamos:

#2.1 Criar um internet gateway

Apesar de termos criado as nossas sub-redes, os recursos que forem provisionados nelas não terão acesso à internet. Isso quer dizer que caso você precise atualizar os pacotes de uma instância Linux, por exemplo, você não vai conseguir.

Na AWS, o componente que vai permitir o acesso externo é o Internet Gateway. Para criar, você vai seguir o caminho: VPC -> Gateways da Internet -> Criar gateway da Internet

Como tag de nome, optei por usar "public-internet-gateway". Você só precisa nomear o seu gateway e clicar em "Criar".

Agora, vamos associar o gateway com a nossa VPC. Para isso, selecione gateway -> clique em Ações -> clique em Associar a VPC -> e selecione a nossa VPC criada no primeiro passo.

#3 Criando as tabelas de rotas

A tabela de rotas (route table) possui um conjunto de regras que direcionam o tráfego de uma sub-rede ou gateway. Dentro da tabela de rotas, há um conjunto de regras chamado rotas, que vai determinar esse tráfego em termos de IP de destino.

Para criar a nossa tabela de rotas, vá em VPC -> Tabela de rotas -> Criar tabela de rotas. Vamos criar uma tabela de rotas para a sub-rede pública e outra para a privada.

Os nomes das tabelas criadas foram: public-route-table e private-route-table.

#3.1. Criar as rotas

Mesmo criando as tabelas, ainda não temos nenhuma rota efetivamente criada. É através da tabela de rotas que a sub-rede pode ter acesso externo à internet por meio do Internet Gateway, então é isso que vamos fazer agora.

Selecione a tabela de rotas pública, clique no botão "Ações" e em "Editar rotas".

Em seguida, clique em: Adicionar rota -> selecione o Destino como: 0.0.0.0./0 -> e em "Alvo", escolha "Gateway da internet" e selecione o gateway criado anteriormente.

Feito isso, basta salvar as alterações.

Por fim, precisamos associar a tabela de rotas com a sub-rede pública. Selecione a tabela pública -> Editar associações de sub-rede

Escolha a sub-rede pública e clique em "Salvar associações".

Faça o mesmo para a tabela privada, associando-a com a sub-rede privada.

#4 Criando os grupos de segurança

Na AWS, os Grupos de Segurança (Security Groups, ou SGs) atuam como um firewall em nível de instâncias, controlando o tráfego de entrada e saída de uma EC2, por exemplo.

Para criar os Grupos de segurança, vá em VPC -> Segurança -> Grupos de segurança -> Criar grupo de segurança

Na imagem abaixo, estamos criando o SG para os recursos da sub-rede pública:

#4.1 Regras de entrada

Ainda na criação do Grupo de segurança, na mesma página, precisamos inserir as regras de entrada. Ou seja, as portas que iremos utilizar para a comunicação com a instância EC2.

No grupo público, vamos abrir as portas 22,80,443 (SSH, HTTP e HTTPS), conforme imagem:

Salve as configurações. Em seguida, crie o Grupo de segurança para o privado, abrindo somente as portas 22 e 3306 (SSH e MySQL).

#5 Criando as NACLs

Enquanto os Grupos de segurança atuam como firewall para instâncias, as Network Access Control Lists (NACLs) controlam o tráfego de entrada e saída de uma sub-rede. Ou seja, atuam como um firewall a nível de sub-rede, permitindo ou negando acesso à determinados recursos naquela sub-rede.

Para criar a NACL, vá em VPC -> Segurança -> ACLs da rede -> Criar Network ACL. Crie a NACL escolhendo um nome, selecionando a VPC e criando uma tag.

Depois de criar a NACL, precisamos configurar as regras de entrada e saída. Isto porque por padrão, quando criamos uma NACL, o tráfego de entrada e saída está bloqueado (deny).

Então, selecione a NACL pública -> clique em Ações -> Editar regras de entrada

Uma boa prática é numerar as regras, seguindo uma ordem de menor para maior e deixado "espaços" entre estas regras. Ou seja, é preferencial numerá-las como 100, 200, 300 do que 101, 102, 103. Isso torna mais fácil adicionar uma nova regra quando for necessário e sem precisar renumerar tudo.

Vamos criar as seguintes regras:

  • Regra 100 - porta 80 - Origem 0.0.0.0/0 - Permitir
  • Regra 200 - porta 443 -  Origem 0.0.0.0/0 - Permitir
  • Regra 300 - porta 22 - Origem 0.0.0.0/0 - Permitir

E salve as alterações.

Para o tráfego de saída:

  • Regra 100 - porta 80 - Origem 0.0.0.0/0 - Permitir
  • Regra 200 - porta 443 -  Origem 0.0.0.0/0 - Permitir
  • Regra 300 - porta 22 - Origem 0.0.0.0/0 - Permitir

Por fim, associe a NACL com a sub-rede pública.

Associar com as sub-redes

#6 Provisionando as instâncias

A fim de simular um ambiente real, vamos criar 2 instâncias. Uma será provisionada dentro da sub-rede pública e a outra na privada. Esse tipo de configuração é comum em arquiteturas onde temos um webserver "aberto" externamente e um banco de dados na rede privada, o qual somente tem acesso pela aplicação.

#6.1 Criando as instâncias

Vá em Ec2 -> Instâncias -> Executar instâncias

Coloque as seguintes configurações para a nossa primeira instância:

  • Nome: webserver
  • AMI: Ubuntu Server 22.04 LTS
  • Tipo de Instância: t2.micro
  • Par de chaves: Criar novo par de chaves - baixe e salve o par de chaves
  • Configurações de rede - clicar em "Editar"
  • VPC: main-vpc
  • Sub-rede: public-subnet
  • Atribuir IP público automaticamente: Desabilitar
  • Atribuir IP IPv6 automaticamente: Habilitar
  • Grupo de segurança: PublicSecGroup
  • Rolar até o fim da página e clicar em "Executar instância"

Crie a segunda instância:

  • Nome: database
  • AMI: Ubuntu Server 22.04 LTS
  • Tipo de Instância: t2.micro
  • Par de chaves: prosseguir sem par de chaves
  • Configurações de rede - clicar em "Editar"
  • VPC: main-vpc
  • Sub-rede: private-subnet
  • Grupo de segurança: PrivateSecGroup
  • Rolar até o fim da página e clicar em "Executar instância"

#6.2 Conectando na instância pública

No resumo da instância webserver, clique em "Conectar".

Selecione a aba "Conexão de instância do EC2" -> "Conectar-se usando o endpoint do EC2 Instance Connect" -> "Criar endpoint"

Nas configurações, insira um nome e escolha a opção para criar um "Endpoint do EC2 Instance Connect"

Além disso, na mesma página você deve selecionar a VPC criada, o grupo de segurança público e a sub-rede pública. Clique em "Criar endpoint".

Retorne para a instância e clique em "Conectar" -> "Conexão de instância do EC2" -> "Conectar-se usando o endpoint do EC2 Instance Connect" -> e selecione o endpoint criado. Por fim, clique no botão conectar.

Se tudo der certo, uma nova aba será aberta no seu navegador e você vai receber essa mensagem aqui:

Dentro da instância pública podemos testar a conexão com a instância privada (o database). Pegue o IP privado da segunda instância e use o comando telnet para verificar a conexão na porta 22 da instância pública para a privada, conforme imagem:

💡

OBS: Nesse tutorial, optou-se por não criar o NAT Gateway, que é um componente que permite acesso externo a uma instância que está dentro de uma sub-rede privada. Dessa forma, a instância conseguem se conectar à serviços externos para atualizar pacotes, por exemplo, mas os serviços externos não conseguem iniciar uma conexão com a instância.

⚠️

OBS²: Originalmente, este tutorial foi pensado e escrito usando o IPv4 público com acesso via SSH. No entanto, com as novas políticas de cobrança da AWS, optou-se por usar o EC2 Instance Connect ao invés do SSH padrão.

[ATUALIZAÇÃO] Maaaaas... Até o momento foi liberado o uso de IPs públicos para a EC2 dentro do Free Tier, durante 12 meses.

Ufa! Agora sim terminamos. Espero que esse tutorial possa te ajudar nos seus estudos. Ah, e não se esqueça de limpar o seu ambiente.

Criando um Bucket S3 na AWS

· 7 min para ler
Ludmila Silva
Cloud & DevOps Engineer

O que é o Amazon S3?

O Amazon Simple Storage Service, conhecido popularmente como "Amazon S3", é um serviço de armazenamento de objetos (ou blobs) da AWS que atua com alta disponibilidade, escalabilidade e baixa latência - segundo a AWS, o S3 possui 99,9999999% de resiliência de dados!

Mas o que seriam esses "objetos"? Os objetos no Amazon S3 podem ser diversos tipos de arquivos: imagens, pdfs, vídeos, áudios, entre outros. Ele também possibilita hospedar um website estático.

No AWS S3, os objetos são armazenados em buckets ("baldes"), que funcionam como se fossem containers. Dentro de um bucket S3, cada objeto é identificado por uma chave e ID de versão.

Portanto, o S3 pode ser usado para uma diversidade de fins: backup e restauração, arquivamento, data lakes, sites, e-commerces, e por aí vai.

No S3, você também pode escolher a região a fim de otimizar a latência, economizar ou por questões de conformidade.

Ideia do tutorial

Este tutorial tem o intuito de apresentar o S3 e desenvolver algumas habilidades básicas em relação ao seu uso, com os seguintes objetivos:

  • Criar um Bucket S3 e se familiarizar com a interface do serviço de armazenamento de objetos;
  • Subir o conteúdo (upload) e administrar o acesso através de policies.

Passo a Passo

Criando o Bucket S3

  1. Você deve acessar a console AWS e fazer o login - caso não tenha uma conta, é o momento de criar uma e fazer uso dos serviços free tier.

  2. Após logar na console, pesquise pelo "S3" na barra de pesquisa:

  1. Clique em S3 e em seguida, clique em "Criar bucket":

  1. Agora é o momento de configurar os dados do Bucket S3, então siga os seguintes passos:

Configuração geral

  • Nome

 -  Aqui você deve escolher um nome único e global, ou seja, não pode existir na AWS um Bucket com o mesmo nome que o seu. Com 3 a 63 caracteres, podendo ter letras minúsculas, números, ponto (.) e hífen (-).

  • Região da AWS: eu escolhi "Leste dos EUA (Norte da Virgínia) us-east-1"

Propriedade de objeto

  • ACLs desabilitadas (recomendado)

Configurações de bloqueio do acesso público deste bucket

  • Manter a caixa selecionada "Bloquear todo o acesso público"

Versionamento de bucket

  • Manter em "Desativar"

Criptografia padrão

  • Criptografia do lado do servidor com chaves gerenciadas do Amazon S3 (SSE-S3)

Chave do bucket

  • "Ativar"

Em Configurações Avançadas, não é necessário configurarmos nada no momento. Então, somente desça até a parte inferior da página e clique em "Criar bucket". E pronto! Seu Bucket S3 está criado.

Fazendo o upload de objetos no Bucket

  1. Com o bucket criado, clique nele para acessá-lo. Em seguida, clique em "Carregar" para enviar uma imagem simples (pode ser qualquer imagem que você tiver disponível):

  1. Clique em "Adicionar arquivos" e selecione a imagem desejada. E em seguida clique em "Carregar".

Se tudo estiver ocorrido bem, você vai receber uma mensagem de upload bem-sucedido, conforme imagem:

Se o upload deu certo, então clique em "Fechar".

Acessando a imagem

  1. Agora, selecione a imagem e clique em "Abrir":

A imagem vai carregar no seu navegador (a minha foi essa aqui):

Tudo certo, não? Então, vamos para mais um teste.

Acessar com a URL de objeto

  1. Selecione novamente a imagem e clique no botão "copiar url". Em seguida, abra uma nova aba no seu navegador e cole a URL

E..... Voilá! Não conseguimos acessar a imagem dessa vez. Nossa permissão foi negada:

Isso ocorre pois há um impedimento aqui: por questões de segurança padrão, não podemos acessar o arquivo sem estarmos logados na conta da AWS. Caso fosse um arquivo que por algum motivo necessitasse de acesso externo público, é necessário então liberar esse acesso.

Habilitar o acesso público para a imagem

  1. O primeiro passo para liberarmos o acesso público da nossa imagem é ir em "Permissões" no Bucket:

  1. Em Bloquear acesso público, clique em "Editar":

  1.  E desmarque a caixa "Bloquear todo o acesso público" e depois clique em "Salvar alterações":

A AWS vai pedir para confirmar essa modificação - já que por não ser uma boa prática de segurança, não é recomendável liberar o acesso público para o seu Bucket. Mas estamos fazendo isso apenas para fins didáticos:

Ótimo! Agora você vai conseguir acessar a imagem pela URL, certo? Não. Ainda não. Falta um passo: criar uma política que permita o acesso.

Criar política de acesso

  1. Ainda na aba "Permissões", desça até a opção "Editar política de bucket" e clique em "Editar":

  1. Primeiro, copie a ARN do bucket (que é o identificador único do recurso). Em seguida, clique no botão "Gerenciador de políticas":

  1. Se o seu navegador te direcionou para uma página estranha com a logo da AWS, não se assuste! Trata-se do AWS Policy Generator, um gerador de políticas que permite que criar as nossas políticas de acesso aos recursos provisionados na AWS.

Então, vamos lá:

  • Em Step 1, selecione a opção "S3 Bucket Policy"

Em Step 2, use as seguintes configurações:

  • Effect: marque "Allow"
  • Principal: coloque apenas o símbolo do asterisco "*" (sem aspas)
  • Actions: procure pela opção "GetObject" e selecione-a
  • Amazon Resource name (ARN): cole a ARN do bucket (se não lembra onde conseguir, volte no passo 14 deste tutorial) e no final da ARN acrescente /*

Clique em "Add Statement"

  1. No Step 3, clique em "Generate Policy" e copie o JSON criado. Cuidado para não copiar caracteres de espaço em branco sem querer.

  1. Volte na AWS, na aba "Política do bucket", e cole o JSON

  1. Role até abaixo e clique em "Salvar alterações"

Acessando a imagem pela URL

  1. Clique na aba "Objetos" e selecione a imagem. Em seguida, copie a URL

  1. Cole o link em uma nova aba no navegador e... Pronto! Se tudo deu certo, você e qualquer outra pessoa conseguem acessar a imagem. Que beleza!

Excluindo o Bucket

  1. Depois desse sucesso, é hora de limpar o ambiente. Então, selecione a sua imagem e clique no botão "Excluir". A console perguntará se você quer excluir permanentemente o objeto, por isso confirme a exclusão.

  2. Volte para a opção Buckets na console. Selecione o seu bucket e clique em "Excluir". Confirme a exclusão.

E pronto! Você acaba de criar, gerenciar e excluir o seu bucket S3. Além disso, você aprendeu como gerenciar o acesso ao bucket e aos objetos armazenados nele.

Documentação

Por se tratar de um tutorial introdutório, não entramos em assuntos como encriptação, versionamento, classes de armazenamento, ciclo de vida, entre outros.

Para ir se habituando e conhecendo mais sobre o Amazon S3, deixo alguns links de recomendação e documentação abaixo.

Bons estudos! 👋