Apresentando AWS Landing Zone programável em um módulo Terraform

Olá a todos! Em dezembro, a OTUS lança um novo curso - Arquitetura de solução em nuvem. Antecipando o início deste curso, estamos compartilhando com vocês uma tradução de material interessante sobre o tema.

Apresentando AWS Landing Zone programável em um módulo Terraform

Zona de destino da AWS é uma solução que ajuda os clientes a configurar rapidamente um ambiente AWS seguro e com várias contas com base nas práticas recomendadas.

Por mais de cinco anos, nossa equipe no Grupo Mitoc trabalhou incansavelmente para ajudar grandes organizações a transformar digitalmente e construir ou migrar sua pegada digital para a nuvem AWS. Em outras palavras, citando nossos amigos da AWS: “Nossos clientes estão se reinventando com a AWS”. É um esforço interminável para reinventar e simplificar a mecânica em nome dos próprios clientes, e a AWS faz um excelente trabalho resolvendo problemas complexos com soluções fáceis de aprender.

Apresentando AWS Landing Zone programável em um módulo Terraform
Zona de destino da AWS (fonte)

O que é a zona de destino da AWS?

Segundo informações de fonte oficial:

AWS Landing Zone é uma solução que ajuda os clientes a configurar rapidamente um ambiente AWS seguro com várias contas com base nas práticas recomendadas da AWS. Com tantas opções, a configuração de um ambiente com várias contas pode ser demorada, envolver a configuração de várias contas e serviços e exigir um conhecimento profundo dos serviços da AWS.

O AWS Landing Zone reduziu significativamente a complexidade e a consistência de padrões de design semelhantes entregues a diferentes clientes. Por outro lado, nossa equipe teve que reconfigurar alguns componentes do CloudFormation como componentes do Terraform para utilizá-los posteriormente para automação.

Então nos perguntamos: por que não construir toda a solução AWS Landing Zone no Terraform? Podemos fazer isso e isso resolverá os problemas de nossos clientes? Spoiler: vai e já está decidindo! 🙂

Quando você não deve usar o AWS Landing Zone?

Se você estiver lidando com serviços e recursos de nuvem regulares em uma ou duas contas da AWS, essas medidas podem ser um exagero. Quem não se identifica com este ponto pode continuar lendo :)

O que você deve considerar antes de começar a trabalhar?

Muitas das grandes organizações com as quais trabalhamos já possuem algum tipo de estratégia de nuvem em vigor. As empresas lutam para implementar com sucesso serviços em nuvem sem uma visão e expectativas claras. Reserve um tempo para definir sua estratégia e entender como a AWS se encaixa nela.

Ao definir uma estratégia, os clientes bem-sucedidos da AWS Landing Zone concentram-se ativamente no seguinte:

  • A automação simplesmente não é uma opção. A automação nativa da nuvem é preferida.
  • As equipes usam consistentemente a mesma mecânica com o mesmo conjunto de ferramentas para provisionar recursos de nuvem. É melhor usar o Terraform.
  • Os usuários mais produtivos da nuvem têm a capacidade de criar processos reutilizáveis ​​e fornecê-los como serviços reutilizáveis ​​em vez de código reutilizável. A arquitetura sem servidor é preferida.

Apresentando o módulo Terraform para AWS Landing Zone

Depois de vários meses de trabalho árduo, tenho o prazer de apresentar a vocês Módulo Terraform para AWS Landing Zone. Código fonte é armazenado no GitHub e versões de lançamento estáveis publicado no Terraform Module Registry.

Para começar, basta ligar main.tf ao seu código:

module "landing_zone" {
  source     = "TerraHubCorp/landing-zone/aws"
  version    = "0.0.6"
  root_path  = "${path.module}"
  account_id = "${var.account_id}"
  region     = "${var.region}"
  landing_zone_components = "${var.landing_zone_components}"
}

Nota: certifique-se de ativar variables.tf e tudo que você pode precisar de outputs.tf.

Para facilitar a compreensão, adicionamos valores padrão a terraform.tfvars:

account_id = "123456789012"
region = "us-east-1"
landing_zone_components = {
  landing_zone_pipeline_s3_bucket = "s3://terraform-aws-landing-zone/mycompany/landing_zone_pipeline_s3_bucket/default.tfvars"
  [...]
}

Isso significa que ao usar este módulo terraform você vai precisar de:

  1. Mudar valores account_id и region aos seus, que correspondem aos dados da Organização AWS;
  2. Mudar valores landing_zone_components aqueles que correspondem ao seu caso de uso da AWS Landing Zone;
  3. emendar s3://terraform-aws-landing-zone/mycompany para o seu bloco S3 e prefixo chave S3onde você armazenará os arquivos .tfvars (ou caminho absoluto para arquivos .tfvars em seu armazenamento local).

Este módulo pode ter dezenas, centenas ou milhares de componentes implementáveis, mas nem todos devem ou serão implementados. Em tempo de execução, os componentes que não fazem parte do mapa de variáveis landing_zone_components será ignorado.

Conclusão

Estamos entusiasmados e orgulhosos em compartilhar os frutos de nossos esforços para ajudar os clientes a construir a automação nativa da nuvem. O módulo Terraform para AWS Landing Zone é outra solução que ajuda as organizações a configurar rapidamente um ambiente AWS seguro com várias contas com base nas práticas recomendadas da AWS. Estamos cientes de que a AWS está crescendo em um ritmo incrivelmente rápido e estamos comprometidos em desenvolver rapidamente uma solução terraform que cubra todas as bases e também se integre a outras soluções de produção da AWS.

Isso é tudo. Estamos aguardando seus comentários e convidamos você a webinar grátis dentro do qual nós Vamos estudar o design da arquitetura de domínio da Cloud Landing Zone e considerar os padrões arquitetônicos dos domínios principais.

Fonte: habr.com

Adicionar um comentário