Apresentamos a AWS Landing Zone programável no módulo Terraform

Olá a todos! Em dezembro, a OTUS lançará um novo curso — Arquitetura de Soluções em Nuvem. Na expectativa do lançamento deste curso, compartilhamos com vocês a tradução de um material interessante sobre o tema.

Apresentamos a AWS Landing Zone programável no módulo Terraform

AWS Landing Zone é uma solução que ajuda os clientes a configurarem rapidamente um ambiente AWS seguro com várias contas, com base nas melhores práticas.

Ao longo de mais de cinco anos, nossa equipe na Mitoc Group trabalhou incansavelmente para ajudar grandes organizações a realizarem uma transformação digital bem-sucedida e a construírem ou migrarem sua presença digital para a nuvem AWS. Em outras palavras, citando nossos amigos da AWS: "Nossos clientes estão se redescobrindo com a AWS". É um esforço contínuo de reinventar e simplificar as mecânicas em nome dos próprios clientes, e a AWS tem se destacado na resolução de problemas complexos com soluções de fácil compreensão.

Apresentamos a AWS Landing Zone programável no módulo Terraform
AWS Landing Zone (fonte)

O que é AWS Landing Zone?

Conforme informações de uma fonte oficial:

AWS Landing Zone é uma solução que ajuda os clientes a configurarem mais rapidamente um ambiente AWS seguro com várias contas, com base nas melhores práticas da AWS. Com muitas opções, configurar um ambiente com várias contas pode levar um tempo considerável, além de envolver a configuração de várias contas e serviços, e exigir um profundo entendimento do funcionamento dos serviços da AWS.

A solução AWS Landing Zone reduziu significativamente a complexidade e a consistência de modelos de design semelhantes fornecidos a diferentes clientes. Por outro lado, nossa equipe teve que reconfigurar alguns componentes do CloudFormation como componentes do Terraform, para usá-los posteriormente na automação.

Por isso, nos questionamos, por que não construir toda a solução AWS Landing Zone em Terraform? Podemos fazer isso e resolverá os problemas dos nossos clientes? Spoiler: resolverá e já está resolvendo! 🙂

Quando não usar o AWS Landing Zone?

Se você estiver lidando com serviços e recursos de nuvem comuns dentro de uma ou duas contas AWS, essas medidas podem ser excessivas. Todos que não se enquadram neste ponto podem continuar lendo 🙂

O que considerar antes de começar a trabalhar?

Muitas grandes organizações com as quais trabalhamos já possuem alguma estratégia de uso de tecnologias em nuvem. As empresas lutam pela implementação bem-sucedida de serviços em nuvem, sem uma visão clara e expectativas definidas. Por favor, dedique um tempo para definir sua estratégia e entender como a AWS se encaixa nela.

Ao definir a estratégia, os clientes bem-sucedidos da AWS Landing Zone enfatizam o seguinte:

  • Apenas automatizar não é uma opção. A automação nativa em nuvem é preferível.
  • As equipes utilizam continuamente as mesmas mecânicas com o mesmo conjunto de ferramentas para preparar recursos em nuvem. É melhor usar Terraform.
  • Os usuários de serviços em nuvem mais produtivos têm a capacidade de criar processos reutilizáveis e oferecê-los como serviços reutilizáveis em vez de código reutilizável. O uso de arquitetura sem servidor é preferido.

Apresentamos o módulo Terraform para AWS Landing Zone

Após meses de trabalho intenso, tenho o prazer de apresentar a você o módulo Terraform para AWS Landing Zone. Código fonte que está hospedado no GitHub, e versões estáveis de lançamentos são publicadas no Terraform Module Registry.

Para começar, basta habilitar main.tf em 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: Lembre-se de incluir variables.tf e tudo o que você pode precisar de outputs.tf.

Para facilitar a compreensão, adicionamos valores padrão em 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ê precisará:

  1. Alterar os valores account_id e region para os seus próprios, que correspondam aos dados na AWS Organization;
  2. Alterar os valores landing_zone_components para aqueles que correspondem ao seu caso de uso da AWS Landing Zone;
  3. Editar s3://terraform-aws-landing-zone/mycompany para o seu bloco S3 e o prefixo da chave S3, onde você armazenará os arquivos .tfvars (ou o caminho absoluto para os arquivos .tfvars no seu armazenamento local).

Este módulo pode ter dezenas, centenas ou milhares de componentes a serem implantados, mas nem todos eles precisam ser e serão implantados. Durante a execução, os componentes que não fazem parte do mapa de variáveis landing_zone_components serão ignorados.

Conclusão

Estamos muito felizes e orgulhosos de compartilhar os frutos de nossos esforços que ajudam os clientes a criar automação nativa na nuvem. O módulo Terraform para AWS Landing Zone é mais uma solução que auxilia organizações a configurar rapidamente um ambiente AWS seguro com várias contas, com base nas melhores práticas da AWS. Sabemos que a AWS está evoluindo rapidamente, e também nos esforçamos para desenvolver soluções Terraform que abrangem todos os fundamentos e se integram a outras soluções de trabalho da AWS.

Isso é tudo. Aguardamos seus comentários e convidamos você para webinar gratuito no qual vamos explorar o design da arquitetura do domínio Cloud Landing Zone e revisar os modelos arquitetônicos dos principais domínios..

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster