Based on the official docs

Learn AWS visually and interactively.

From accounts and permissions to networking, servers, databases and domains. Click, simulate and test what you learned in every section.

Visão geralOverview

Mapa da arquiteturaArchitecture map

Um caminho típico de uma requisição. Clique em cada peça para entender o papel dela. Cada seção abaixo traz os links da documentação oficial.A typical request path. Click each piece to understand its role. Each section below lists its official documentation links.

ExploradorExplorer
→ → →
Route 53 traduz meusite.com.br no endereço do load balancer.Route 53 translates mysite.com into the load balancer's address.
Fundamentos · 01Foundations · 01

IAM

Identity and Access Management: o serviço que controla quem se autentica (login) e quem está autorizado (permissões) a usar os recursos da AWS.Identity and Access Management: the service that controls who is authenticated (signed in) and who is authorized (has permissions) to use AWS resources.

Root user

Identidade criada junto com a conta, com acesso total. A AWS recomenda não usá-la no dia a dia. Algumas tarefas exigem o root, e a documentação lista quais.The identity created with the account, with complete access. AWS recommends not using it for everyday tasks. A few tasks do require root, and the docs list them.

User

Identidade com credenciais de longo prazo (senha, access keys). A AWS recomenda usá-lo só quando federação e roles não servem, por exemplo em ferramentas de terceiros que não suportam o IAM Identity Center.An identity with long-term credentials (password, access keys). AWS recommends it only when federation and roles do not fit, for example third-party tools that do not support IAM Identity Center.

User Group

Coleção de usuários IAM: anexe a política ao grupo e todos herdam. Um usuário pode estar em vários grupos. Grupos não podem ser aninhados e não podem ser Principal em uma política.A collection of IAM users: attach the policy to the group and everyone inherits it. A user can be in many groups. Groups cannot be nested and cannot be a Principal in a policy.

Role

Identidade sem credenciais próprias de longo prazo, feita para ser assumida por quem precisar (pessoas, outras contas, serviços AWS ou IdPs externos). Ao assumir, você recebe credenciais temporárias da sessão.An identity with no long-term credentials of its own, meant to be assumed by whoever needs it (people, other accounts, AWS services or external IdPs). On assuming it, you get temporary session credentials.
Role = permissões + confiançaRole = permissions + trust Uma role tem dois tipos de política: a política de permissões (o que a role pode fazer) e a trust policy (quem pode assumi-la). A trust policy é uma política baseada em recurso, obrigatória em toda role. A role has two kinds of policy: the permissions policy (what the role can do) and the trust policy (who can assume it). The trust policy is a resource-based policy, required on every role.

Fluxo comum com gruposCommon flow with groups

Policy→ User Group (Devs)→ Users

Anatomia de uma políticaAnatomy of a policy

Uma política é um documento JSON. Exemplo de permissão para enviar (push) imagens a um repositório do ECR, com placeholders no lugar de IDs reais:A policy is a JSON document. Example permission to push images to an ECR repository, with placeholders instead of real IDs:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ecr:GetAuthorizationToken",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ecr:BatchCheckLayerAvailability",
        "ecr:InitiateLayerUpload",
        "ecr:UploadLayerPart",
        "ecr:CompleteLayerUpload",
        "ecr:PutImage"
      ],
      "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/meu-repositorio"
    }
  ]
}
Campo / FieldSignificadoMeaning
VersionVersão da linguagem de política. Os exemplos da AWS usam 2012-10-17.Policy language version. AWS examples use 2012-10-17.
EffectAllow ou Deny.Allow or Deny.
ActionAs operações da API do serviço. Normalmente é preciso listar várias ações.The service API operations. You usually need to list several actions.
ResourceSobre quais recursos vale, identificados pelo ARN (Amazon Resource Name).Which resources it covers, identified by ARN (Amazon Resource Name).
ConditionOpcional. Restringe quando a permissão vale (ex.: exigir TLS, limitar a um IP).Optional. Restricts when the permission applies (e.g. require TLS, limit to an IP).
Pegadinha: negar venceGotcha: deny wins Um Deny explícito (em política de identidade, SCP ou RCP) sobrepõe qualquer Allow. Em contas de uma organização, a permissão efetiva é a interseção entre as políticas IAM e as SCPs. An explicit Deny (in an identity policy, SCP or RCP) overrides any Allow. In accounts of an organization, effective permission is the intersection of IAM policies and SCPs.
Boas práticas oficiais (resumo)Official best practices (summary) Pessoas acessam por federação com credenciais temporárias (a AWS recomenda o IAM Identity Center); cargas de trabalho usam roles; exija MFA onde houver usuário IAM ou root; aplique privilégio mínimo; revise e remova credenciais não usadas; use várias contas com Organizations e SCPs como guardrails. Veja as seções Organizations e IAM Identity Center. People access through federation with temporary credentials (AWS recommends IAM Identity Center); workloads use roles; require MFA wherever an IAM user or root exists; apply least privilege; review and remove unused credentials; use multiple accounts with Organizations and SCPs as guardrails. See Organizations and IAM Identity Center.
Mudança em relação às anotações antigasChange from the old notes As anotações sugeriam criar usuários, grupos e roles separados por ambiente (dev, staging, prod) dentro da mesma conta. A documentação recomenda separar as cargas de trabalho em contas diferentes, gerenciadas com Organizations. The old notes suggested separate users, groups and roles per environment (dev, staging, prod) inside one account. The docs recommend separating workloads into different accounts managed with Organizations.

Quando usarWhen to use

Roles para serviços e CI/CD; grupos + políticas quando houver usuários IAM; Access Analyzer para revisar permissões.Roles for services and CI/CD; groups + policies when IAM users exist; Access Analyzer to review permissions.

Quando evitarWhen to avoid

Usuário IAM com access key de longo prazo para pessoas ou para workloads que poderiam usar role; uso do root no dia a dia.IAM users with long-term access keys for people, or for workloads that could use a role; everyday use of root.
Teste-seTest yourself
Por que usar grupos em vez de políticas direto no usuário?Why use groups instead of attaching policies directly to users?
Muda uma vez e vale para todos do grupo. Quem troca de função só muda de grupo.You change it once and it applies to everyone in the group. Someone changing jobs just changes group.
Qual a diferença entre User e Role?What is the difference between a User and a Role?
User tem credenciais de longo prazo e dono fixo. Role é assumida por quem precisar e entrega credenciais temporárias.A User has long-term credentials and a fixed owner. A Role is assumed by whoever needs it and issues temporary credentials.
Fundamentos · 02Foundations · 02

AWS Organizations

Gerencie e governe várias contas AWS de forma central: criar contas, agrupá-las em OUs, aplicar políticas e ter uma fatura única.Centrally manage and govern many AWS accounts: create accounts, group them into OUs, apply policies and get a single bill.

Management account

Conta que administra a organização. SCPs não afetam usuários e roles dela, só as contas-membro.The account that administers the organization. SCPs do not affect its users and roles, only member accounts.

Member accounts

As demais contas. Cada conta AWS é um limite natural de permissão, segurança, custo e carga de trabalho.All other accounts. Each AWS account is a natural boundary for permissions, security, cost and workloads.

OU

Organizational Unit: grupo de contas (por exemplo, as que atendem a uma aplicação ou a um ambiente). Políticas anexadas a uma OU valem para as contas dentro dela.Organizational Unit: a group of accounts (for example those serving one application or environment). Policies attached to an OU apply to the accounts inside it.

SCP

Service Control Policy: define o máximo de permissões disponível para IAM users e roles das contas. Não concede nada.Service Control Policy: defines the maximum permissions available to IAM users and roles in the accounts. It grants nothing.

Por que separar contas por ambienteWhy separate accounts by environment

A AWS recomenda usar várias contas para separar cargas de trabalho, em vez de uma só. Por padrão não existe acesso entre contas: se produção e não-produção ficam em contas distintas, elas permanecem isoladas até você liberar explicitamente. O número de contas não altera a cobrança, que é baseada no uso dos recursos.AWS recommends using several accounts to separate workloads rather than a single one. By default there is no access between accounts: if production and non-production live in different accounts, they stay isolated until you explicitly allow access. The number of accounts does not change billing, which is based on resource usage.

Exemplo de desenho (uma sugestão didática, não um padrão obrigatório da AWS):Example layout (a teaching suggestion, not a mandatory AWS standard):

OrganizaçãoOrganization
Management→ OU Prod
<ID_CONTA_PROD>
OU Non-prod
<ID_CONTA_STAGING>
OU Shared
tooling: ECR, CI/CDtooling: ECR, CI/CD · <ID_CONTA_TOOLING>

A conta de tooling/compartilhada costuma guardar o que várias contas usam, como o repositório de imagens no ECR (acesso entre contas via repository policy).The tooling/shared account usually holds what several accounts use, such as the image repository in ECR (cross-account access through a repository policy).

Simulador de herança de SCPSCP inheritance simulator

Clique em um nó da árvoreClick a node of the tree
FullAWSAccess Negar sair da organizaçãoDeny leaving the organization Só regiões aprovadasApproved regions only Negar instâncias carasDeny expensive instances

As SCPs destacadas são as efetivas: cada conta só tem o que é permitido por todos os níveis acima dela. Os nomes das SCPs aqui são ilustrativos.Highlighted SCPs are the effective ones: an account only has what every level above it allows. The SCP names here are illustrative.

Exemplo de SCPSCP example

Exemplo didático que nega ações fora de duas regiões, com exceção de serviços globais. Adapte e teste em uma OU de teste antes de usar. A AWS publica exemplos oficiais de SCP na página de exemplos de SCP.Teaching example denying actions outside two regions, except for global services. Adapt it and test it in a test OU first. AWS publishes official SCP examples in its SCP examples page.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "NotAction": ["iam:*", "organizations:*", "route53:*", "support:*"],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": { "aws:RequestedRegion": ["us-east-1", "sa-east-1"] }
      }
    }
  ]
}
Limites e pegadinhas (segundo a documentação)Limits and gotchas (per the docs)
  • SCPs só existem em organizações com all features habilitado; no modo apenas de cobrança consolidada elas não estão disponíveis.SCPs exist only in organizations with all features enabled; they are not available with consolidated billing only.
  • SCP nunca concede permissão. A permissão efetiva é a interseção entre SCP/RCP e as políticas de identidade e de recurso.An SCP never grants permission. Effective permission is the intersection of SCP/RCP and identity/resource policies.
  • SCPs afetam também o root user das contas-membro, mas não afetam service-linked roles nem usuários de fora da organização.SCPs also affect member-account root users, but they do not affect service-linked roles or principals outside the organization.
  • Não remova a FullAWSAccess sem substituí-la: todas as ações das contas-membro falhariam.Do not remove FullAWSAccess without replacing it: all member-account actions would fail.
  • A AWS recomenda não anexar SCPs na raiz sem testar: use uma OU e mova as contas aos poucos.AWS recommends not attaching SCPs to the root without testing: use an OU and move accounts a few at a time.
  • Todos os caracteres da SCP contam para o tamanho máximo (veja as cotas).Every character counts toward an SCP's maximum size (see the quotas).

Quando usarWhen to use

Mais de um ambiente ou time; necessidade de guardrails (regiões, serviços); fatura única; compartilhamento central de recursos.More than one environment or team; need for guardrails (regions, services); a single bill; central resource sharing.

Quando evitarWhen to avoid

Aplicar SCP direto na raiz sem teste; esperar que SCP libere permissões; rodar cargas de trabalho na management account (ela não é limitada por SCP).Applying an SCP straight to the root without testing; expecting an SCP to grant permissions; running workloads in the management account (it is not limited by SCPs).
Teste-seTest yourself
Uma SCP que permite s3:* já dá acesso ao S3 aos usuários?Does an SCP that allows s3:* already give users S3 access?
Não. SCP só define o teto. É preciso uma política IAM (ou de recurso) que conceda a permissão.No. An SCP only sets the ceiling. An IAM (or resource) policy must still grant the permission.
Qual conta não é afetada por SCPs?Which account is not affected by SCPs?
A management account.The management account.
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13

Removido por falta de fonte oficial: a anotação sobre descontos por volume e compartilhamento de Savings Plans/Reservas na fatura consolidada. Consulte a documentação de billing antes de afirmar isso.Removed for lack of an official source: the note on volume discounts and Savings Plans/Reservations sharing under consolidated billing. Check the billing docs before claiming it.

Fundamentos · 03Foundations · 03

IAM Identity Center

Login único (SSO) para a força de trabalho: pessoas entram uma vez e acessam várias contas AWS e aplicações, com credenciais temporárias.Single sign-on (SSO) for your workforce: people sign in once and reach many AWS accounts and applications, using temporary credentials.

O IAM Identity Center (antigo AWS Single Sign-On) conecta o seu provedor de identidade existente, sincronizando usuários e grupos, ou permite criar e gerenciar usuários direto nele. Para acesso a contas, a AWS o recomenda como forma de dar acesso a pessoas. Não há cobrança adicional pelo IAM Identity Center; você paga pelos recursos que usa.IAM Identity Center (formerly AWS Single Sign-On) connects your existing identity provider, syncing users and groups, or lets you create and manage users directly in it. For account access, AWS recommends it as the way to give access to people. There is no additional charge for IAM Identity Center; you pay for the resources you use.

PessoaPerson→ AWS access portal→ Permission set→ Contas staging / prodstaging / prod accounts

Instância da organizaçãoOrganization instance

É a melhor prática e a única que permite gerenciar acesso a contas AWS. Fica na management account do Organizations.It is the best practice and the only one that lets you manage access to AWS accounts. It lives in the Organizations management account.

Permission set

Modelo que reúne uma ou mais políticas IAM. Ao atribuí-lo a um usuário ou grupo em uma conta, o Identity Center cria e mantém uma role IAM nela e anexa as políticas.A template grouping one or more IAM policies. When you assign it to a user or group in an account, Identity Center creates and maintains an IAM role there and attaches the policies.

Credenciais temporáriasTemporary credentials

A duração da sessão da conta vem do permission set (padrão de 1 hora, máximo de 12 horas). A sessão no portal tem outro limite (padrão de 8 horas, máximo de 90 dias).Account session length comes from the permission set (default 1 hour, maximum 12 hours). The portal session has its own limit (default 8 hours, maximum 90 days).

Permission sets na práticaPermission sets in practice

  • Permission sets exigem a instância da organização com multi-account permissions habilitado (padrão ao criar a instância).Permission sets require the organization instance with multi-account permissions enabled (default when the instance is created).
  • Aceitam políticas gerenciadas pela AWS, gerenciadas pelo cliente, inline e de função de trabalho, além de uma permissions boundary.They accept AWS managed, customer managed, inline and job-function policies, plus a permissions boundary.
  • Você pode atribuir mais de um permission set à mesma pessoa. A documentação recomenda escolher, no portal, o mais restritivo que resolve a tarefa, em vez de sempre usar administrador.You can assign more than one permission set to the same person. The docs recommend choosing, in the portal, the most restrictive one that does the job rather than always using admin.
  • Exemplo da documentação: PowerUserAccess não permite gerenciar usuários e grupos IAM, ao contrário de AdministratorAccess.Docs example: PowerUserAccess does not allow managing IAM users and groups, unlike AdministratorAccess.
  • Precisa de recursos além do que permission sets oferecem (trust policy customizada, tags de role)? Veja o account access manager do IAM.Need more than permission sets offer (custom trust policy, role tags)? See IAM's account access manager.

Uso no terminalUsing it in the terminal

aws configure sso          # cria o perfil (sso-session, conta e permission set)
aws sso login --profile meu-perfil
aws sts get-caller-identity --profile meu-perfil
aws sso logout

Quando as credenciais do SSO expiram, é preciso fazer login de novo. Veja também a seção AWS CLI.When SSO credentials expire you must sign in again. See also the AWS CLI section.

Quando usarWhen to use

Pessoas que acessam várias contas (staging, prod, tooling); quando se quer um único ponto de login e permissões centralizadas por perfil de trabalho.People who access several accounts (staging, prod, tooling); when you want a single sign-in point and permissions centralized per job role.

Quando evitarWhen to avoid

Para pipelines de CI/CD e workloads (use roles com OIDC); instâncias de conta para gerenciar acesso a várias contas (só a instância da organização faz isso).For CI/CD pipelines and workloads (use roles with OIDC); account instances to manage access across accounts (only the organization instance does that).
Teste-seTest yourself
O que o Identity Center cria na conta quando você atribui um permission set?What does Identity Center create in the account when you assign a permission set?
Uma role IAM gerenciada por ele, com as políticas do permission set anexadas.An IAM role managed by it, with the permission set's policies attached.
Fundamentos · 04Foundations · 04

OIDC & GitHub Actions

Federação OIDC: um serviço externo (como o GitHub Actions) prova quem é com um token e troca por credenciais temporárias da AWS, sem guardar access keys.OIDC federation: an external service (such as GitHub Actions) proves who it is with a token and exchanges it for temporary AWS credentials, with no stored access keys.

A AWS recomenda não guardar credenciais de longo prazo em aplicações fora da AWS. Com OIDC, o provedor emite um JSON Web Token (JWT); a AWS valida o token e devolve credenciais temporárias de uma role IAM. A operação da API é AssumeRoleWithWebIdentity (AWS STS).AWS recommends not storing long-term credentials in applications outside AWS. With OIDC, the provider issues a JSON Web Token (JWT); AWS validates it and returns temporary credentials for an IAM role. The API operation is AssumeRoleWithWebIdentity (AWS STS).

GitHub Actions① JWT → Provedor OIDC no IAMOIDC provider in IAM② AssumeRoleWithWebIdentity → Role + trust policy③ credenciais temporáriastemporary credentials → Recursos AWSAWS resources

1 · Criar o provedor OIDC no IAM1 · Create the OIDC provider in IAM

  • A URL do provedor começa com https://, não tem porta e não tem query string. É sensível a maiúsculas e deve ser única na conta. Para o GitHub Actions: https://token.actions.githubusercontent.com.The provider URL starts with https://, has no port and no query string. It is case-sensitive and must be unique in the account. For GitHub Actions: https://token.actions.githubusercontent.com.
  • O campo Audience (aud) deve bater com o valor que o provedor coloca no token. Para o GitHub Actions no console, é sts.amazonaws.com.The Audience (aud) must match the value the provider puts in the token. For GitHub Actions in the console, it is sts.amazonaws.com.
  • A AWS verifica o certificado do endpoint JWKS com sua biblioteca de CAs confiáveis; thumbprints só entram como alternativa quando o certificado não é de uma CA conhecida.AWS verifies the JWKS endpoint certificate against its library of trusted CAs; thumbprints are only a fallback when the certificate is not from a known CA.
  • O provedor OIDC usado na trust policy precisa estar na mesma conta da role.The OIDC provider used in a trust policy must be in the same account as the role.

2 · Trust policy da role2 · The role's trust policy

O GitHub é um provedor OIDC compartilhado entre muitos clientes. Por isso o IAM exige que a trust policy avalie a condição token.actions.githubusercontent.com:sub, e o valor não pode ser só um curinga. Sem essa restrição, workflows de repositórios fora do seu controle poderiam assumir a role. Exemplo restrito a um repositório e uma branch:GitHub is an OIDC provider shared across many customers. So IAM requires the trust policy to evaluate the condition token.actions.githubusercontent.com:sub, and the value cannot be only a wildcard. Without that restriction, workflows from repositories outside your control could assume the role. Example limited to one repository and one branch:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Federated": "arn:aws:iam::111122223333:oidc-provider/token.actions.githubusercontent.com"
      },
      "Action": "sts:AssumeRoleWithWebIdentity",
      "Condition": {
        "StringEquals": {
          "token.actions.githubusercontent.com:aud": "sts.amazonaws.com",
          "token.actions.githubusercontent.com:sub": "repo:MINHA_ORG/MEU_REPO:ref:refs/heads/main"
        }
      }
    }
  ]
}

O claim sub do GitHubThe GitHub sub claim

Contexto do jobJob contextsub
BranchBranchrepo:ORG/REPO:ref:refs/heads/BRANCH
Tagrepo:ORG/REPO:ref:refs/tags/TAG
Environmentrepo:ORG/REPO:environment:NOME
Pull requestrepo:ORG/REPO:pull_request
  • Se o job referencia um environment, o sub usa o formato de environment (ele tem prioridade). Pull request só aparece quando não há environment. Branch e tag valem quando não há environment nem pull request.If the job references an environment, the sub uses the environment format (it takes priority). Pull request only appears when there is no environment. Branch and tag apply when there is neither environment nor pull request.
  • Para restringir repositório, use StringLike com repo:ORG/REPO:*. Para branch, use o valor exato da branch. Para environment, use repo:ORG/REPO:environment:producao e proteja o environment com regras de deploy (quais branches e tags podem fazer deploy nele), como a AWS e o GitHub recomendam.To restrict the repository, use StringLike with repo:ORG/REPO:*. For a branch, use the exact branch value. For an environment, use repo:ORG/REPO:environment:production and protect the environment with deployment rules (which branches and tags may deploy to it), as AWS and GitHub recommend.
  • Repositórios novos podem emitir o formato imutável, que inclui IDs: repo:ORG@ORG_ID/REPO@REPO_ID:.... A documentação da action avisa que, se a trust policy usa o formato antigo e o repositório emite o novo, o assume-role falha com "Not authorized". Confira o formato que o seu repositório emite.New repositories may issue the immutable format, which includes IDs: repo:ORG@ORG_ID/REPO@REPO_ID:.... The action's docs warn that if the trust policy uses the old format and the repository issues the new one, assume-role fails with "Not authorized". Check which format your repository issues.
  • Dois-pontos dentro de valores aparecem como %3A no sub.Colons inside values appear as %3A in the sub.

3 · Workflow com aws-actions/configure-aws-credentials3 · Workflow with aws-actions/configure-aws-credentials

permissions:
  id-token: write   # permite ao job pedir o JWT

jobs:
  deploy:
    runs-on: ubuntu-latest
    environment: producao
    steps:
      - uses: aws-actions/configure-aws-credentials@v6   # fixe uma versão/SHA
        with:
          role-to-assume: arn:aws:iam::111122223333:role/github-deploy-prod
          aws-region: us-east-1
      - run: aws sts get-caller-identity

A região é sempre obrigatória na action. Ela também tem recomendações próprias: menor privilégio na role, cuidado com pull_request_target e com runners não efêmeros, e evitar ForAllValues: em statements Allow.The region is always required by the action. It also has its own advice: least privilege on the role, care with pull_request_target and non-ephemeral runners, and avoid ForAllValues: in Allow statements.

PegadinhasGotchas
  • Uma role por ambiente (staging, prod) e, idealmente, cada uma na sua própria conta, com sub diferente.One role per environment (staging, prod) and ideally each in its own account, with a different sub.
  • A trust policy de uma role OIDC só pode ter um tipo de provedor; para vários IdPs, crie uma role para cada.An OIDC role's trust policy supports only one provider; for several IdPs, create one role each.
  • O IAM aceita o token por até 5 minutos além do exp, por causa de diferença de relógio.IAM accepts the token up to 5 minutes past its exp, to allow for clock skew.

Quando usarWhen to use

CI/CD que precisa chamar a AWS (push no ECR, deploy no ECS, sync no S3) sem access keys guardadas como secret.CI/CD that needs to call AWS (ECR push, ECS deploy, S3 sync) without access keys stored as secrets.

Quando evitarWhen to avoid

