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á.
Use agentes do Amazon Bedrock para automatizar a criação de controles de entrada de acesso no Amazon EKS por meio de prompts baseados em texto
Criado por Keshav Ganesh (AWS) e Sudhanshu Saurav (AWS)
Resumo
As organizações enfrentam desafios no gerenciamento de controles de acesso e provisionamento de recursos quando várias equipes precisam trabalhar com um cluster compartilhado do Amazon Elastic Kubernetes Service (Amazon EKS). Um serviço gerenciado do Kubernetes, como o Amazon EKS, simplificou as operações de cluster. No entanto, a sobrecarga administrativa de gerenciar o acesso da equipe e as permissões de recursos continua complexa e demorada.
Esse padrão mostra como os agentes do Amazon Bedrock podem ajudar você a automatizar o gerenciamento de acesso ao cluster do Amazon EKS. Essa automação permite que as equipes de desenvolvimento se concentrem no desenvolvimento de seus aplicativos principais, em vez de lidar com a configuração e o gerenciamento do controle de acesso. Você pode personalizar um agente do Amazon Bedrock para realizar ações em uma ampla variedade de tarefas por meio de instruções simples em linguagem natural.
Ao usar AWS Lambda funções como grupos de ação, um agente do Amazon Bedrock pode lidar com tarefas como criar entradas de acesso de usuários e gerenciar políticas de acesso. Além disso, um agente do Amazon Bedrock pode configurar associações de identidade de pod que permitem acesso a recursos AWS Identity and Access Management (IAM) para os pods em execução no cluster. Usando essa solução, as organizações podem simplificar a administração do cluster Amazon EKS com instruções simples baseadas em texto, reduzir a sobrecarga manual e melhorar a eficiência geral do desenvolvimento.
Pré-requisitos e limitações
Pré-requisitos
Um ativo Conta da AWS.
Funções e permissões do IAM estabelecidas para o processo de implantação. Isso inclui permissões para acessar os modelos da Amazon Bedrock Foundation (FM), criar funções Lambda e quaisquer outros recursos necessários em todo o destino. Contas da AWS
Acesso ativado no ativo Conta da AWS a esses Amazon Bedrock FMs: Amazon Titan Text Embeddings V2 e Anthropic Claude 3 Haiku.
AWS Command Line Interface (AWS CLI) versão 2.9.11 ou posterior, instalada e configurada.
Limitações
Treinamento e documentação podem ser necessários para ajudar a garantir a adoção tranquila e o uso eficaz dessas técnicas. Usar o Amazon Bedrock, o Amazon EKS, o Lambda, o OpenSearch Amazon Service e a OpenAPI
envolve uma curva de aprendizado significativa para desenvolvedores e equipes. DevOps Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para ver a disponibilidade da região, consulte os serviços da AWS por região
. Para endpoints específicos, consulte Endpoints e cotas de serviço e escolha o link para o serviço.
Arquitetura
O diagrama a seguir mostra o fluxo de trabalho e os componentes da arquitetura desse padrão.

