Automatize as operações de AWS infraestrutura usando o Amazon Bedrock - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Automatize as operações de AWS infraestrutura usando o Amazon Bedrock

Ishwar Chauthaiwale e Anand Bukkapatnam Tirumala, Amazon Web Services

Resumo

Em soluções nativas da nuvem, automatizar operações comuns de infraestrutura desempenha um papel fundamental na manutenção de ambientes eficientes, seguros e econômicos. Realizar operações de forma manual é um processo demorado e propenso a erros por parte dos humanos. Além disso, membros da equipe com diferentes níveis de AWS especialização precisam realizar essas tarefas e, ao mesmo tempo, garantir a conformidade com os protocolos de segurança. Esse padrão demonstra como usar o Amazon Bedrock para automatizar operações comuns de AWS infraestrutura por meio do processamento de linguagem natural (NLP).

Com este padrão, as organizações podem desenvolver código modular, reutilizável e seguro para a implantação de infraestrutura baseada em IA generativa em diversos ambientes. Por meio de seu foco na infraestrutura como código (IaC) e na automação, ela oferece DevOps os principais benefícios, incluindo controle de versão, implantações consistentes, redução de erros, provisionamento mais rápido e colaboração aprimorada.

O padrão implementa uma arquitetura segura que permite que as equipes gerenciem operações relacionadas à chave Serviços da AWS , incluindo:

  • Gerenciamento de versionamento de buckets do Amazon Simple Storage Service (Amazon S3)

  • Criação de snapshots do Amazon Relational Database Service (Amazon RDS)

  • Gerenciamento de instâncias do Amazon Elastic Compute Cloud (Amazon EC2)

A arquitetura emprega endpoints e redes privadas da Amazon Virtual Private Cloud (Amazon VPC) para comunicação segura, AWS Lambda com funções operando como executores de tarefas em sub-redes privadas. O Amazon S3 fornece gerenciamento de dados e implementa funções e permissões abrangentes AWS Identity and Access Management (IAM) para garantir controles de acesso adequados. Esta solução não inclui um recurso de histórico para chat, e as conversas não são armazenadas.

Pré-requisitos e limitações

Versões do produto

  • Incorporador de Texto do Amazon Titan v2

  • Claude 3.5 Sonnet ou Claude 3 Haiku da Anthropic

  • Terraform AWS Provider versão 4 ou posterior

  • Terraform versão 1.5.7 ou posterior

Arquitetura

O diagrama a seguir mostra o fluxo de trabalho e os componentes da arquitetura desse padrão.

Fluxo de trabalho para automatizar operações conhecidas de infraestrutura da AWS usando o Amazon Bedrock.

A arquitetura da solução consiste em várias camadas que trabalham juntas para processar solicitações de linguagem natural e executar AWS as operações correspondentes:

  1. O usuário realiza solicitações de operações por meio do console de chat do Amazon Bedrock.

  2. O chatbot usa as Bases de Conhecimento para Amazon Bedrock para o processamento das solicitações. Esse chatbot implementa o modelo Incorporador de Texto do Amazon Titan v2 para o processamento da linguagem natural.

  3. Se o prompt fornecido pelo usuário incluir uma solicitação de ação, o grupo de ações do Amazon Bedrock usará o modelo Claude 3 Haiku ou Claude 3.5 Sonnet da Anthropic, com base na sua escolha, para determinar a lógica de execução e definir as operações por meio de um esquema da OpenAPI.

  4. O grupo de ação alcança os endpoints da Amazon VPC usando AWS PrivateLink para comunicação segura de serviços.

  5. A AWS Lambda função é alcançada por meio de endpoints Amazon VPC para serviços Amazon Bedrock.

  6. As funções do Lambda são o principal mecanismo de execução. Com base na solicitação, a função do Lambda chama a API para executar ações nos serviços da Serviços da AWS. Além disso, a função do Lambda gerencia o roteamento e a execução das operações.

  7. A solicitação Serviços da AWS get the API da função Lambda e as operações correspondentes são executadas.

  8. A função do Lambda gera uma carga útil de saída que é compreendida pelo Amazon Bedrock.

  9. Essa carga é enviada para o Amazon Bedrock usando PrivateLink para comunicação segura de serviços. O grande modelo de linguagem (LLM) empregado pelo Amazon Bedrock compreende essa carga útil e a converte em um formato compreensível por humanos.

  10. Em seguida, a saída é apresentada ao usuário no console de chat do Amazon Bedrock.

A solução possibilita as seguintes operações principais:

  • Amazon S3: habilitar o versionamento de buckets para controle de versões.

  • Amazon RDS: criar snapshots de bancos de dados para backup.

  • Amazon EC2: listar instâncias e controlar o início e a interrupção das instâncias.

Ferramentas