Trust policy com sub aberto (ex.: repo:ORG/* em produção); pessoas fazendo login (prefira Identity Center).A trust policy with an open sub (e.g. repo:ORG/* in production); people signing in (prefer Identity Center).
Teste-seTest yourself
Por que a condição em sub é obrigatória para o GitHub?Why is the sub condition mandatory for GitHub?
Porque o provedor é compartilhado: sem ela, workflows de qualquer repositório poderiam assumir a sua role.Because the provider is shared: without it, workflows from any repository could assume your role.
Que permissão o job precisa para pedir o token?What permission does the job need to request the token?
permissions: id-token: write.permissions: id-token: write.
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13

Os formatos de sub e o comportamento do GitHub vêm da documentação do GitHub, não da AWS. Revise-os na fonte antes de aplicar em produção.The sub formats and GitHub behavior come from GitHub's docs, not AWS. Review them at the source before applying to production.

Fundamentos · 05Foundations · 05

AWS CLI (Linux)

Controle serviços da AWS pela linha de comando. Esta página usa a versão 2 do AWS CLI.Control AWS services from the command line. This page covers AWS CLI version 2.

InstalarInstall

O script de instalação é o método recomendado pela documentação. Por padrão ele instala só para o usuário atual, em $HOME/.local. O método com sudo e --system instala para todos.The install script is the method the docs recommend. By default it installs for the current user only, under $HOME/.local. The sudo + --system form installs for everyone.

curl -fsSL https://awscli.amazonaws.com/v2/install.sh | bash
aws --version
CuidadoCareful Rodar um script baixado direto no shell é uma escolha sua. A documentação também oferece o instalador em .zip, com verificação opcional de assinatura (GPG), e um pacote snap. No Amazon Linux, remova antes o pacote awscli do yum se quiser a versão mais recente. Piping a downloaded script into the shell is your call. The docs also offer the .zip installer, with optional GPG signature verification, and a snap package. On Amazon Linux, first remove the yum awscli package if you want the latest version.

Atualizar e removerUpdate and remove

aws update

Em instalações feitas pelo script ou pelos instaladores oficiais, o comando acima atualiza o CLI. Se foi instalado para todos os usuários, rode-o com sudo. Para desinstalar, siga a página oficial de desinstalação (link abaixo).For installs done with the script or the official installers, the command above updates the CLI. If it was installed for all users, run it with sudo. To uninstall, follow the official uninstall page (link below).

CorreçãoCorrection A anotação antiga dizia para repetir o comando de instalação com --update e removia arquivos à mão. A documentação atual traz o comando aws update. Os passos manuais de remoção foram trocados por link para a página oficial. The old note said to repeat the install command with --update and removed files by hand. The current docs have the aws update command. The manual removal steps were replaced by a link to the official page.

Quem sou eu? e loginWho am I? and login

aws sts get-caller-identity --profile meu-perfil

Mostra a identidade (conta e ARN) das credenciais em uso. Para pessoas, configure o login com IAM Identity Center (aws configure sso e aws sso login).Shows the identity (account and ARN) of the credentials in use. For people, set up sign-in with IAM Identity Center (aws configure sso and aws sso login).

ECR — autenticação com um token temporário (válido por 12 horas) para o Docker:authentication with a temporary token (valid for 12 hours) for Docker:

aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 111122223333.dkr.ecr.us-east-1.amazonaws.com

Quando usarWhen to use

Automação, scripts, diagnóstico rápido e tarefas repetíveis que o console não resolve bem.Automation, scripts, quick diagnostics and repeatable tasks the console does not handle well.

Quando evitarWhen to avoid

Access keys fixas em arquivo para pessoas (prefira SSO) ou em CI (prefira OIDC).Static access keys in files for people (prefer SSO) or in CI (prefer OIDC).
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13
Fundamentos · 06Foundations · 06

SSH (Secure Shell)

Forma clássica de abrir um terminal remoto em uma instância EC2 Linux, usando um par de chaves.The classic way to open a remote terminal on a Linux EC2 instance, using a key pair.

Pré-requisitos segundo a documentação da EC2Prerequisites per the EC2 docs

  • A instância passou nas status checks (pode levar alguns minutos).The instance passed its status checks (it can take a few minutes).
  • Você tem a chave privada (.pem) do key pair e as permissões do arquivo configuradas (a página de pré-requisitos da EC2 detalha isso).You have the key pair's private key (.pem) with file permissions set (the EC2 prerequisites page explains this).
  • O Security Group da instância libera SSH (porta 22) só do seu IP. Abrir 22 para 0.0.0.0/0 deixa qualquer um tentar entrar.The instance's Security Group allows SSH (port 22) only from your IP. Opening 22 to 0.0.0.0/0 lets anyone try.

ConectarConnect

ssh -i /caminho/minha-chave.pem usuario-da-instancia@dns-publico-da-instancia

No primeiro acesso, o SSH mostra a impressão digital (fingerprint) do servidor. A documentação sugere conferi-la com a da instância: se não bater, pode ser um ataque man-in-the-middle.On first connection SSH shows the server fingerprint. The docs suggest checking it against the instance's: if it does not match, it may be a man-in-the-middle attack.

Alternativa sem porta 22Alternative without port 22 O Session Manager (Systems Manager) permite acessar nós sem abrir portas de entrada, sem bastion host e sem chaves SSH. Veja Systems Manager. Session Manager (Systems Manager) lets you access nodes with no inbound ports, no bastion hosts and no SSH keys. See Systems Manager.
Nota pessoal · sem fonte oficial da AWSPersonal note · no official AWS source As explicações abaixo (handshake e camadas TCP/IP) são conteúdo didático geral sobre o protocolo SSH, mantido das anotações originais. Elas não vêm da documentação da AWS e não foram verificadas nela. Também ficaram como nota pessoal: chmod 400 na chave e o usuário padrão ec2-user no Amazon Linux. The explanations below (handshake and TCP/IP layers) are general teaching content about the SSH protocol, kept from the original notes. They do not come from AWS documentation and were not verified there. Also left as personal notes: chmod 400 on the key and the default ec2-user on Amazon Linux.

Handshake passo a passoHandshake step by step

AnimaçãoAnimation
Client Server
  1. O servidor envia sua chave pública de host (a "impressão digital" dele).The server sends its public host key (its "fingerprint").
  2. O cliente verifica se conhece essa chave, sabendo quem é o outro lado.The client checks whether it knows that key, knowing who is on the other side.
  3. Ambos geram um segredo compartilhado pela matemática, sem transmiti-lo. O canal passa a ser criptografado.Both derive a shared secret through math, without ever sending it. The channel is now encrypted.
  4. O cliente envia o usuário e sua chave pública (ou senha).The client sends the username and its public key (or password).
  5. O servidor reconhece a chave e envia um desafio: uma mensagem aleatória trancada com a chave pública do cliente.The server recognizes the key and sends a challenge: a random message locked with the client's public key.
  6. O cliente destranca a mensagem com a chave privada (só ela consegue) e a assina.The client unlocks the message with its private key (only it can) and signs it.
  7. A assinatura volta ao servidor, provando a posse da chave privada.The signature goes back to the server, proving possession of the private key.
  8. O servidor confirma e libera o terminal. Agora é possível executar comandos com segurança.The server confirms and opens the terminal. Now you can run commands securely.

Protocolos e TCP/IPProtocols and TCP/IP

Um protocolo é um contrato: regras de como os dados são formatados, transmitidos e recebidos. O SSH é da camada de Aplicação e roda sobre TCP/IP.A protocol is a contract: rules for how data is formatted, sent and received. SSH is an Application-layer protocol running on top of TCP/IP.

CamadaLayerFunçãoRole
4 · AplicaçãoApplicationOnde os programas trabalham: SSH, SMTP, HTTP.Where programs work: SSH, SMTP, HTTP.
3 · Transporte (TCP)Transport (TCP)Abre a conexão e garante que todos os pedaços cheguem sem erros.Opens the connection and ensures every piece arrives without errors.
2 · Internet (IP)Internet (IP)Endereçamento: garante que os pacotes cheguem ao destino.Addressing: ensures packets reach their destination.
1 · LinkMeio físico: cabos ethernet, wi-fi.Physical medium: ethernet cables, wi-fi.

Quando usarWhen to use

Depuração pontual em instâncias de teste, com porta 22 restrita ao seu IP.Occasional debugging on test instances, with port 22 limited to your IP.

Quando evitarWhen to avoid

Porta 22 aberta para a internet; acesso rotineiro em produção (prefira Session Manager).Port 22 open to the internet; routine production access (prefer Session Manager).
Teste-seTest yourself
De onde deve vir o tráfego SSH liberado no Security Group?Where should the SSH traffic allowed in the Security Group come from?
Do seu IP (ou faixa) específico, nunca de 0.0.0.0/0.From your specific IP (or range), never 0.0.0.0/0.
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13
Computação · 07Compute · 07

EC2 & Auto Scaling

Amazon EC2 entrega servidores virtuais na nuvem. O Auto Scaling mantém a quantidade certa de instâncias para a sua carga.Amazon EC2 provides virtual servers in the cloud. Auto Scaling keeps the right number of instances for your load.

AMI

Amazon Machine Image: fornece o software para iniciar a instância e um mapeamento de dispositivos de bloco (os discos a anexar). É específica de Region, sistema operacional, arquitetura de processador, tipo de volume raiz e tipo de virtualização. Dá para copiar para outra Region e compartilhar com outras contas.Amazon Machine Image: provides the software to boot the instance and a block device mapping (the disks to attach). It is specific to Region, operating system, processor architecture, root volume type and virtualization type. You can copy it to another Region and share it with other accounts.

Instance type

Define o hardware (CPU, memória, armazenamento, rede). Os tipos são agrupados em famílias; os nomes seguem uma convenção (família, geração, processador, capacidades, tamanho). Há instâncias burstable (como a série T). Como o faturamento é por segundo, é barato testar vários tipos.Defines the hardware (CPU, memory, storage, network). Types are grouped into families; names follow a convention (family, generation, processor, capabilities, size). There are burstable instances (such as the T series). Since billing is per second, testing several types is cheap.

Public IPv4

O IP público automático vem do pool da Amazon e não é seu: é liberado ao parar, hibernar ou encerrar, e a instância recebe outro ao iniciar de novo. Para um endereço fixo, use Elastic IP. A AWS cobra por todo IPv4 público.The automatic public IP comes from Amazon's pool and is not yours: it is released on stop, hibernate or terminate, and the instance gets a new one on start. For a fixed address use an Elastic IP. AWS charges for every public IPv4 address.

Snapshot vs. ImagemImage

Snapshot (EBS)Imagem (AMI)Image (AMI)
O que éWhat it isCópia pontual (point-in-time) de um volume EBS, incremental: guarda só os blocos alterados desde o último snapshot.A point-in-time copy of an EBS volume, incremental: it stores only the blocks changed since the last snapshot.Software de boot + mapeamento de discos, usado para lançar instâncias.Boot software + disk mapping, used to launch instances.
UsoUseBackup e restauração: cria um volume novo idêntico ao original no momento do snapshot.Backup and restore: creates a new volume identical to the original at snapshot time.Clonar a configuração de uma instância: lançar várias com a mesma base.Cloning an instance's setup: launch many from the same base.
Onde ficaWhere it livesEm buckets do S3 que você não acessa diretamente; replicado entre as AZs da Region.In S3 buckets you cannot access directly; replicated across the Region's AZs.Dentro da Region; pode ser copiada e compartilhada.Within a Region; can be copied and shared.
PegadinhasGotchas A AWS não faz backup automático dos volumes EBS: criar snapshots (ou automatizá-los com Data Lifecycle Manager ou AWS Backup) é responsabilidade sua. Como snapshots são incrementais, apagar um nem sempre reduz o custo de armazenamento. AWS does not automatically back up EBS volumes: creating snapshots (or automating them with Data Lifecycle Manager or AWS Backup) is your responsibility. Because snapshots are incremental, deleting one does not always reduce storage cost.
Não verificadoNot verified A anotação antiga dizia que "toda imagem contém um snapshot" e que "snapshot não cria instâncias". As páginas lidas confirmam o papel de cada um, mas não essa relação exata; consulte a documentação de criação de AMIs antes de depender dela. The old note said "every image contains a snapshot" and "a snapshot cannot launch instances". The pages read confirm each one's role but not that exact relation; check the AMI creation docs before relying on it.

Launch Template

Especifica a configuração de uma instância: ID da AMI, tipo de instância, key pair, security groups e outros parâmetros. Tem versões: dá para manter uma base e criar versões novas (por exemplo, com a AMI da última versão da aplicação). A AWS recomenda launch templates em vez de launch configurations, que não suportam recursos como misturar Spot e On-Demand ou vários tipos de instância.Specifies an instance's configuration: AMI ID, instance type, key pair, security groups and other parameters. It has versions: you can keep a base and create new versions (for example with the AMI of the latest app version). AWS recommends launch templates over launch configurations, which lack features such as mixing Spot and On-Demand or multiple instance types.

Auto Scaling Group (ASG)

Coleção de instâncias tratada como uma unidade. Você define:A collection of instances treated as one unit. You define:

  1. Minimum size: o grupo nunca fica abaixo disso.the group never goes below it.
  2. Maximum size: o grupo nunca passa disso.the group never exceeds it.
  3. Desired capacity: quantas instâncias você quer rodando agora (dentro do mínimo e máximo).how many instances you want running now (within the min and max).
Substituição automática de instânciasAutomatic instance replacement O ASG monitora a saúde das instâncias (health checks do EC2, e opcionalmente os do load balancer ou checks próprios) e substitui as encerradas ou comprometidas para manter a capacidade desejada. Ele também distribui as instâncias entre as zonas de disponibilidade e registra/remove instâncias do load balancer automaticamente. The ASG monitors instance health (EC2 health checks, and optionally the load balancer's or custom checks) and replaces terminated or impaired instances to keep the desired capacity. It also spreads instances across Availability Zones and registers/deregisters instances with the load balancer automatically.

Não há cobrança adicional pelo Auto Scaling; você paga pelos recursos usados (instâncias, volumes EBS, alarmes do CloudWatch).There is no additional charge for Auto Scaling; you pay for the resources used (instances, EBS volumes, CloudWatch alarms).

Scaling policies

Target tracking

Escolhe uma métrica e um valor-alvo, como um termostato. Recomendada pela AWS; use métricas que variem de forma inversamente proporcional à capacidade (CPU média, requisições por target). O Auto Scaling cria os alarmes do CloudWatch por você.Pick a metric and a target value, like a thermostat. Recommended by AWS; use metrics that move inversely with capacity (average CPU, request count per target). Auto Scaling creates the CloudWatch alarms for you.

Step / simple

Ajustes por faixa de violação do alarme (step) ou um único ajuste com cooldown (simple). Cuidado ao combinar com target tracking: conflitos podem causar comportamento indesejado.Adjustments by alarm-breach size (step) or one adjustment with a cooldown (simple). Be careful combining with target tracking: conflicts can cause unwanted behavior.

Scheduled

Ações agendadas mudam a capacidade em horários definidos (única ou recorrente, com cron e fuso horário). Bom para picos previsíveis.Scheduled actions change capacity at set times (one-off or recurring, with cron and time zone). Good for predictable peaks.

Predictive

Analisa a carga histórica para achar padrões diários ou semanais e prever a demanda, lançando capacidade antes do pico. Indicado para tráfego cíclico e aplicações lentas para iniciar.Analyzes historical load to detect daily or weekly patterns and forecast demand, launching capacity ahead of the peak. Suited to cyclical traffic and slow-starting apps.

Sempre dentro do mínimo e do máximo do grupo. Se mais de uma política pedir mudança ao mesmo tempo, prevalece a que resulta em mais capacidade.Always within the group's min and max. If more than one policy asks for a change at once, the one giving the most capacity wins.

Quando usarWhen to use

Aplicação com carga variável ou que precisa se recuperar sozinha de falhas; servidores idênticos atrás de um load balancer.Apps with variable load or that must self-heal from failures; identical servers behind a load balancer.

Quando evitarWhen to avoid

Servidor único com estado em disco local, sem automação de configuração; quando containers no ECS já resolvem o problema.A single server with state on local disk and no configuration automation; when containers on ECS already solve the problem.
Teste-seTest yourself
O IP público automático de uma instância continua o mesmo depois de parar e iniciar?Does an instance's automatic public IP stay the same after stop and start?
Não. Ele é liberado ao parar e um novo é atribuído ao iniciar. Use Elastic IP para um endereço fixo.No. It is released on stop and a new one is assigned on start. Use an Elastic IP for a fixed address.
O que o ASG faz com uma instância comprometida?What does the ASG do with an impaired instance?
Substitui, para manter a capacidade desejada.Replaces it to keep the desired capacity.
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13

Corrigido: a anotação antiga citava "t4.micro" como família; a documentação lida lista a série T4g (e T3), então os exemplos de tipos foram removidos. Valores como "launch template é gratuito" e o "CPU ou memória" no target tracking também saíram por falta de suporte nas páginas lidas.Corrected: the old note cited "t4.micro" as a family; the docs read list the T4g series (and T3), so type examples were removed. Claims like "launch templates are free" and "CPU or memory" for target tracking also left for lack of support in the pages read.

Computação · 08Compute · 08

IPs ElásticosElastic IPs

Um endereço IPv4 público e estático, pensado para a computação em nuvem dinâmica.A static public IPv4 address designed for dynamic cloud computing.

O Elastic IP é alocado à sua conta e é seu até você liberá-lo. Você pode "mascarar" a falha de uma instância remapeando o endereço para outra instância da conta, ou usá-lo em um registro DNS do seu domínio.An Elastic IP is allocated to your account and stays yours until you release it. You can mask an instance failure by remapping the address to another instance in your account, or use it in a DNS record for your domain.

EC2 A ⇢ Elastic IP⇢ EC2 B
  • É específico de uma Region e não pode ser movido para outra. Não há Elastic IP para IPv6.It is specific to one Region and cannot be moved to another. There are no Elastic IPs for IPv6.
  • Ao associar um Elastic IP a uma instância que já tinha IP público automático, esse IP automático é liberado e não pode ser reaproveitado.When you associate an Elastic IP with an instance that had an automatic public IP, that automatic IP is released and cannot be reused.
  • Um Elastic IP desassociado continua alocado (e cobrado) até você liberá-lo.A disassociated Elastic IP stays allocated (and billed) until you release it.
  • Há uma cota padrão de Elastic IPs por Region, que pode ser aumentada no Service Quotas. Consulte a página oficial para o valor atual.There is a default quota of Elastic IPs per Region, which can be raised in Service Quotas. See the official page for the current value.
CustoCost A AWS cobra por todos os endereços IPv4 públicos, estejam em uso ou ociosos, incluindo os de instâncias em execução. Os valores estão na aba "Public IPv4 Address" da página de preços da VPC. A anotação antiga dizia que o IP era grátis enquanto associado, o que contradiz a documentação atual. AWS charges for all public IPv4 addresses, in use or idle, including those on running instances. Values are on the "Public IPv4 Address" tab of the VPC pricing page. The old note said it was free while associated, which contradicts the current docs.

A documentação ainda sugere reduzir o número de IPv4 públicos usando um load balancer na frente das instâncias, desligando o "auto-assign public IP" onde não for preciso.The docs also suggest reducing the number of public IPv4 addresses by putting a load balancer in front of the instances and turning off "auto-assign public IP" where not needed.

Quando usarWhen to use

Endereço fixo que precisa sobreviver à troca de instância e que alguém registra (DNS, allowlist de um parceiro).A fixed address that must survive an instance swap and that someone registers (DNS, a partner's allowlist).

Quando evitarWhen to avoid

Quando um load balancer com nome DNS (Alias) resolve; e o IP não deve ficar ocioso, pois é cobrado.When a load balancer with a DNS name (Alias) solves it; and do not leave it idle, since it is billed.
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13
Computação · 09Compute · 09

ECR

Elastic Container Registry: registro gerenciado de imagens de container (Docker, OCI) dentro da AWS, com permissões via IAM.Elastic Container Registry: a managed registry for container images (Docker, OCI) inside AWS, with permissions through IAM.

CI (build)(build)push → ECR (conta tooling)(tooling account)← pull ECS / EKS / EC2 (staging, prod)(staging, prod)

Repository

Repositório privado com permissões baseadas em recurso. Ele precisa existir antes do push, ou você precisa de um repository creation template.A private repository with resource-based permissions. It must exist before the push, or you need a repository creation template.

Auth

O token de autenticação vale 12 horas e é por registry. No docker login o usuário é AWS. A identidade precisa da permissão ecr:GetAuthorizationToken via política IAM.The authentication token is valid for 12 hours and is per registry. In docker login the user is AWS. The identity needs ecr:GetAuthorizationToken via an IAM policy.

RecursosFeatures

Lifecycle policies (limpeza de imagens), scan de vulnerabilidades no push, replicação entre Regions e contas, pull through cache e assinatura gerenciada.Lifecycle policies (image cleanup), vulnerability scan on push, replication across Regions and accounts, pull through cache and managed signing.

Push passo a passoPush step by step

aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 111122223333.dkr.ecr.us-east-1.amazonaws.com
docker tag minha-app:1.4.2 111122223333.dkr.ecr.us-east-1.amazonaws.com/minha-app:1.4.2
docker push 111122223333.dkr.ecr.us-east-1.amazonaws.com/minha-app:1.4.2

Se você omitir a tag no docker tag, a tag assumida é latest.If you omit the tag in docker tag, the assumed tag is latest.

Acesso entre contas (repository policy)Cross-account access (repository policy)

Para a conta de tooling guardar as imagens e as contas de staging e produção baixarem, anexe uma repository policy ao repositório. Exemplo de pull para uma conta (placeholder no lugar do ID real):For the tooling account to hold the images and the staging and production accounts to pull them, attach a repository policy to the repository. Example pull access for one account (placeholder instead of the real ID):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowPullFromProd",
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::<ID_CONTA_PROD>:root" },
      "Action": [
        "ecr:BatchGetImage",
        "ecr:GetDownloadUrlForLayer"
      ]
    }
  ]
}
  • O ECR exige que quem autentica tenha ecr:GetAuthorizationToken por política IAM antes de qualquer push ou pull. Essa permissão não vem da repository policy.ECR requires the caller to have ecr:GetAuthorizationToken through an IAM policy before any push or pull. That permission does not come from the repository policy.
  • A conta que recebe a permissão precisa ter a Region do repositório habilitada, senão a criação da policy dá erro.The account being granted access must have the repository's Region enabled, otherwise creating the policy fails.
  • Para ações de push, a documentação inclui também BatchCheckLayerAvailability, InitiateLayerUpload, UploadLayerPart, CompleteLayerUpload e PutImage.For push, the docs also include BatchCheckLayerAvailability, InitiateLayerUpload, UploadLayerPart, CompleteLayerUpload and PutImage.

Tags e digestsTags and digests

  • Tag mutável: o mesmo nome de tag pode ser sobrescrito por um novo push. Com tag immutability ligada, repetir uma tag retorna ImageTagAlreadyExistsException. A imutabilidade vale para todas as tags (com filtros de exceção opcionais).Mutable tags: the same tag name can be overwritten by a new push. With tag immutability on, reusing a tag returns ImageTagAlreadyExistsException. Immutability covers all tags (with optional exclusion filters).
  • O ECS, por padrão, resolve a tag da task definition para o digest da imagem no momento do deploy e usa o digest nas demais tarefas, para que todas rodem exatamente a mesma imagem. Veja ECS.By default ECS resolves the task definition's tag to the image digest at deploy time and uses the digest for the other tasks, so all of them run exactly the same image. See ECS.
Nota pessoal · sem fonte oficial nesta rodadaPersonal note · no official source this round Boa prática de projeto: usar tags que identifiquem a versão (por exemplo, o hash do commit) em vez de latest. A ideia combina com a tag immutability, mas a recomendação em si não foi lida na documentação. A design habit: use tags that identify the version (for example the commit hash) instead of latest. It pairs well with tag immutability, but the recommendation itself was not read in the docs.
CustosCosts Você paga pelos dados armazenados, pela transferência nos pushes e pulls e por ações opcionais (assinatura, replicação). Valores: página de preços do ECR. Os números da anotação antiga foram removidos. You pay for data stored, data transfer on pushes and pulls, and optional actions (signing, replication). Values: ECR pricing page. The numbers in the old note were removed.

Quando usarWhen to use

Imagens que rodam em ECS, EKS ou EC2 na AWS; repositório central em uma conta de tooling compartilhado entre ambientes.Images that run on ECS, EKS or EC2 in AWS; a central repository in a tooling account shared across environments.

Quando evitarWhen to avoid

Repository policy com Principal: "*" sem condição; tags mutáveis em produção quando você precisa saber exatamente qual imagem rodou; acumular imagens sem lifecycle policy.A repository policy with Principal: "*" and no condition; mutable tags in production when you must know exactly which image ran; piling up images with no lifecycle policy.
Computação · 10Compute · 10

ECS

Amazon Elastic Container Service: orquestrador totalmente gerenciado para implantar, gerenciar e escalar aplicações em containers.Amazon Elastic Container Service: a fully managed orchestrator to deploy, manage and scale containerized applications.

ECR→ Task definition→ Service→ Tasks no clusterin the cluster← ALB

Task definition

O "projeto" da aplicação: quais containers rodam e como.The application's "blueprint": which containers run and how.

Cluster

A infraestrutura onde a aplicação roda.The infrastructure the application runs on.

Task

Uma execução da aplicação, como um job em lote que trabalha e termina.One run of the application, like a batch job that works and stops.

Service

Aplicação de longa duração e sem estado: o ECS mantém o número desejado de tasks rodando e faz os deploys.A long-running stateless application: ECS keeps the desired number of tasks running and performs deployments.

Capacidade (onde os containers rodam): Fargate (serverless, sem gerenciar servidores), instâncias EC2 que você gerencia, ECS Managed Instances (EC2 com a infraestrutura gerenciada pela AWS) ou servidores externos com ECS Anywhere. O custo depende da capacidade escolhida; veja as páginas de preços do ECS e do Fargate.Capacity (where containers run): Fargate (serverless, no servers to manage), EC2 instances you manage, ECS Managed Instances (EC2 with AWS-managed infrastructure) or external servers with ECS Anywhere. Cost depends on the chosen capacity; see the ECS and Fargate pricing pages.

Deploy com rolling updateRolling update deployment

No tipo de deploy rolling update, o scheduler do ECS substitui as tasks em execução por tasks novas. Dois parâmetros do serviço controlam o ritmo:With the rolling update deployment type, the ECS scheduler replaces running tasks with new ones. Two service parameters control the pace:

ParâmetroParameterSignificadoMeaningExemplo da documentaçãoDocs example
minimumHealthyPercentMínimo de tasks saudáveis durante o deploy, em % do desejado (arredonda para cima).Minimum healthy tasks during the deployment, as a % of desired (rounded up).50% com 4 tasks: pode parar 2 antes de iniciar 2 novas.50% with 4 tasks: it can stop 2 before starting 2 new ones.
maximumPercentMáximo de tasks em execução durante o deploy, em % do desejado (arredonda para baixo).Maximum running tasks during the deployment, as a % of desired (rounded down).200% com 4 tasks: pode iniciar 4 novas antes de parar as 4 antigas.200% with 4 tasks: it can start 4 new ones before stopping the 4 old ones.
  • Garanta que o scheduler consiga parar ou iniciar pelo menos uma task no deploy. Com 75% mínimo e 2 tasks, nada pode ser parado e o deploy trava.Make sure the scheduler can stop or start at least one task during a deployment. With 75% minimum and 2 tasks, nothing can be stopped and the deployment gets stuck.
  • Para detectar falha rápido, use o deployment circuit breaker (falha quando as tasks não conseguem iniciar) e/ou alarmes do CloudWatch (falha por métricas da aplicação). Ambos suportam rollback para a revisão anterior do serviço.To detect failure fast, use the deployment circuit breaker (fails when tasks cannot start) and/or CloudWatch alarms (fails on application metrics). Both support rollback to the previous service revision.
  • O ECS resolve a tag da imagem para o digest no início do deploy e usa o digest nas outras tasks, garantindo a mesma imagem em todas. Para pegar um digest atualizado, force um novo deploy (forceNewDeployment).ECS resolves the image tag to the digest at the start of the deployment and uses the digest for the other tasks, ensuring the same image everywhere. To pick up an updated digest, force a new deployment (forceNewDeployment).
  • Variáveis de ambiente vindas do Parameter Store são resolvidas quando a task inicia: uma task em execução só vê o valor novo após um novo deploy. Veja Systems Manager e Secrets Manager.Environment variables from Parameter Store are resolved when the task starts: a running task only sees the new value after a new deployment. See Systems Manager and Secrets Manager.
aws ecs update-service --cluster meu-cluster --service minha-api --force-new-deployment

Com o load balancerWith the load balancer

O ALB consegue registrar tasks do ECS em um target group, inclusive escolhendo uma porta livre quando a task é agendada. Os health checks do target group definem se a task está saudável. Veja Load Balancer.The ALB can register ECS tasks in a target group, even choosing an unused port when the task is scheduled. The target group's health checks decide whether a task is healthy. See Load Balancer.

Quando usarWhen to use

Aplicações em containers que precisam de deploy repetível, rollback e escala sem operar um plano de controle próprio.Containerized apps needing repeatable deploys, rollback and scaling without running your own control plane.

Quando evitarWhen to avoid

Cargas que não são containers; minimumHealthyPercent/maximumPercent que impedem qualquer substituição; esperar que um valor mudado no Parameter Store apareça em tasks já rodando.Non-container workloads; minimumHealthyPercent/maximumPercent values that block any replacement; expecting a changed Parameter Store value to show up in running tasks.
Teste-seTest yourself
Qual a diferença entre task e service?What is the difference between a task and a service?
Task é uma execução (pode terminar). Service mantém um número desejado de tasks rodando continuamente.A task is one run (it may stop). A service keeps a desired number of tasks running continuously.
Como garantir que um deploy com problema volte sozinho?How do you make a bad deployment roll back by itself?
Habilite o circuit breaker e/ou alarmes do CloudWatch com rollback.Enable the circuit breaker and/or CloudWatch alarms with rollback.
Rede · 11Networking · 11

VPC

Amazon Virtual Private Cloud: uma rede virtual logicamente isolada, parecida com a de um data center tradicional, onde você lança seus recursos AWS.Amazon Virtual Private Cloud: a logically isolated virtual network, similar to a traditional data center network, where you launch your AWS resources.

VPC · 10.0.0.0/16 (exemplo)(example)
AZ A
PúblicaPublic 10.0.1.0/24
ALB · NAT Gateway
PrivadaPrivate 10.0.11.0/24
Aplicação (ECS/EC2)Application (ECS/EC2)
PrivadaPrivate 10.0.21.0/24
Banco de dados (RDS)Database (RDS)
AZ B
PúblicaPublic 10.0.2.0/24
ALB · NAT Gateway
PrivadaPrivate 10.0.12.0/24
Aplicação (ECS/EC2)Application (ECS/EC2)
PrivadaPrivate 10.0.22.0/24
Banco de dados (RDS)Database (RDS)
Internet Gateway ⇄ Internet (rota 0.0.0.0/0 → IGW nas públicas; nas privadas, 0.0.0.0/0 → NAT Gateway0.0.0.0/0 → IGW route in public subnets; in private ones, 0.0.0.0/0 → NAT Gateway)

Os blocos CIDR acima são apenas um exemplo didático de desenho; a AWS não define um padrão obrigatório.The CIDR blocks above are only a teaching example of a layout; AWS does not mandate a standard.

Peças principaisMain pieces

  • Subnet: faixa de IPs da VPC que fica em uma única zona de disponibilidade.a range of VPC IP addresses living in a single Availability Zone.
  • Route table: conjunto de rotas (destino + alvo) que decide para onde vai o tráfego de uma subnet ou gateway. Todo VPC nasce com uma main route table, e você pode criar outras.a set of routes (destination + target) deciding where a subnet's or gateway's traffic goes. Every VPC starts with a main route table, and you can create more.
  • Internet gateway: conecta a VPC à internet.connects the VPC to the internet.
  • NAT gateway, VPC endpoint, peering, transit gateway, VPN, Flow Logs completam o quadro (veja abaixo e na página oficial).complete the picture (see below and the official page).
  • Cada Region já tem uma VPC default, pronta para uso. Não há cobrança pela VPC em si, mas há por alguns componentes, como NAT gateways e IPv4 públicos.Each Region already has a default VPC, ready to use. There is no charge for the VPC itself, but there is for some components, such as NAT gateways and public IPv4 addresses.

Subnets e CIDRSubnets and CIDR

O bloco de uma subnet pode ser igual ao da VPC (uma subnet só) ou parte dele. Subnets da mesma VPC não podem se sobrepor. O tamanho permitido para IPv4 vai de /28 a /16. Em cada subnet, os quatro primeiros IPs e o último não estão disponíveis (rede, roteador da VPC, DNS, uso futuro e broadcast): são 5 reservados.A subnet's block can equal the VPC's (a single subnet) or be part of it. Subnets in the same VPC cannot overlap. The allowed IPv4 size ranges from /28 to /16. In each subnet, the first four IPs and the last one are unavailable (network, VPC router, DNS, future use and broadcast): that is 5 reserved.

Calculadora CIDRCIDR calculator
/24

256 IPs no total ·IPs total · 251 utilizáveis (a AWS reserva 5 por subnet)usable (AWS reserves 5 per subnet)

Subnets públicas e privadasPublic and private subnets

PúblicaPublic

A route table tem uma rota para o internet gateway. Abriga o que precisa ser alcançado de fora: load balancer e NAT gateway.The route table has a route to the internet gateway. Home to what must be reached from outside: the load balancer and the NAT gateway.

PrivadaPrivate

Sem rota para o internet gateway. Para sair para a internet, usa um NAT gateway; para falar com serviços AWS, pode usar VPC endpoints. Boa para aplicação e banco de dados.No route to the internet gateway. To reach the internet it uses a NAT gateway; to talk to AWS services it can use VPC endpoints. Good for application and database.
Route tableRoute tableDestinationTarget
Subnet públicaPublic subnet10.0.0.0/16local
Subnet públicaPublic subnet0.0.0.0/0igw-…
Subnet privadaPrivate subnet10.0.0.0/16local
Subnet privadaPrivate subnet0.0.0.0/0nat-…

A rota local permite que as subnets da VPC conversem entre si; quem restringe quem fala com quem são os Security Groups. Um RDS "publicamente acessível" exige que todas as subnets do seu DB subnet group tenham internet gateway; o recomendado para bancos é subnet privada (veja RDS).The local route lets the VPC's subnets talk to each other; what restricts who talks to whom is Security Groups. A "publicly accessible" RDS requires every subnet in its DB subnet group to have an internet gateway; for databases a private subnet is the usual choice (see RDS).

NAT Gateway

Permite que instâncias em subnet privada iniciem conexões para fora da VPC, enquanto serviços externos não conseguem iniciar conexão com elas. O NAT gateway público (padrão) fica numa subnet pública, exige um Elastic IP e roteia o tráfego para o internet gateway. O privado serve para outras VPCs ou redes on-premises (via transit gateway ou virtual private gateway) e não aceita Elastic IP. Existe também o NAT gateway regional, com expansão multi-AZ automática.Lets instances in a private subnet initiate connections out of the VPC, while external services cannot start connections to them. The public NAT gateway (default) lives in a public subnet, needs an Elastic IP and routes traffic to the internet gateway. The private one is for other VPCs or on-premises networks (through a transit gateway or virtual private gateway) and does not accept an Elastic IP. There is also a regional NAT gateway with automatic multi-AZ expansion.

Subnet privadaPrivate subnet0.0.0.0/0 → NAT (subnet pública)(public subnet)→ IGW→ Internet
CustoCost O NAT gateway é um componente cobrado. A documentação mostra como comparar o custo com IPv4 públicos e sugere alternativas como VPC endpoints (PrivateLink) para falar com serviços AWS. Veja os preços na página de preços da VPC. The NAT gateway is a billed component. The docs show how to compare its cost against public IPv4 addresses and suggest alternatives such as VPC endpoints (PrivateLink) to reach AWS services. See prices on the VPC pricing page.

VPC endpoints

Conectam a VPC a serviços AWS de forma privada, sem internet gateway nem NAT. O tráfego fica na rede da AWS.Connect the VPC to AWS services privately, with no internet gateway or NAT. Traffic stays on the AWS network.

Gateway endpoint

Para S3 e DynamoDB. Não usa AWS PrivateLink; o tráfego é direcionado por rota.For S3 and DynamoDB. Does not use AWS PrivateLink; traffic is directed by route.

Interface endpoint

Usa AWS PrivateLink: cria uma interface de rede (com IP privado) em cada subnet escolhida e o tráfego é resolvido por DNS. Aceita uma endpoint policy para controlar quem o usa.Uses AWS PrivateLink: creates a network interface (with a private IP) in each chosen subnet and traffic is resolved through DNS. Accepts an endpoint policy to control who uses it.

Exemplo: instâncias sem IP público podem usar o Session Manager com VPC endpoints do Systems Manager (veja Systems Manager).Example: instances without a public IP can use Session Manager with Systems Manager VPC endpoints (see Systems Manager).

Quando usarWhen to use

Sempre que houver mais de um ambiente ou camada: borda (ALB) em subnets públicas, aplicação e banco em privadas, em pelo menos duas AZs.Whenever there is more than one environment or tier: edge (ALB) in public subnets, application and database in private ones, in at least two AZs.

Quando evitarWhen to avoid

Colocar instâncias de aplicação com IP público só por conveniência; usar NAT gateway quando um endpoint resolveria; CIDRs sobrepostos se houver planos de peering ou transit gateway.Giving application instances public IPs just for convenience; using a NAT gateway when an endpoint would do; overlapping CIDRs if peering or a transit gateway is planned.
Teste-seTest yourself
O que torna uma subnet "pública"?What makes a subnet "public"?
A route table dela tem uma rota 0.0.0.0/0 para o internet gateway.Its route table has a 0.0.0.0/0 route to the internet gateway.
Onde fica o NAT gateway público?Where does the public NAT gateway live?
Em uma subnet pública, com um Elastic IP associado.In a public subnet, with an Elastic IP attached.
Quantos IPs utilizáveis tem uma subnet /24?How many usable IPs does a /24 subnet have?
251: 256 menos os 5 reservados pela AWS.251: 256 minus the 5 AWS reserves.
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13

Removido por falta de fonte nas páginas lidas: valores padrão de DNS hostnames/DNS resolution e a afirmação de que a rota local "não pode ser deletada". Reformulado: "10.0.0.0/16 é o IPv4 comum" virou apenas um exemplo; "subnet privada nunca fala com a internet" passou a mencionar NAT gateway e VPC endpoints.Removed for lack of a source in the pages read: default values for DNS hostnames/DNS resolution and the claim that the local route "cannot be deleted". Reworded: "10.0.0.0/16 is the common IPv4" became only an example; "a private subnet never talks to the internet" now mentions NAT gateways and VPC endpoints.

Rede · 12Networking · 12

Security Groups & Prefix Lists

Security group: firewall virtual que controla o tráfego que pode chegar e sair dos recursos associados a ele. Prefix list: um conjunto de CIDRs reutilizável nas regras.Security group: a virtual firewall controlling the traffic allowed to reach and leave the resources it is associated with. Prefix list: a reusable set of CIDRs for your rules.

Como funcionaHow it works

  • Só existem regras de permissão (allow), não de bloqueio. Um SG novo não tem regra inbound, então nenhum tráfego de entrada é permitido até você adicionar.Rules are allow only, no deny. A new SG has no inbound rules, so no inbound traffic is allowed until you add some.
  • Um SG novo vem com uma regra outbound que libera toda a saída. Se você remover e não houver regras de saída, nenhuma saída é permitida.A new SG comes with an outbound rule allowing all outbound traffic. If you remove it and have no outbound rules, no outbound traffic is allowed.
  • Stateful: a resposta a um tráfego permitido é liberada independentemente das regras do outro sentido. Por isso o outbound de um banco pode ficar vazio e ele ainda responde ao que o inbound autorizou.the response to allowed traffic is permitted regardless of the other direction's rules. That is why a database's outbound can be empty and it still answers what inbound allowed.
  • Vários SGs em um recurso têm suas regras somadas. Mudanças nas regras valem na hora para todos os recursos associados. O SG é associado a interfaces de rede, não a IPs individuais.Several SGs on one resource have their rules aggregated. Rule changes apply immediately to all associated resources. An SG is tied to network interfaces, not individual IPs.
  • Cada regra tem protocolo, faixa de portas e origem (inbound) ou destino (outbound): um IP (/32), um CIDR, uma prefix list ou outro Security Group.Each rule has a protocol, port range and a source (inbound) or destination (outbound): an IP (/32), a CIDR, a prefix list or another Security Group.
  • Não há cobrança por usar security groups. Existem cotas (SGs por VPC, regras por SG, SGs por interface).There is no charge for security groups. There are quotas (SGs per VPC, rules per SG, SGs per interface).
  • SGs não filtram tráfego para DNS da Amazon, DHCP, metadados da instância, Time Sync e o roteador da VPC.SGs do not filter traffic to Amazon DNS, DHCP, instance metadata, Time Sync and the VPC router.

Security Groups encadeadosChained Security Groups

Em vez de liberar por IP, use como origem o ID de outro SG. A regra vale para as instâncias associadas àquele SG, pelo IP privado delas, e sobrevive à troca de instâncias. Exemplo clássico da documentação (load balancer, web e banco):Instead of allowing by IP, use another SG's ID as the source. The rule applies to instances associated with that SG, through their private IPs, and survives instance replacement. The docs' classic example (load balancer, web and database):

Internet80/443 → sg-alb
in: 0.0.0.0/0
app port → sg-app
in: sg-alb
db port → sg-db
in: sg-app
  • Referenciar um SG não copia as regras dele para o SG que referencia.Referencing an SG does not copy its rules into the referencing SG.
  • Para referenciar em regra inbound, os SGs devem estar na mesma VPC ou em VPCs ligadas por peering ou transit gateway. Em regra outbound: mesma VPC ou peering.To reference in an inbound rule, the SGs must be in the same VPC or in VPCs linked by peering or a transit gateway. In an outbound rule: same VPC or peering.
  • Uma regra que referencia outro SG conta como uma regra, não importa o tamanho do SG referenciado.A rule referencing another SG counts as one rule, no matter the size of the referenced SG.
  • Se o tráfego passa por uma appliance intermediária (middlebox), referenciar o SG do outro lado não basta: use o IP privado ou o CIDR da subnet.If traffic goes through a middlebox appliance, referencing the other side's SG is not enough: use the private IP or the subnet CIDR.
Simulador: SG da EC2Simulator: the EC2's SG

Regras inbound do SG da aplicação: porta 3000 vinda do SG do load balancer · porta 22 vinda do meu IP. Tudo o mais é negado.Inbound rules of the application SG: port 3000 from the load balancer's SG · port 22 from my IP. Everything else is denied.

Managed Prefix Lists

Conjunto de um ou mais blocos CIDR que você referencia como uma unidade em regras de security group e em route tables. Ao adicionar um CIDR à lista, todos os SGs que a usam são atualizados.A set of one or more CIDR blocks you reference as a unit in security group rules and route tables. Adding a CIDR to the list updates every SG using it.

Gerenciada pelo clienteCustomer-managed

Você define e mantém. Só IPv4 ou IPv6, vale na Region onde foi criada, e você escolhe o máximo de entradas na criação. Pode ser compartilhada com outras contas via AWS RAM. Cada edição cria uma nova versão.You define and maintain it. IPv4 or IPv6 only, applies to the Region it was created in, and you set the maximum entries at creation. It can be shared with other accounts via AWS RAM. Each edit creates a new version.

Gerenciada pela AWSAWS-managed

Faixas de IP de serviços da AWS. Você não pode criar, alterar, compartilhar nem apagar.IP ranges of AWS services. You cannot create, modify, share or delete them.
Pegadinha de cotasQuota gotcha Uma regra que referencia uma prefix list conta como o máximo de entradas da lista (não o número atual): lista de 20 entradas máximas = 20 regras. Para listas gerenciadas pela AWS conta o "peso" da lista. A rule referencing a prefix list counts as the list's maximum entries (not the current number): a list with max 20 entries = 20 rules. For AWS-managed lists, the list's "weight" counts.

Uso típico: um único conjunto de IPs do escritório/VPN liberado para SSH ou para um painel em vários SGs.Typical use: a single set of office/VPN IPs allowed for SSH or an admin panel across several SGs.

Boas práticas da documentaçãoDocs best practices Limite quem pode criar e alterar SGs; crie o mínimo de SGs possível; para as portas 22 (SSH) e 3389 (RDP), autorize só faixas de IP específicas (nunca 0.0.0.0/0); não abra faixas largas de portas; considere NACLs como camada extra. Limit who can create and change SGs; create as few SGs as possible; for ports 22 (SSH) and 3389 (RDP), authorize only specific IP ranges (never 0.0.0.0/0); do not open wide port ranges; consider network ACLs as an extra layer.

Quando usarWhen to use

SG por papel (alb, app, db) encadeados por referência; prefix lists para conjuntos de IPs que mudam e se repetem em várias regras.One SG per role (alb, app, db) chained by reference; prefix lists for IP sets that change and repeat across many rules.

Quando evitarWhen to avoid

Origem 0.0.0.0/0 em portas administrativas ou de banco; prefix list com máximo de entradas grande sem necessidade (consome cota); depender de SG para filtrar DNS.Source 0.0.0.0/0 on admin or database ports; a prefix list with a large max size for no reason (it eats quota); relying on SGs to filter DNS.
Teste-seTest yourself
O banco precisa de regra outbound para responder à API?Does the database need an outbound rule to answer the API?
Não. SG é stateful: a resposta ao tráfego permitido pelo inbound sai sozinha.No. SGs are stateful: the reply to traffic allowed by inbound goes out on its own.
Quantas regras consome uma prefix list com máximo de 20 entradas e 3 CIDRs hoje?How many rules does a prefix list with max 20 entries and 3 CIDRs today consume?
20, pois conta o máximo configurado.20, because the configured maximum counts.
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13

Removido das anotações antigas (sem fonte): regras de "frontend estático exige backend público" e "SSR: backend só aceita frontends". São decisões de arquitetura, não afirmações da documentação; o encadeamento por SG acima cobre o caso do backend privado.Removed from the old notes (no source): the "static frontend requires a public backend" and "SSR: backend accepts only frontends" rules. They are architecture decisions, not documentation claims; the SG chaining above covers the private-backend case.

Rede · 13Networking · 13

Application Load Balancer

O Elastic Load Balancing distribui o tráfego entre vários destinos (instâncias EC2, containers, IPs) em uma ou mais zonas de disponibilidade e só envia para destinos saudáveis. O ALB faz isso na camada de aplicação (HTTP/HTTPS).Elastic Load Balancing distributes traffic across multiple targets (EC2 instances, containers, IPs) in one or more Availability Zones and only sends to healthy targets. The ALB does this at the application layer (HTTP/HTTPS).

Tipos de load balancerLoad balancer types

ALB

Application: camada 7. Roteia por conteúdo da requisição (host, caminho, cabeçalhos...), faz redirect e respostas fixas, e aceita targets por instância, IP ou Lambda.Application: layer 7. Routes by request content (host, path, headers...), does redirects and fixed responses, and supports instance, IP or Lambda targets.

NLB

Network: camada 4 (TCP, UDP, TLS, QUIC). Lida com milhões de requisições por segundo e tem IP estático por zona (com opção de Elastic IP).Network: layer 4 (TCP, UDP, TLS, QUIC). Handles millions of requests per second and has a static IP per zone (with Elastic IP option).

GWLB

Gateway: camada 3. Implanta e escala appliances virtuais (firewalls, detecção de intrusão, inspeção profunda de pacotes) usando o protocolo GENEVE.Gateway: layer 3. Deploys and scales virtual appliances (firewalls, intrusion detection, deep packet inspection) using the GENEVE protocol.

Há ainda o Classic Load Balancer. O restante desta página trata do ALB.There is also the Classic Load Balancer. The rest of this page covers the ALB.

Peças do ALBALB components

Cliente→ Listener
HTTPS :443
→ Rules
host / path
→ Target group→ Targets
  • Listener: verifica pedidos de conexão com o protocolo e a porta que você configura. Toda listener tem uma regra default, e você pode adicionar outras.checks for connection requests using the protocol and port you configure. Every listener has a default rule, and you can add others.
  • Target group: encaminha para um ou mais targets usando o protocolo e a porta que você definir (a porta do target deve ser a em que a aplicação escuta). Health checks são configurados por target group. Um target pode estar em mais de um target group.routes to one or more targets using the protocol and port you set (the target port must be the one the app listens on). Health checks are configured per target group. A target can be in more than one target group.
  • O algoritmo padrão do target group é round robin; a alternativa é least outstanding requests.The target group's default algorithm is round robin; the alternative is least outstanding requests.
Demo: round-robin e health checkDemo: round-robin and health check
UsuárioUser ALB
EC2-1
EC2-2
EC2-3
Derrube instâncias: o ALB percebe pelo health check e só envia às saudáveis.Kill instances: the ALB notices through health checks and only sends to healthy ones.

Regras por host e caminhoHost and path rules

As regras são avaliadas em ordem de prioridade, da menor para a maior; a regra default é avaliada por último e não tem condições. Exemplo (um ALB para vários domínios):Rules are evaluated in priority order, from the lowest to the highest; the default rule is evaluated last and has no conditions. Example (one ALB for several domains):

PrioridadePriorityCondiçãoConditionAçãoAction
10host-header: api.exemplo.com.brforward → tg-api
20host-header: app.exemplo.com.brforward → tg-app
30path-pattern: /admin/*fixed-response 403
defaultdefault—fixed-response 404
  • Cada regra tem exatamente uma ação entre forward, redirect e fixed-response, e ela é a última a executar.Each rule has exactly one action among forward, redirect and fixed-response, and it runs last.
  • Condições disponíveis: host-header, path-pattern, http-request-method, source-ip, http-header e query-string. Há limite de três valores de comparação por condição e cinco por regra.Available conditions: host-header, path-pattern, http-request-method, source-ip, http-header and query-string. Limits: three comparison strings per condition and five per rule.
  • As regex das condições não suportam lookahead, lookbehind, backreferences, entre outros recursos.Condition regexes do not support lookahead, lookbehind, backreferences, among other features.

Health checks

O ALB testa periodicamente cada target e só roteia para os saudáveis. Valores padrão segundo a documentação em 2026-10-13 (podem mudar):The ALB periodically tests each target and only routes to healthy ones. Defaults per the docs on 2026-10-13 (they may change):

ConfiguraçãoSettingPadrãoDefault
Protocol / Path / PortHTTP · / · porta do tráfegotraffic port
Interval30 s (5–300 s)30 s (5–300 s)
Timeout5 s (2–120 s)5 s (2–120 s)
Healthy / Unhealthy threshold5 / 2 (2–10)5 / 2 (2–10)
Success codes200 (aceita 200–499, listas e faixas)(accepts 200–499, lists and ranges)
PegadinhasGotchas
  • Fail open: se todos os targets do grupo estão não saudáveis, o ALB roteia para todos eles, independentemente do estado.Fail open: if all targets in a group are unhealthy, the ALB routes to all of them regardless of state.
  • Health checks não suportam WebSockets.Health checks do not support WebSockets.
  • O path do health check precisa responder com um código aceito; apontar para uma página que redireciona (ex.: 301) faz o target ficar unhealthy se 301 não estiver nos success codes.The health check path must answer with an accepted code; pointing at a page that redirects (e.g. 301) makes the target unhealthy unless 301 is in the success codes.

HTTPS

Um listener HTTPS exige pelo menos um certificado X.509: o certificado default. Para vários domínios na mesma porta, adicione certificados à certificate list (o ALB escolhe o certificado pelo nome enviado via SNI) ou use um certificado com SANs/curinga. A AWS recomenda emitir os certificados no AWS Certificate Manager. O nome no certificado precisa bater com o host pedido, senão a conexão falha.An HTTPS listener requires at least one X.509 certificate: the default certificate. For several domains on the same port, add certificates to the certificate list (the ALB picks by the name sent via SNI) or use a certificate with SANs/wildcard. AWS recommends issuing certificates in AWS Certificate Manager. The name on the certificate must match the requested host or the connection fails.

Security Groups: o do ALB libera 80/443 da internet; o da aplicação libera a porta da app só do SG do ALB (veja Security Groups encadeados).Security Groups: the ALB's allows 80/443 from the internet; the app's allows the app port only from the ALB's SG (see chained Security Groups).

Quando usarWhen to use

Aplicações HTTP/HTTPS, vários serviços ou domínios atrás de um único ponto de entrada, containers no ECS, redirect HTTP→HTTPS.HTTP/HTTPS apps, several services or domains behind one entry point, containers on ECS, HTTP→HTTPS redirect.

Quando evitarWhen to avoid

Tráfego TCP/UDP genérico ou necessidade de IP estático (NLB); inspeção por appliances (GWLB); health check em WebSocket ou que depende de redirects.Generic TCP/UDP traffic or a need for static IPs (NLB); appliance inspection (GWLB); health checks over WebSocket or relying on redirects.
Teste-seTest yourself
Para quem o ALB envia o tráfego?Who does the ALB send traffic to?
Para target groups, escolhidos pelas regras do listener; cada target group tem seus targets e health checks.To target groups, chosen by the listener's rules; each target group has its targets and health checks.
O que acontece quando todos os targets ficam unhealthy?What happens when all targets are unhealthy?
O ALB faz fail open e roteia para todos eles.The ALB fails open and routes to all of them.
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13

Corrigido/reformulado: "NLB: performance extrema (jogos, streaming)" foi trocado pelo que a documentação diz (camada 4, milhões de req/s, IP estático); o ELB agora é apresentado como família de quatro tipos. A frase sobre redirect no health check é uma consequência dos success codes documentados, não uma citação.Corrected/reworded: "NLB: extreme performance (games, streaming)" was replaced by what the docs say (layer 4, millions of req/s, static IP); ELB is now presented as a family of four types. The redirect/health-check remark is a consequence of the documented success codes, not a quote.

Rede · 14Networking · 14

ACM (Certificate Manager)

AWS Certificate Manager emite e gerencia certificados SSL/TLS para usar com serviços integrados, como o Application Load Balancer. A validação por DNS prova que você controla o domínio.AWS Certificate Manager issues and manages SSL/TLS certificates for integrated services such as the Application Load Balancer. DNS validation proves you control the domain.

Pedir certificadoRequest certificate→ ACM devolve um CNAMEACM returns a CNAME→ Você cria o CNAME no DNSYou create the CNAME in DNS→ Issued→ Listener HTTPS do ALBALB HTTPS listener

Validação por DNSDNS validation

  • Ao escolher DNS, o ACM fornece um ou mais registros CNAME (nome e valor únicos para o seu domínio e conta). Eles são a prova de que você controla o domínio.When you choose DNS, ACM gives you one or more CNAME records (a name and value unique to your domain and account). They are proof that you control the domain.
  • O CNAME é adicionado uma única vez. O ACM renova o certificado automaticamente enquanto ele estiver em uso e o CNAME continuar no DNS. Apagar o CNAME interrompe a renovação.The CNAME is added only once. ACM renews the certificate automatically as long as it is in use and the CNAME stays in DNS. Deleting the CNAME stops renewal.
  • Com o Route 53 como DNS e permissão de escrita na zona, o console mostra o botão Create records in Route 53. O status pode continuar Pending validation por até 30 minutos.With Route 53 as DNS and write permission on the zone, the console shows a Create records in Route 53 button. Status may remain Pending validation for up to 30 minutes.
  • Se o ACM não conseguir validar em 72 horas, o status vira Validation timed out e é preciso pedir um novo certificado.If ACM cannot validate within 72 hours, the status becomes Validation timed out and you must request a new certificate.
  • Se o DNS não é Route 53, copie o CNAME (ou exporte o CSV) e crie-o no provedor. Alguns provedores acrescentam o domínio ao nome sozinhos: se você colar o nome completo, ele vira _x.exemplo.com.exemplo.com e a validação falha.If DNS is not Route 53, copy the CNAME (or export the CSV) and create it at your provider. Some providers append the domain to the name themselves: if you paste the full name it becomes _x.example.com.example.com and validation fails.
PegadinhasGotchas
  • Um certificado criado com validação por e-mail não pode ser trocado para DNS: apague e crie outro.A certificate created with email validation cannot be switched to DNS: delete it and create a new one.
  • O CNAME do domínio base e o do curinga (*.exemplo.com e exemplo.com) são iguais; subdomínios específicos têm CNAMEs próprios.The CNAME for the base domain and the wildcard (*.example.com and example.com) are identical; specific subdomains have their own CNAMEs.
  • Um curinga *.exemplo.com cobre um nível de subdomínio e não cobre o domínio raiz (exemplo.com); inclua os dois no certificado se precisar.A *.example.com wildcard covers one subdomain level and does not cover the apex (example.com); include both in the certificate if needed.
  • A resolução de CNAME falha se houver mais de cinco CNAMEs encadeados na configuração de DNS.CNAME resolution fails if more than five CNAMEs are chained in your DNS configuration.
  • O token de validação funciona em qualquer Region, então dá para recriar o mesmo certificado em várias Regions.The validation token works in any Region, so you can re-create the same certificate in multiple Regions.
  • Certificados importados no ACM não renovam sozinhos: você acompanha a expiração e troca antes do fim.Imported certificates in ACM do not renew by themselves: you track expiry and replace them before it ends.

Se você usa registros CAA no domínio, é preciso autorizar a AWS a emitir; veja a página "Configure a CAA record" do ACM, referenciada na documentação do Route 53.If you use CAA records on the domain, you must authorize AWS to issue; see ACM's "Configure a CAA record" page, referenced in the Route 53 docs.

Quando usarWhen to use

HTTPS em ALB (e outros serviços integrados) com renovação automática; domínios cujo DNS você controla (Route 53 facilita).HTTPS on an ALB (and other integrated services) with automatic renewal; domains whose DNS you control (Route 53 makes it easy).

Quando evitarWhen to avoid

Validação por e-mail se o DNS é seu; apagar o CNAME "que sobrou" (quebra a renovação); depender de renovação automática em certificado importado.Email validation if you own the DNS; deleting the "leftover" CNAME (breaks renewal); counting on automatic renewal for an imported certificate.
Teste-seTest yourself
Por que não apagar o CNAME de validação depois de emitir?Why not delete the validation CNAME after issuance?
O ACM o usa para renovar o certificado automaticamente; sem ele a renovação para.ACM uses it to renew the certificate automatically; without it, renewal stops.
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13
Segredos e acesso · 15Secrets & access · 15

Systems Manager

Duas ferramentas do AWS Systems Manager muito usadas no dia a dia: o Session Manager (acesso a servidores sem SSH) e o Parameter Store (configuração centralizada).Two AWS Systems Manager tools used every day: Session Manager (server access without SSH) and Parameter Store (centralized configuration).

Session Manager

Ferramenta totalmente gerenciada para acessar instâncias EC2 (e servidores on-premises/VMs) por um shell interativo no navegador ou pela AWS CLI, sem abrir portas de entrada, sem bastion host e sem gerenciar chaves SSH.A fully managed tool to reach EC2 instances (and on-premises servers/VMs) through an interactive shell in the browser or the AWS CLI, with no inbound ports, no bastion hosts and no SSH keys to manage.

Você (IAM / SSO)You (IAM / SSO)TLS 1.2 → Session Manager→ SSM Agent→ Instância (subnet privada)Instance (private subnet)
  • Controle por IAM: as políticas definem quem pode abrir sessões e em quais nós; dá para conceder acesso temporário (ex.: plantão).IAM control: policies define who can open sessions and on which nodes; you can grant temporary access (e.g. on-call).
  • Sem IP público: com VPC endpoints (AWS PrivateLink) do Systems Manager, o tráfego fica na rede da AWS. Veja VPC endpoints.No public IP: with Systems Manager VPC endpoints (AWS PrivateLink), traffic stays on the AWS network. See VPC endpoints.
  • Port forwarding: redireciona uma porta da instância para uma porta local (útil para acessar um banco privado).Port forwarding: redirects an instance port to a local port (handy for reaching a private database).
  • Auditoria: integra com CloudTrail, S3, CloudWatch Logs e EventBridge/SNS. Sessões de port forwarding ou SSH não têm log do conteúdo.Auditing: integrates with CloudTrail, S3, CloudWatch Logs and EventBridge/SNS. Port-forwarding or SSH sessions get no content logging.
  • Pré-requisitos: o nó precisa ser gerenciado pelo Systems Manager (SSM Agent e permissões IAM; veja "Setting up Session Manager"). Na AWS CLI é preciso a versão 1.16.12 ou superior e o plugin do Session Manager.Prerequisites: the node must be managed by Systems Manager (SSM Agent and IAM permissions; see "Setting up Session Manager"). The AWS CLI needs version 1.16.12 or later plus the Session Manager plugin.
aws ssm start-session --target i-0123456789abcdef0
Aviso da documentaçãoDocs notice A página legada do Session Manager será descontinuada em 31/12/2026; as funções passam para a experiência unificada do console do Systems Manager (você continua iniciando sessões e vendo o histórico). The legacy Session Manager page will be deprecated on December 31, 2026; its capabilities move to the unified Systems Manager console (you can still start sessions and view history).

Parameter Store

Armazém centralizado de configuração: valores nomeados (parameters) que a aplicação lê em tempo de execução, sem deixar valores fixos no código.A centralized configuration store: named values (parameters) the application reads at runtime, with no hardcoded values in code.

String

Texto simples: nome do ambiente, URL de endpoint, ID de recurso.Plain text: environment name, endpoint URL, resource ID.

StringList

Lista separada por vírgulas, como subnet-aaa,subnet-bbb.Comma-separated list, such as subnet-aaa,subnet-bbb.

SecureString

Valor criptografado com AWS KMS. Para segredos como senhas, chaves de API e tokens, a documentação recomenda o Secrets Manager.A value encrypted with AWS KMS. For secrets such as passwords, API keys and tokens, the docs recommend Secrets Manager.
/minha-app/prod/db-host        # hierarquia: /app/ambiente/nome
/minha-app/staging/db-host
  • Hierarquia: agrupe por caminho (ex.: /app/ambiente/chave) para buscar e filtrar vários parâmetros de uma vez e dar permissões IAM por prefixo (ler /minha-app/prod/* mas não /minha-app/dev/*).Hierarchy: group by path (e.g. /app/env/key) to fetch and filter several parameters at once and grant IAM permissions per prefix (read /my-app/prod/* but not /my-app/dev/*).
  • Versões: guarda as 100 versões mais recentes de cada parâmetro.Versions: keeps the 100 most recent versions of each parameter.
  • Camadas: standard (sem custo adicional; até 10.000 parâmetros por conta/Region, valor de até 4 KB) e advanced (até 100.000; 8 KB; políticas de parâmetro e compartilhamento entre contas; cobrado). Valores da documentação em 2026-10-13; confira a página de preços.Tiers: standard (no extra charge; up to 10,000 parameters per account/Region, value up to 4 KB) and advanced (up to 100,000; 8 KB; parameter policies and cross-account sharing; billed). Values per the docs on 2026-10-13; check the pricing page.
  • Integrações: ECS/Fargate injetam parâmetros como variáveis de ambiente; Lambda tem extensão; CloudFormation e CodeBuild leem parâmetros. Há também parâmetros públicos que apontam para as AMIs atuais.Integrations: ECS/Fargate inject parameters as environment variables; Lambda has an extension; CloudFormation and CodeBuild read parameters. There are also public parameters pointing to current AMIs.
PegadinhasGotchas
  • Uma atualização vale na próxima leitura, sem validação, rollout gradual ou rollback automático. Para configuração em que um valor ruim derruba o sistema, a AWS aponta o AWS AppConfig.An update takes effect on the next read, with no validation, gradual rollout or automatic rollback. For configuration where a bad value could cause an outage, AWS points to AWS AppConfig.
  • No ECS, variáveis do Parameter Store são resolvidas quando a task inicia; mudar o valor exige novo deploy (veja ECS).On ECS, Parameter Store variables are resolved when the task starts; changing the value needs a new deployment (see ECS).
  • Throughput padrão serve cargas menores; há modo de alto throughput, com custo adicional. Avalie cedo se a aplicação lê parâmetros com frequência.Default throughput suits smaller workloads; a high-throughput mode exists at extra cost. Evaluate early if your app reads parameters often.
Parameter StoreSecrets ManagerAppConfig
ParaForConfiguração estática, endpoints, IDsStatic config, endpoints, IDsCredenciais e segredosCredentials and secretsConfiguração que muda com frequência, feature flagsFrequently changing config, feature flags
RotaçãoRotationNenhumaNoneAutomáticaAutomaticNão se aplicaNot applicable
CustoCostStandard sem custo adicionalStandard has no extra chargePor segredo/mês e por chamadaPer secret/month and per callPor requisição de configuraçãoPer configuration request

Quando usarWhen to use

Session Manager: acesso a instâncias privadas, sem porta 22. Parameter Store: configuração por ambiente (/app/prod/...) lida pela aplicação.Session Manager: access to private instances without port 22. Parameter Store: per-environment config (/app/prod/...) read by the application.

Quando evitarWhen to avoid

Parameter Store para segredos que precisam de rotação (use Secrets Manager); alterar parâmetros críticos sem validação; esperar log do conteúdo de sessões SSH/port forwarding.Parameter Store for secrets that need rotation (use Secrets Manager); changing critical parameters without validation; expecting content logs for SSH/port-forwarding sessions.
Teste-seTest yourself
O que o Session Manager dispensa?What does Session Manager make unnecessary?
Portas de entrada abertas, bastion hosts e chaves SSH.Open inbound ports, bastion hosts and SSH keys.
Um SecureString é ideal para uma senha de banco com rotação?Is a SecureString ideal for a rotating database password?
Não. A documentação recomenda o Secrets Manager para credenciais, pois ele rotaciona automaticamente.No. The docs recommend Secrets Manager for credentials, since it rotates automatically.
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13

Não verificado nesta rodada: o comando aws ssm start-session exato e as permissões necessárias no perfil da instância (consulte "Setting up Session Manager").Not verified this round: the exact aws ssm start-session command and the permissions needed on the instance profile (see "Setting up Session Manager").

Segredos e acesso · 16Secrets & access · 16

Secrets Manager

AWS Secrets Manager ajuda a gerenciar, recuperar e rotacionar credenciais de banco, credenciais de aplicação, tokens OAuth, chaves de API e outros segredos durante todo o ciclo de vida.AWS Secrets Manager helps you manage, retrieve and rotate database credentials, application credentials, OAuth tokens, API keys and other secrets throughout their lifecycle.

Task / função (role IAM)Task / function (IAM role)GetSecretValue → Secrets Manager rotação (Lambda)rotation (Lambda) → RDS
  • Em vez de credenciais fixas no código, a aplicação faz uma chamada em tempo de execução ao Secrets Manager. Assim, quem inspeciona a aplicação não encontra a senha.Instead of hardcoded credentials, the application makes a runtime call to Secrets Manager. Anyone inspecting the application will not find the password.
  • Rotação automática:Automatic rotation: troca segredos de longo prazo por segredos de curta duração. Como as credenciais não ficam com a aplicação, rotacionar não exige alterar e redeployar os clientes. A rotação (exceto a gerenciada) usa uma função Lambda, cobrada pelo preço do Lambda.replaces long-term secrets with short-term ones. Since credentials are not stored with the app, rotating them does not require changing and redeploying clients. Rotation (except managed rotation) uses a Lambda function, charged at Lambda rates.
  • Criptografia:Encryption: com AWS KMS. A chave gerenciada aws/secretsmanager é gratuita; chaves próprias são cobradas pela tarifa do KMS.with AWS KMS. The managed key aws/secretsmanager is free; your own keys are charged at KMS rates.
  • Versionamento:Versioning: versões com staging labels. Também há acesso entre contas e log de auditoria detalhado.versions with staging labels. There are also cross-account access and fine-grained audit logging.
  • Custo:Cost: paga-se por segredo por mês e por chamada de API, sem taxa mínima. Segredos marcados para exclusão não são cobrados. Veja a página de preços.you pay per secret per month and per API call, with no minimum fees. Secrets marked for deletion are not charged. See the pricing page.

Integração com o RDSRDS integration

Ao criar um banco, a opção Manage master credentials in AWS Secrets Manager guarda a senha do usuário master em um segredo (com KMS opcional). O RDS Proxy também conecta no banco usando credenciais guardadas no Secrets Manager. Veja RDS.When creating a database, the Manage master credentials in AWS Secrets Manager option stores the master user password in a secret (with optional KMS). RDS Proxy also connects to the database using credentials stored in Secrets Manager. See RDS.

Cada tipo de segredo, a ferramenta certa (segundo a documentação)Each kind of secret, the right tool (per the docs)
  • Credenciais AWS → IAM · Chaves de criptografia → KMS · Chaves SSH → EC2 Instance Connect · Chaves privadas e certificados → ACM.AWS credentials → IAM · Encryption keys → KMS · SSH keys → EC2 Instance Connect · Private keys and certificates → ACM.

Quando usarWhen to use

Credenciais de banco, chaves de API e tokens que devem ser rotacionados, auditados ou compartilhados entre contas.Database credentials, API keys and tokens that must be rotated, audited or shared across accounts.

Quando evitarWhen to avoid

Configuração comum (endpoints, nomes): use Parameter Store, que no tier standard não tem custo adicional; credenciais AWS (use roles).Plain configuration (endpoints, names): use Parameter Store, which has no extra charge in the standard tier; AWS credentials (use roles).
Teste-seTest yourself
Rotacionar a senha exige redeploy da aplicação?Does rotating the password require redeploying the app?
Não, se a aplicação busca o segredo em tempo de execução: as credenciais não ficam embutidas nela.No, if the app fetches the secret at runtime: the credentials are not embedded in it.
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13

Não verificado nesta rodada: o nome exato da chamada de API GetSecretValue usada no diagrama (é a operação padrão de leitura, mas a página lida não a cita).Not verified this round: the exact GetSecretValue API call in the diagram (it is the standard read operation, but the page read does not name it).

Dados · 17Data · 17

RDS

Amazon Relational Database Service: facilita criar, operar e escalar bancos relacionais na nuvem, com a AWS cuidando de backups, patches, detecção de falhas e recuperação.Amazon Relational Database Service: makes it easier to set up, operate and scale relational databases in the cloud, with AWS handling backups, patching, failure detection and recovery.

Motores suportados: Db2, MariaDB, SQL Server, MySQL, Oracle e PostgreSQL (o Aurora tem guia próprio). A AWS recomenda o RDS como escolha padrão para a maioria dos bancos relacionais; em um banco sobre EC2, instalação, patch do SO e do banco, backup e alta disponibilidade ficam por sua conta.Supported engines: Db2, MariaDB, SQL Server, MySQL, Oracle and PostgreSQL (Aurora has its own guide). AWS recommends RDS as the default choice for most relational databases; with a database on EC2, installation, OS and database patching, backups and high availability are on you.

Arquitetura típicaTypical architecture
ALB
subnet públicapublic subnet
→ AppApp
subnet privadaprivate subnet
→ DB primary
AZ A · privadaprivate
⇄ sync DB standby
AZ B · privadaprivate

ConceitosConcepts

DB instance

Ambiente de banco isolado na nuvem; pode conter um ou mais bancos criados por você. A classe define CPU e memória: há classes de uso geral (db.m), otimizadas para memória (db.r, db.x, db.z), para computação (db.c) e burstable (db.t).An isolated database environment in the cloud; it can hold one or more databases you create. The class defines CPU and memory: general purpose (db.m), memory optimized (db.r, db.x, db.z), compute optimized (db.c) and burstable (db.t).

Storage

Volumes EBS. Tipos: General Purpose SSD (indicado para dev/teste), Provisioned IOPS SSD (para cargas intensivas em I/O, indicado para produção) e Magnetic (obsoleto). O storage autoscaling aumenta o espaço sozinho (veja abaixo).EBS volumes. Types: General Purpose SSD (suited to dev/test), Provisioned IOPS SSD (for I/O-intensive workloads, suited to production) and Magnetic (deprecated). Storage autoscaling grows the space on its own (see below).

VPC

O banco roda em uma VPC. Você cria um DB subnet group com subnets em pelo menos duas zonas de disponibilidade da Region (mesmo em Single-AZ, para poder virar Multi-AZ depois). Reserve IPs livres nas subnets: o RDS usa para failover e manutenção.The database runs in a VPC. You create a DB subnet group with subnets in at least two Availability Zones of the Region (even for Single-AZ, so it can become Multi-AZ later). Leave free IPs in the subnets: RDS uses them for failover and maintenance.

Acesso e segurançaAccess and security

  • Public access: "Yes" dá um IP público ao banco; para isso todas as subnets do DB subnet group precisam de internet gateway. "No" deixa o acesso só de dentro da VPC. O acesso final é sempre controlado pelo Security Group: libere a porta do banco só do SG da aplicação."Yes" gives the database a public IP; for that every subnet in the DB subnet group needs an internet gateway. "No" keeps access to inside the VPC only. Final access is always controlled by the Security Group: allow the database port only from the application's SG.
  • Master user: usuário criado com a instância, com privilégios altos mas não equivalentes a superusuário total (a lista varia por motor). O nome não pode ser alterado depois. A AWS recomenda não usar o master na aplicação: crie um usuário com o mínimo de privilégios.the user created with the instance, with high but not full-superuser privileges (the list varies by engine). The name cannot be changed later. AWS recommends not using the master in your application: create a user with minimum privileges.
  • Secrets Manager: a opção Manage master credentials in AWS Secrets Manager guarda a senha master em um segredo. Veja Secrets Manager.the Manage master credentials in AWS Secrets Manager option stores the master password in a secret. See Secrets Manager.
  • Encryption / KMS: criptografia em repouso é opção na criação; com ela você escolhe a chave KMS.encryption at rest is a creation-time option; with it you pick the KMS key.
  • Deletion protection: impede apagar o banco por engano (no console, é ligada por padrão ao criar uma instância de produção).prevents accidental deletion (in the console it is on by default when you create a production instance).
  • RDS Proxy: mantém um pool de conexões e as compartilha, ajuda a aplicação a escalar e a suportar picos, e se reconecta ao standby em falhas. Fica na mesma VPC do banco e não é publicamente acessível; só funciona para MariaDB, MySQL e PostgreSQL (entre os motores listados). Tem cobrança própria; veja os preços.keeps and shares a connection pool, helps the application scale and absorb spikes, and reconnects to the standby on failures. It lives in the same VPC as the database and is not publicly accessible; among the listed engines it works for MariaDB, MySQL and PostgreSQL. It has its own pricing; see prices.

Multi-AZ

Multi-AZ DB instance

Um standby síncrono em outra AZ, para failover. O standby não atende leitura.One synchronous standby in another AZ, for failover. The standby does not serve reads.

Multi-AZ DB cluster

Um writer e dois readers em três AZs; os três atendem leitura e dão suporte a failover.One writer and two readers across three AZs; all three serve reads and support failover.

Multi-AZ traz redundância de dados e suporte a failover, elimina congelamentos de I/O e reduz picos de latência em backups. É recomendado para produção; para desenvolvimento e teste dá para criar sem standby. Não confunda com read replicas (escalam leitura, replicação assíncrona). O IP do banco muda no failover: conecte-se sempre pelo nome DNS (endpoint).Multi-AZ gives data redundancy and failover support, eliminates I/O freezes and minimizes latency spikes during backups. It is recommended for production; for development and testing you can create without a standby. Do not confuse it with read replicas (they scale reads, asynchronous replication). The database's IP changes on failover: always connect through the DNS name (endpoint).

BackupsBackups

  • Backups automáticos: o RDS faz um snapshot do volume da instância na janela de backup e guarda pelo backup retention period que você define, permitindo restaurar a qualquer ponto no tempo dentro do período. Só ocorrem com o banco no estado available. Para qualquer banco que importe, use retenção de 1 dia ou mais.Automated backups: RDS takes a volume snapshot of the instance during the backup window and keeps it for the backup retention period you set, letting you restore to any point in time within it. They only happen while the database is in the available state. For any database that matters, use a retention of 1 day or more.
  • Snapshots manuais: você cria quando quiser; não são apagados quando a instância é excluída (até 100 manuais por Region, segundo a página lida). Backups automáticos são apagados com a instância, a não ser que você escolha retê-los; o snapshot final é opcional.Manual snapshots: you create them whenever you want; they are not deleted when the instance is deleted (up to 100 manual per Region per the page read). Automated backups are deleted with the instance unless you choose to retain them; the final snapshot is optional.
  • O primeiro snapshot tem o banco completo; os seguintes são incrementais. Backups ficam no S3 e geram custo de armazenamento.The first snapshot holds the full database; later ones are incremental. Backups live in S3 and incur storage cost.

Storage autoscalingStorage autoscaling

Você define um Maximum storage threshold. O RDS aumenta o storage quando o espaço livre cai a 10% ou menos do alocado por pelo menos 5 minutos, e as modificações anteriores terminaram (máximo de quatro por 24 h). O aumento é do maior valor entre 10 GiB, 10% do alocado e o crescimento previsto. Não precisa de reinício nem causa downtime.You set a Maximum storage threshold. RDS grows storage when free space falls to 10% or less of the allocated for at least 5 minutes and previous modifications have completed (at most four per 24 h). The increase is the greater of 10 GiB, 10% of allocated, and predicted growth. No reboot and no downtime.

PegadinhasGotchas O autoscaling nunca reduz o storage alocado. Cargas grandes de dados podem esgotar o espaço mesmo com autoscaling, porque há intervalo mínimo entre modificações. O threshold máximo deve ser pelo menos 10% maior que o alocado (a AWS sugere 26%). Autoscaling never shrinks allocated storage. Large data loads can still fill the space, because modifications have a minimum spacing. The maximum threshold must be at least 10% above the allocated (AWS suggests 26%).

Nomes: instância vs. bancoNames: instance vs. database

Campo / FieldO que éWhat it is
DB instance identifierNome da instância no RDS (até 63 caracteres alfanuméricos, único na conta e Region).The instance's name in RDS (up to 63 alphanumeric characters, unique per account and Region).
Initial database nameNome do banco criado dentro da instância. Se você não informar, o RDS não cria banco (exceto em Oracle e PostgreSQL).Name of the database created inside the instance. If you leave it out, RDS does not create one (except for Oracle and PostgreSQL).

Quando usarWhen to use

Bancos relacionais de aplicações, com backup, patch e failover gerenciados. Multi-AZ e deletion protection em produção.Application relational databases with managed backups, patching and failover. Multi-AZ and deletion protection in production.

Quando evitarWhen to avoid

Acesso público sem necessidade; usar o master na aplicação; achar que Multi-AZ substitui backup; depender de read replica como alta disponibilidade.Public access without need; using the master in the application; assuming Multi-AZ replaces backups; relying on a read replica as high availability.
Teste-seTest yourself
O standby de um Multi-AZ DB instance atende consultas de leitura?Does a Multi-AZ DB instance's standby serve read queries?
Não. Só o Multi-AZ DB cluster tem readers que atendem leitura.No. Only a Multi-AZ DB cluster has readers that serve reads.
Instance Identifier e Initial Database Name são a mesma coisa?Are Instance Identifier and Initial Database Name the same?
Não. Um nomeia a instância no RDS, o outro o banco dentro dela.No. One names the instance in RDS, the other the database inside it.
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13

Corrigido ou removido: "você não tem acesso ao root; o master é restrito" foi trocado pela descrição da documentação (privilégios elevados do master, lista por motor); "a VPC não muda depois" e "a chave KMS não pode ser alterada depois" saíram por falta de suporte nas páginas lidas; itens sobre o helper "Connect to an EC2" e sobre Certificate Authority ficaram fora por falta de leitura da fonte (consulte "Settings for DB instances").Corrected or removed: "you do not get root; the master is restricted" was replaced with the docs' description (the master's elevated privileges, listed per engine); "the VPC cannot change later" and "the KMS key cannot be changed afterwards" were dropped for lack of support in the pages read; the "Connect to an EC2" helper and Certificate Authority items were left out for lack of a source read (see "Settings for DB instances").

Dados · 18Data · 18

S3

Amazon Simple Storage Service: armazenamento de objetos com grande escala, disponibilidade, segurança e desempenho, para sites, backups, aplicações, data lakes e mais.Amazon Simple Storage Service: object storage with great scalability, availability, security and performance, for websites, backups, applications, data lakes and more.

Bucket

Contêiner de objetos, criado em uma Region. Nome e Region não mudam depois. O nome de um bucket de uso geral é único no namespace global (ou no namespace regional da sua conta).A container for objects, created in a Region. Name and Region cannot change afterwards. A general purpose bucket's name is unique in the global namespace (or in your account's regional namespace).

Object & key

Objeto = dados + metadados. A key é o identificador dentro do bucket. Bucket + key (+ versão) identificam o objeto. Com versioning, você preserva e restaura cada versão.Object = data + metadata. The key is the identifier inside the bucket. Bucket + key (+ version) identify the object. With versioning you preserve and restore every version.

Privado por padrãoPrivate by default

Buckets e objetos são privados até você conceder acesso (políticas de bucket, IAM, access points). O Block Public Access vem ativado; mantenha-o, salvo necessidade específica.Buckets and objects are private until you grant access (bucket policies, IAM, access points). Block Public Access comes on; keep it on unless you have a specific need.

Consistência forteStrong consistency

Leitura-após-escrita forte para PUT e DELETE em todas as Regions: após um PUT bem-sucedido, o GET/LIST seguinte já vê o dado novo. Para gravações simultâneas na mesma key, vale a última (last-writer-wins).Strong read-after-write consistency for PUT and DELETE in all Regions: after a successful PUT, the next GET/LIST already sees the new data. For concurrent writes to the same key, the last writer wins.

Presigned URL

Link temporário que dá acesso a um objeto por tempo limitado, sem mexer na bucket policy. Usa as credenciais de quem gerou a URL; para funcionar, essa identidade precisa ter a permissão da operação (ex.: s3:GetObject). Serve para download (GET) e upload (PUT) direto no S3, sem passar pelo seu servidor. Se já existir um objeto com a mesma key, o upload o substitui.A temporary link granting access to one object for a limited time, without touching the bucket policy. It uses the credentials of whoever generated the URL; for it to work, that identity needs the operation's permission (e.g. s3:GetObject). It serves direct download (GET) and upload (PUT) to S3, bypassing your server. If an object with the same key already exists, the upload replaces it.

NavegadorBrowser①→ Seu servidorYour server② URL assinada ←③ PUT/GET → S3
  • Validade: pelo console, de 1 minuto a 12 horas; pela AWS CLI/SDKs, até 7 dias (credenciais de usuário IAM com Signature V4).Lifetime: from the console, 1 minute to 12 hours; from the AWS CLI/SDKs, up to 7 days (IAM user credentials with Signature V4).
  • Pegadinha: se a URL foi gerada com credenciais temporárias (role, STS, perfil da EC2/ECS), ela expira junto com a credencial, mesmo que você tenha pedido prazo maior. O S3 confere a validade no momento da requisição: um download já iniciado continua, mas retomar depois do prazo falha.Gotcha: if the URL was generated with temporary credentials (role, STS, EC2/ECS profile) it expires together with the credential, even if you asked for a longer period. S3 checks validity at request time: a download already running continues, but resuming after expiry fails.
  • A URL é um "bearer token": quem a tiver acessa o objeto. Proteja-a e, se quiser, restrinja com condições (ex.: s3:signatureAge, origem de rede).The URL is a bearer token: whoever holds it reaches the object. Protect it and, if you want, restrict with conditions (e.g. s3:signatureAge, network origin).

CustosCosts

A cobrança do S3 é por uso, sem taxas mínimas ou de excedente. Valores reais ficam na página de preços do S3 (as cifras da anotação antiga foram removidas). Pontos que a documentação destaca:S3 billing is pay-as-you-go, with no minimum or overage fees. Real values are on the S3 pricing page (the figures in the old note were removed). Points the docs highlight:

  • Armazenamento por classe, requisições e transferência de dados.Storage per class, requests and data transfer.
  • Classes IA e Glacier têm taxa de recuperação, duração mínima de armazenamento e tamanho mínimo cobrado.IA and Glacier classes have a retrieval fee, a minimum storage duration and a minimum billable size.
  • Transições de lifecycle têm custo por requisição (não há taxa de recuperação nas transições).Lifecycle transitions have a per-request cost (there is no retrieval charge on transitions).

Classes de armazenamentoStorage classes

Todas as classes são projetadas para alta durabilidade (11 noves, 99,999999999%, exceto a legada Reduced Redundancy). A diferença está em acesso, disponibilidade, custo e regras mínimas:All classes are designed for high durability (eleven 9s, 99.999999999%, except the legacy Reduced Redundancy). The difference is access, availability, cost and minimum rules:

ClasseClassIndicada paraDesigned forDuração mínimaMin duration
StandardDados acessados com frequência, acesso em milissegundos (padrão)Frequently accessed data, millisecond access (default)—
Intelligent-TieringPadrão de acesso desconhecido ou variável: move objetos entre camadas sozinho. Sem taxa de recuperação; há taxa de monitoramento. Objetos menores que 128 KB não são monitorados.Unknown or changing access: moves objects between tiers by itself. No retrieval fee; there is a monitoring fee. Objects under 128 KB are not monitored.—
Standard-IA / One Zone-IADados de longa vida e acesso raro, ainda em milissegundos. One Zone-IA guarda em uma única AZ (não resiste à perda da AZ).Long-lived, infrequently accessed data, still millisecond access. One Zone-IA stores in a single AZ (does not survive losing the AZ).30 diasdays
Glacier Instant RetrievalArquivo acessado cerca de uma vez por trimestre, com acesso em milissegundosArchive accessed about once a quarter, millisecond access90 diasdays
Glacier Flexible RetrievalArquivo acessado cerca de uma vez por ano; recuperação de minutos a horas, é preciso restaurar antes de lerArchive accessed about once a year; retrieval in minutes to hours, you must restore before reading90 diasdays
Glacier Deep ArchiveArquivo acessado menos de uma vez por ano; recuperação em horas, é preciso restaurarArchive accessed less than once a year; retrieval in hours, you must restore180 diasdays

Existe ainda o S3 Express One Zone (latência de um dígito de milissegundo em uma única AZ). Os tamanhos mínimos faturáveis (128 KB nas IA e Glacier IR) e as disponibilidades por classe estão na tabela de comparação oficial. Correção: o "Glacier" da anotação antiga virou três classes, e só duas exigem restauração.There is also S3 Express One Zone (single-digit millisecond latency in one AZ). Minimum billable sizes (128 KB for IA and Glacier IR) and per-class availability are in the official comparison table. Correction: the old note's "Glacier" is now three classes, and only two need a restore.

Lifecycle rules

Um conjunto de regras no bucket que faz o S3 agir sobre grupos de objetos. Dois tipos de ação: transition (mover para uma classe mais barata) e expiration (apagar quando expirar). As regras valem para objetos existentes e futuros; uma bucket policy não consegue impedir a ação do lifecycle.A set of rules on the bucket that makes S3 act on groups of objects. Two kinds of action: transition (move to a cheaper class) and expiration (delete when it expires). Rules apply to existing and future objects; a bucket policy cannot prevent the lifecycle action.

Standard30d →Standard-IA90d →Glacier Flexible365d → ExpiraExpires

Prazos de exemplo. Respeite as durações mínimas das classes (30/90/180 dias): apagar ou mover cedo gera cobrança proporcional.Example timings. Respect the classes' minimum durations (30/90/180 days): deleting or moving early incurs a pro-rated charge.

Static website hosting

O S3 pode hospedar um site estático: páginas com conteúdo estático, possivelmente com scripts no navegador (SPA, HTML puro). É preciso configurar um index document e permissões de acesso. A AWS recomenda usar o AWS Amplify Hosting para servir o conteúdo do S3 com CDN (CloudFront) e URL HTTPS. Se o bucket usa criptografia SSE-KMS, é obrigatório servir via CloudFront com origin access control (OAC), pois SSE-KMS não suporta usuários anônimos.S3 can host a static website: pages with static content, possibly with client-side scripts (SPA, plain HTML). You must configure an index document and access permissions. AWS recommends using AWS Amplify Hosting to serve S3 content through a CDN (CloudFront) with an HTTPS URL. If the bucket uses SSE-KMS encryption, you must serve through CloudFront with origin access control (OAC), because SSE-KMS does not support anonymous users.

Quando usarWhen to use

Arquivos, uploads de usuários (com presigned URL), backups, logs, sites estáticos, dados que seguem o ciclo hot→cold com lifecycle.Files, user uploads (with presigned URLs), backups, logs, static sites, data following a hot→cold cycle with lifecycle.

Quando evitarWhen to avoid

Desligar o Block Public Access sem necessidade; presigned URL longa com credencial temporária; mover objetos pequenos para classes com tamanho mínimo; bloquear o lifecycle esperando que a bucket policy resolva.Turning Block Public Access off without need; long presigned URLs with temporary credentials; moving tiny objects to classes with a minimum size; expecting a bucket policy to block lifecycle.
Teste-seTest yourself
Uma presigned URL gerada por uma role de 1 hora vale 7 dias se eu pedir?Does a presigned URL generated by a 1-hour role last 7 days if I ask?
Não. Ela expira quando a credencial da role expira.No. It expires when the role's credential expires.
Quais classes exigem restaurar o objeto antes de ler?Which classes require restoring the object before reading?
Glacier Flexible Retrieval e Glacier Deep Archive (e as camadas de arquivo opcionais do Intelligent-Tiering).Glacier Flexible Retrieval and Glacier Deep Archive (and the optional archive tiers of Intelligent-Tiering).
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13

Removido por falta de fonte: "$0,023 por GB", "uploads são mais caros", "entrada é grátis" e "egress costuma ser o maior custo". Ajustado: "index.html obrigatório" (a documentação fala em configurar um index document).Removed for lack of a source: "$0.023 per GB", "uploads cost more", "ingress is free" and "egress is usually the biggest cost". Adjusted: "index.html required" (the docs speak of configuring an index document).

DNS · 19

Domínios e DNSDomains & DNS

O DNS traduz nomes (app.exemplo.com.br) em destinos. Os registros de uma zona dizem para onde cada nome aponta; o domínio em si é só o nome registrado.DNS translates names (app.example.com) into destinations. A zone's records say where each name points; the domain itself is just the registered name.

Tipos de registroRecord types

TipoTypeFunçãoPurpose
AAponta um nome para um endereço IPv4 (ex.: 192.0.2.1).Points a name to an IPv4 address (e.g. 192.0.2.1).
AAAAIgual ao A, mas para IPv6 (ex.: 2001:0db8:85a3:0:0:8a2e:0370:7334).Same as A, but for IPv6 (e.g. 2001:0db8:85a3:0:0:8a2e:0370:7334).
CNAMEMapeia um nome para outro nome. O protocolo DNS não permite CNAME no topo da zona (o apex, ex.: exemplo.com), só em subdomínios. E, se um nome tem CNAME, não pode ter outros registros.Maps a name to another name. The DNS protocol does not allow a CNAME at the top of the zone (the apex, e.g. example.com), only on subdomains. And a name with a CNAME cannot have other records.
Alias (Route 53)Extensão do Route 53: aponta para certos recursos AWS (ALB, CloudFront, bucket S3 de site, API Gateway...). Pode ser usado no apex. Não é cobrada a consulta a alias para recursos AWS.A Route 53 extension: points to certain AWS resources (ALB, CloudFront, S3 website bucket, API Gateway...). It can be used at the apex. Alias queries to AWS resources are not charged.
NSIdentifica os name servers da zona, quem responde pelo DNS dela. Também delega subdomínios para outra zona.Identifies the zone's name servers, who answers for its DNS. Also delegates subdomains to another zone.
MXServidores de e-mail do domínio, cada um com uma prioridade (o menor valor vence). Deve apontar para o nome de um registro A/AAAA, não de um CNAME.The domain's mail servers, each with a priority (the lowest value wins). It must point to the name of an A/AAAA record, not a CNAME.
TXTUma ou mais strings entre aspas (até 255 caracteres cada; até 4.000 no valor). Muito usado para verificações e e-mail (SPF).One or more quoted strings (up to 255 characters each; up to 4,000 in the value). Widely used for verification and email (SPF).
SOAInformações administrativas da zona (criado pelo Route 53).Administrative information about the zone (created by Route 53).
CAADefine quais autoridades certificadoras podem emitir certificados para o domínio.Defines which certificate authorities may issue certificates for the domain.

E-mail profissional no seu domínio exige o domínio e registros MX apontando para o provedor de e-mail. A AWS não recomenda mais o tipo SPF: use um TXT.Professional email on your domain needs the domain and MX records pointing to your email provider. AWS no longer recommends the SPF type: use a TXT record.

Provar que o domínio é seuProving the domain is yours

O padrão da AWS para certificados é a validação por DNS: o ACM entrega um CNAME único e você o cria na zona. Veja ACM.AWS's standard for certificates is DNS validation: ACM hands you a unique CNAME and you create it in the zone. See ACM.

Nota pessoal · fora da documentação da AWSPersonal note · outside AWS docs Cloudflare "Proxied": nas anotações do curso, o tráfego passa pelos servidores da Cloudflare antes de chegar ao seu servidor (proteção DDoS, WAF, cache, IP final escondido). É um serviço de terceiros, não coberto pela documentação da AWS, e não foi verificado. Consulte a documentação da Cloudflare. Cloudflare "Proxied": in the course notes, traffic goes through Cloudflare's servers before reaching yours (DDoS protection, WAF, caching, final IP hidden). It is a third-party service, not covered by AWS docs, and was not verified. See Cloudflare's documentation.
UsuárioUser→ Cloudflare→ Seu servidorYour server

Quando usarWhen to use

CNAME para subdomínios que apontam a outro nome; Alias para o apex e para recursos AWS; TXT/MX para verificação e e-mail.CNAME for subdomains pointing to another name; Alias for the apex and AWS resources; TXT/MX for verification and email.

Quando evitarWhen to avoid

CNAME no apex; CNAME com outros registros no mesmo nome; MX apontando para um CNAME; SPF como tipo de registro.A CNAME at the apex; a CNAME together with other records on the same name; an MX pointing to a CNAME; SPF as a record type.
Teste-seTest yourself
Posso usar CNAME no domínio raiz?Can I use a CNAME on the root domain?
Não: o DNS não permite no apex. No Route 53 use um registro Alias.No: DNS does not allow it at the apex. In Route 53 use an Alias record.
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13

Removido por falta de fonte: "você prova que é dono criando registros TXT no painel do registrador" (a documentação da AWS descreve CNAME para o ACM).Removed for lack of a source: "you prove ownership by creating TXT records in the registrar panel" (AWS docs describe a CNAME for ACM).

DNS · 20

Route 53

Serviço de DNS da AWS. Você cria hosted zones com os registros dos seus domínios e aponta nomes para recursos como o load balancer.AWS's DNS service. You create hosted zones holding your domains' records and point names at resources such as the load balancer.

Hosted Zones

Uma hosted zone é um contêiner de registros que dizem como rotear o tráfego de um domínio e seus subdomínios. Ela tem o mesmo nome do domínio. O preço por zona e por consulta está na página de preços do Route 53 (o valor fixo da anotação antiga foi removido).A hosted zone is a container of records telling how to route traffic for a domain and its subdomains. It has the same name as the domain. Per-zone and per-query pricing is on the Route 53 pricing page (the old note's fixed value was removed).

PúblicaPublic

Registros que dizem como rotear o tráfego na internet (site, API, e-mail).Records saying how to route traffic on the internet (website, API, email).

PrivadaPrivate

Registros que dizem como rotear o tráfego dentro de uma VPC, por exemplo db.interno.exemplo resolvendo só para quem está na rede.Records saying how to route traffic inside a VPC, for example db.internal.example resolving only for those on the network.

NS & SOA

Ao criar uma zona pública, o Route 53 cria os registros NS (quatro name servers) e SOA. Para que a internet use essa zona, vá ao registrador do domínio (onde ele foi registrado) e configure os quatro name servers do NS padrão da zona. Para delegar um subdomínio a outra zona, crie um NS na zona do domínio raiz.When you create a public zone, Route 53 creates the NS records (four name servers) and SOA. For the internet to use that zone, go to the domain's registrar (where it was registered) and set the four name servers from the zone's default NS record. To delegate a subdomain to another zone, create an NS record in the root domain's zone.

RegistradorRegistrarNS → Route 53 HZA/AAAA Alias → ALB

Apontar o domínio para o ALBPointing the domain at the ALB

Crie um registro Alias do tipo A (e AAAA, se o ALB tiver IPv6) para o ALB. Quando o IP do load balancer muda, o Route 53 passa a responder com o novo sem você fazer nada. Para um alias a um recurso AWS você não define o TTL (vale o padrão do recurso) e não paga a consulta. O Alias funciona também no apex (exemplo.com.br), onde o CNAME não é permitido.Create an Alias record of type A (and AAAA, if the ALB has IPv6) for the ALB. When the load balancer's IP changes, Route 53 starts answering with the new one without you doing anything. For an alias to an AWS resource you do not set the TTL (the resource's default applies) and queries are not charged. Alias also works at the apex (example.com), where CNAME is not allowed.

  • O alias precisa ter o mesmo nome e tipo da consulta (A ou AAAA) para ser respondido.The alias must match the query's name and type (A or AAAA) to be answered.
  • Há políticas de roteamento além da simples: weighted, latency, failover, geolocation e geoproximity também aceitam alias.There are routing policies beyond simple: weighted, latency, failover, geolocation and geoproximity also accept alias.
  • Para HTTPS, emita o certificado no ACM (a validação por DNS cria um CNAME nesta mesma zona).For HTTPS, issue the certificate in ACM (DNS validation creates a CNAME in this same zone).
RemovidoRemoved A seção "Classes de IP" das anotações antigas (os quatro números de um IP chamados de classes A, B, C e D) não tem apoio na documentação do Route 53 e não foi mantida. The "IP classes" section of the old notes (the four numbers of an IP called classes A, B, C and D) has no support in the Route 53 documentation and was not kept.

Quando usarWhen to use

Domínios que apontam para recursos AWS (Alias); nomes internos por VPC (zona privada); controle do DNS junto da infraestrutura.Domains pointing to AWS resources (Alias); VPC-internal names (private zone); keeping DNS next to the infrastructure.

Quando evitarWhen to avoid

Ter zonas duplicadas para o mesmo domínio sem saber qual está nos NS do registrador; CNAME no apex; esquecer de atualizar os NS no registrador.Having duplicate zones for the same domain without knowing which one the registrar's NS points to; a CNAME at the apex; forgetting to update the NS at the registrar.
Teste-seTest yourself
Onde coloco os 4 NS da Route 53 se comprei o domínio em outro lugar?Where do I put Route 53's 4 NS if I bought the domain elsewhere?
No painel do registrador onde o domínio foi registrado, nas configurações de name servers do domínio.In the panel of the registrar where the domain was registered, in the domain's name server settings.
Alias ou CNAME para apontar o domínio raiz ao ALB?Alias or CNAME to point the root domain at the ALB?
Alias, porque CNAME não pode ficar no apex.Alias, because a CNAME cannot sit at the apex.
Fontes oficiais · verificado em 2026-10-13Official sources · verified on 2026-10-13

Movido: o item "ACM" que ficava aqui agora tem sua própria seção. Não verificado nesta rodada: compra/registro de domínio pelo Route 53 (a anotação antiga o citava; consulte a documentação de registro de domínios).Moved: the "ACM" item that lived here now has its own section. Not verified this round: buying/registering a domain through Route 53 (the old note mentioned it; see the domain registration docs).