Essa solução executa as seguintes etapas:
O usuário interage com o agente Amazon Bedrock enviando uma solicitação ou consulta que serve como entrada para o agente processar e agir.
Com base na solicitação, o agente Amazon Bedrock verifica o esquema da OpenAPI para identificar a API correta a ser segmentada. Se o agente do Amazon Bedrock encontrar a chamada de API correta, a solicitação vai para o grupo de ação associado à função Lambda que implementa essas ações.
Se uma API relevante não for encontrada, o agente Amazon Bedrock consulta a OpenSearch coleção. A OpenSearch coleção usa conteúdo indexado da base de conhecimento proveniente do bucket Amazon S3 que contém o Guia do usuário do Amazon EKS.
A OpenSearch coleção retorna informações contextuais relevantes para o agente Amazon Bedrock.
Para solicitações acionáveis (aquelas que correspondem a uma operação de API), o agente Amazon Bedrock é executado em uma nuvem privada virtual (VPC) e aciona a função Lambda.
A função Lambda executa uma ação baseada na entrada do usuário dentro do cluster Amazon EKS.
O bucket do Amazon S3 para o código Lambda armazena o artefato que tem o código e a lógica escritos para a função Lambda.
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 CloudFormationajuda você a configurar AWS recursos, provisioná-los de forma rápida e consistente e gerenciá-los durante todo o ciclo de vida em Contas da AWS e. Regiões da AWS
O Amazon Elastic Kubernetes Service (Amazon EKS) ajuda você a executar o AWS Kubernetes sem precisar instalar ou manter seu próprio plano de controle ou nós do Kubernetes.
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 Service é um serviço gerenciado que ajuda você a implantar, operar e escalar OpenSearch clusters no Nuvem AWS. Seu recurso de coleções ajuda você a organizar seus dados e criar bases de conhecimento abrangentes que assistentes de IA, como agentes do Amazon Bedrock, podem usar.
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.
Outras ferramentas
O eksctl é utilitário de linha de comando para criar e gerenciar clusters do Kubernetes no Amazon EKS.
Repositório de código
O código desse padrão está disponível no repositório GitHub eks-access-controls-bedrock-agent
Práticas recomendadas
Mantenha a maior segurança possível ao implementar esse padrão. Certifique-se de que o cluster Amazon EKS seja privado, tenha permissões de acesso limitadas e que todos os recursos estejam dentro de uma nuvem privada virtual (VPC). Para obter informações adicionais, consulte Melhores práticas de segurança na documentação do Amazon EKS.
Use chaves gerenciadas pelo AWS KMS cliente sempre que possível e conceda permissões de acesso limitadas a elas.
Siga o princípio do privilégio mínimo e conceda as permissões mínimas necessárias para realizar uma tarefa. Para obter mais informações, consulte Concessão de privilégio mínimo e Práticas recomendadas de segurança na documentação do IAM.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Clonar o repositório. | Para clonar o repositório desse padrão, execute o seguinte comando na sua estação de trabalho local:
| AWS DevOps |
Obtenha o Conta da AWS ID. | Para obter o Conta da AWS ID, use as seguintes etapas:
Esse comando armazena seu Conta da AWS ID na | AWS DevOps |
Crie o bucket S3 para o código Lambda. | Para implementar essa solução, você deve criar três buckets do Amazon S3 que atendam a propósitos diferentes, conforme mostrado no diagrama de arquitetura. Os buckets do S3 são para código Lambda, uma base de conhecimento e um esquema OpenAPI. Para criar o bucket de código Lambda, use as seguintes etapas:
O comando package cria um novo CloudFormation modelo (
| AWS DevOps |
Crie o bucket S3 para a base de conhecimento. | Para criar o bucket do Amazon S3 para a base de conhecimento, use as seguintes etapas:
| AWS DevOps |
Crie o bucket do S3 para o esquema OpenAPI. | Para criar o bucket do Amazon S3 para o esquema OpenAPI, use as seguintes etapas:
| AWS DevOps |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Implante a CloudFormation pilha. | Para implantar a CloudFormation pilha, use o arquivo CloudFormation de modelo notaO provisionamento do OpenSearch índice com o CloudFormation modelo leva cerca de 10 minutos. Depois que a pilha for criada, anote o | AWS DevOps |
Crie o cluster do Amazon EKS. | Para criar o cluster Amazon EKS dentro da VPC, use as seguintes etapas:
Os resultados esperados são os seguintes:
| AWS DevOps |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie uma conexão entre o cluster Amazon EKS e a função Lambda. | Para configurar permissões de rede e IAM para permitir que a função Lambda se comunique com o cluster Amazon EKS, use as seguintes etapas:
| AWS DevOps |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Teste o agente Amazon Bedrock. | Antes de testar o agente Amazon Bedrock, certifique-se de fazer o seguinte:
Para acessar o agente Amazon Bedrock, use as seguintes etapas:
Você também pode solicitar que o agente execute ações para associações do EKS Pod Identity. Para obter mais detalhes, consulte Saiba como o EKS Pod Identity concede acesso aos pods Serviços da AWS na documentação do Amazon EKS. | AWS DevOps |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Limpar os recursos | Para limpar os recursos que esse padrão criou, use o procedimento a seguir. Aguarde a conclusão de cada etapa de exclusão antes de prosseguir para a próxima etapa. AtençãoEsse procedimento excluirá permanentemente todos os recursos criados por essas pilhas. Certifique-se de ter feito backup de todos os dados importantes antes de continuar.
| AWS DevOps |
Solução de problemas
Problema | Solução |
---|---|
Um código de erro diferente de zero é retornado durante a configuração do ambiente. | Verifique se você está usando a pasta correta ao executar qualquer comando para implantar essa solução. Para obter mais informações, consulte o arquivo FIRST_DEPLOY.md |
A função Lambda não é capaz de realizar a tarefa. | Certifique-se de que a conectividade esteja configurada corretamente da função Lambda para o cluster Amazon EKS. |
As solicitações do agente não reconhecem o. APIs | Reimplante a solução. Para obter mais informações, consulte o arquivo RE_DEPLOY.md |
A pilha não é excluída. | Uma tentativa inicial de excluir a pilha pode falhar. Essa falha pode ocorrer devido a problemas de dependência com o recurso personalizado que foi criado para a OpenSearch coleção que faz a indexação da base de conhecimento. Para excluir a pilha, tente novamente a operação de exclusão mantendo o recurso personalizado. |
Recursos relacionados
AWS Blog
Documentação do Amazon Bedrock
Documentação do Amazon EKS