Pular para o conteúdo
001: Primeiro pipeline da Main Account

001: Primeiro pipeline da Main Account

A Main Account é a raiz da AWS Organization do ARGLabs, e é intencionalmente mínima: não roda nenhuma carga de trabalho. Ela guarda apenas o que precisa ficar no topo da árvore: a estrutura da organização, o provedor de identidade de todos que entram na AWS, o domínio principal da empresa, e a auditoria e a busca que cobrem todas as contas. A única outra coisa nela é este site, publicado pelo seu próprio repositório.

O que ela provisiona

  • AWS Organizations: a própria organização (importada) com acesso confiável para os serviços abaixo, uma OU Teams para as contas dos times e uma OU Shared para contas compartilhadas, como a da rede.
  • IAM Identity Center (SSO): o grupo CloudAdministrators, os permission sets AdministratorAccess e ReadOnlyAccess, a atribuição que torna o grupo administrador da Main Account, e a participação no grupo dos usuários administradores configurados.
  • Route 53: a hosted zone arglabs.org e o domínio registrado, apontado para os name servers dessa zona.
  • AWS RAM: compartilhamento de recursos com toda a organização, do qual a rede compartilhada depende.
  • Auditoria e busca: a trilha CloudTrail da organização, que registra os eventos de gerenciamento de todas as contas e regiões em um bucket que as contas membro não alcançam, um workgroup e uma tabela do Athena para consultá-la com SQL, e uma visão do Resource Explorer que busca em todas as contas.
  • Custos: as tags de alocação de custo app_name e env, ativadas para toda a organização.

Como é feito o deploy

Tudo roda pelo Bitbucket Pipelines. O pipeline assume a role bitbucket-openid via OIDC (provisionada pelo projeto de pré-requisitos), que então assume a role deployer para alterar a AWS. Nenhuma credencial de longa duração em lugar nenhum.

Todo push executa terraform plan e então espera uma aprovação manual antes do terraform apply. Os dois rodam no workspace default do Terraform: a organização, o Identity Center e o domínio apex existem uma vez, não uma vez por ambiente.

Repositório: bitbucket.org/arglabs/arglabs-mainaccount-orgstuff

Última atualização em