Serviços da AWS

  • O Amazon Bedrock é um serviço totalmente gerenciado que disponibiliza modelos básicos de alto desempenho (FMs) das principais startups de IA e da Amazon para seu uso por meio de uma API unificada.

  • AWS Command Line Interface (AWS CLI) é uma ferramenta de código aberto que ajuda você a interagir Serviços da AWS por meio de comandos em seu shell de linha de comando.

  • O Amazon Elastic Compute Cloud (Amazon EC2) oferece capacidade de computação escalável na Nuvem AWS. Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.

  • AWS Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.

  • O AWS Lambda é um serviço de computação que ajuda a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.

  • O Amazon OpenSearch Serverless é uma configuração sem servidor sob demanda para o Amazon Service. OpenSearch

  • AWS PrivateLinkajuda você a criar conexões unidirecionais e privadas de suas nuvens privadas virtuais (VPCs) para serviços fora da VPC.

  • O Amazon Relational Database Service (Amazon RDS) ajuda você a configurar, operar e escalar um banco de dados relacional na Nuvem AWS.

  • O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.

  • O AWS Systems Manager ajuda você a gerenciar suas aplicações e infraestrutura em execução na Nuvem AWS. Ele simplifica o gerenciamento de aplicativos e recursos, reduz o tempo para detectar e resolver problemas operacionais e ajuda você a gerenciar seus AWS recursos com segurança em grande escala.

  • A Amazon Virtual Private Cloud (Amazon VPC) ajuda você a lançar AWS recursos em uma rede virtual que você definiu. Essa rede virtual é semelhante a uma rede tradicional que você operaria no próprio datacenter, com os benefícios de usar a infraestrutura escalável da AWS.

Outras ferramentas

  • O Git é um sistema de controle de versão distribuído e de código aberto.

  • O Terraform é uma ferramenta de infraestrutura como código (IaC) HashiCorp que ajuda você a criar e gerenciar recursos na nuvem e no local.

Repositório de código

O código desse padrão está disponível no repositório GitHub infra-ops-orchestratoraws-samples/.

Práticas recomendadas

Épicos

TarefaDescriptionHabilidades necessárias

Clonar o repositório.

Para clonar o repositório em sua máquina local, execute o seguinte comando:

git clone "git@github.com:aws-samples/infra-ops-orchestrator.git" cd infra-ops-orchestrator
AWS DevOps, DevOps engenheiro

Edite as variáveis de ambiente.

Edite o arquivo terraform.tfvars no diretório raiz do repositório clonado. Analise os espaços reservados indicados por [XXXXX] e atualize-os de acordo com o seu ambiente.

AWS DevOps, DevOps engenheiro

Crie a infraestrutura.

Para criar a infraestrutura, execute os seguintes comandos:

terraform init
terraform plan

Analise cuidadosamente o plano de execução. Se as alterações propostas estiverem adequadas, execute o seguinte comando:

terraform apply --auto-approve
AWS DevOps, DevOps engenheiro
TarefaDescriptionHabilidades necessárias

Acesse a solução.

Após a implantação com êxito, siga estas etapas para usar a interface baseada em chat:

  1. Para acessar o Infrastructure Orchestrator Assistant, faça login na função Console de gerenciamento da AWS usando uma função do IAM com as permissões do Amazon Bedrock e abra o console do Amazon Bedrock em. https://console.aws.amazon.com/bedrock/ No painel de navegação à esquerda, selecione Agentes. Em seguida, escolha o Infrastructure Orchestrator Assistant na seção Agentes.

  2. Verifique se os recursos de destino existem em seu AWS ambiente para obter as sugestões a seguir e, em seguida, tente estes exemplos de operações:

    • Criar um snapshot de backup de uma instância do Amazon RDS com o comando: “Criar um snapshot da instância do RDS [instance-name]”

    • Habilitar o versionamento em um bucket do Amazon S3 com o comando: “Habilitar o versionamento para o bucket [bucket-name]”

    • Listar as instâncias do Amazon EC2 com o comando: “Listar todas as instâncias do EC2”

    • Iniciar ou interromper uma instância do Amazon EC2 com o comando: “Iniciar a instância do EC2 [instance-id]” ou “Interromper a instância do EC2 [instance-id]”

    Observação: substitua os valores entre colchetes pelos nomes reais dos recursos ou IDs do seu AWS ambiente.

AWS DevOps, DevOps engenheiro
TarefaDescriptionHabilidades necessárias

Exclua os recursos criados.

Para excluir toda a infraestrutura criada por este padrão, execute o seguinte comando:

terraform plan -destroy

Analise cuidadosamente o plano de exclusão. Se as exclusões propostas estiverem adequadas, execute o seguinte comando:

terraform destroy

Observação: este comando excluirá permanentemente todos os recursos criados por este padrão. O comando solicitará confirmação antes de remover quaisquer recursos.

AWS DevOps, DevOps engenheiro

Solução de problemas

ProblemaSolução

Comportamento do agente

Para obter informações sobre este problema, consulte Test and troubleshoot agent behavior na documentação do Amazon Bedrock.

Problemas de rede relacionados ao Lambda

Para obter informações sobre estes problemas, consulte Solucionar problemas de redes no Lambda na documentação do Lambda.

permissões do IAM

Para obter informações sobre estes problemas, consulte Solucionar problemas do IAM na documentação do IAM.

Recursos relacionados