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á.
Melhore o desempenho operacional habilitando o Amazon DevOps Guru em várias regiões, contas e OUs da AWS com o AWS CDK
Criado pelo Dr. Rahul Sharad Gaikwad (AWS)
Repositório de código: exemplo de código do Amazon DevOps Guru | Ambiente: PoC ou piloto | Tecnologias: Gestão e governança CloudNative; DevOps; Operações; Segurança, identidade, conformidade; Sem servidor |
Serviços da AWS: Amazon API Gateway; AWS CDK; Amazon DevOps Guru; Amazon DynamoDB; AWS Organizations |
Resumo
Esse padrão demonstra as etapas para habilitar o serviço Amazon DevOps Guru em várias regiões, contas e unidades organizacionais (OUs) da Amazon Web Services (AWS) usando o AWS Cloud Development Kit (AWS CDK) em. TypeScript Você pode usar pilhas de CDK da AWS para implantar a AWS a CloudFormation StackSets partir da conta administrativa (primária) da AWS para habilitar o Amazon DevOps Guru em várias contas, em vez de fazer login em cada conta e ativar o DevOps Guru individualmente para cada conta.
O Amazon DevOps Guru fornece recursos de operações de inteligência artificial (AIOps) para ajudar você a melhorar a disponibilidade de seus aplicativos e resolver problemas operacionais com mais rapidez. DevOps O Guru reduz seu esforço manual aplicando recomendações baseadas em aprendizado de máquina (ML), sem exigir nenhum conhecimento de ML. DevOps O Guru analisa seus recursos e dados operacionais. Se detectar alguma anomalia, ele fornece métricas, eventos e recomendações para ajudar a resolver o problema.
Esse padrão descreve três opções de implantação para habilitar o Amazon DevOps Guru:
Para todos os recursos de pilha em várias contas e regiões
Para todos os recursos de pilha nas UOs
Para recursos de pilha específicos em várias contas e regiões
Pré-requisitos e limitações
Pré-requisitos
Uma conta AWS ativa
AWS Command Line Interface (AWS CLI), instalada e configurada. (Consulte Instalar, atualizar e desinstalar a AWS CLI na documentação da AWS CLI.)
AWS CDK Toolkit, instalado e configurado. (Consulte o AWS CDK Toolkit na documentação do AWS CDK.)
Node Package Manager (npm), instalado e configurado para o AWS CDK em. TypeScript (Consulte Como baixar e instalar o Node.js e o npm
na documentação do npm.) Python3 instalado e configurado, para executar um script Python para injetar tráfego no aplicativo de amostra com tecnologia sem servidor. (Consulte Configuração e uso do Python
na documentação do Python.) Pip, instalado e configurado para instalar a biblioteca de solicitações do Python. (Consulte as instruções de instalação do pip
no PyPl site.)
Versões do produto
AWS CDK Toolkit versão 1.107.0 ou superior
npm versão 7.9.0 ou superior
Node.js versão 15.3.0 ou superior
Arquitetura
Tecnologias
A arquitetura para esse padrão inclui os seguintes serviços:
Pilhas do AWS CDK
O padrão usa as seguintes pilhas do AWS CDK:
CdkStackSetAdminRole
: cria uma função de administrador do AWS Identity and Access Management (IAM) para estabelecer uma relação de confiança entre as contas de administrador e de destino.CdkStackSetExecRole
: cria um perfil do IAM para confiar na conta do administrador.CdkDevopsGuruStackMultiAccReg
— Ativa o DevOps Guru em várias regiões e contas da AWS para todas as pilhas e configura as notificações do Amazon Simple Notification Service (Amazon SNS).CdkDevopsGuruStackMultiAccRegSpecStacks
— Habilita o DevOps Guru em várias regiões e contas da AWS para pilhas específicas e configura notificações do Amazon SNS.CdkDevopsguruStackOrgUnit
— Ativa o DevOps Guru em todas as OUs e configura as notificações do Amazon SNS.CdkInfrastructureStack
: implanta amostras de componentes de aplicativos com tecnologia sem servidor, como API Gateway, Lambda e DynamoDB, na conta do administrador para demonstrar a injeção de falhas e a geração de insights.
Arquitetura de aplicativo de exemplo
O diagrama a seguir mostra a arquitetura de um aplicativo de exemplo com tecnologia sem servidor que foi implantado em várias contas e regiões. O padrão usa a conta do administrador para implantar todas as pilhas do AWS CDK. Ele também usa a conta de administrador como uma das contas de destino para configurar o DevOps Guru.
Quando o DevOps Guru está ativado, ele primeiro define o comportamento de cada recurso e, em seguida, ingere dados operacionais das métricas fornecidas. CloudWatch
Se ele detecta uma anomalia, ela a correlaciona com os eventos e gera uma CloudTrail visão.
O insight fornece uma sequência correlacionada de eventos junto com as recomendações prescritas para permitir que o operador identifique o recurso culpado.
O Amazon SNS envia mensagens de notificação para o operador.
![Um exemplo de aplicativo sem servidor que foi implantado em várias contas e regiões.](images/pattern-img/6075ca48-862a-4aa0-93c6-10bad8195a5c/images/beeb0992-aaa8-4f08-b983-685b6b8b8d5e.png)
Automação e escala
O GitHub repositório
Ferramentas
Serviços da AWS
AWS CDK — O AWS Cloud Development Kit (AWS CDK) ajuda você a definir sua infraestrutura de nuvem como código em uma das cinco linguagens de programação compatíveis: TypeScript,, JavaScript Python, Java e C#.
AWS CLI: a AWS Command Line Interface (AWS CLI) é uma ferramenta unificada que fornece uma interface de linha de comando consistente para interagir com os serviços e os recursos da AWS.
Código
O código-fonte desse padrão está disponível no GitHub repositório Amazon DevOps Guru CDK Samples
Importante: algumas das histórias desse padrão incluem exemplos de comandos do AWS CDK e da AWS CLI formatados para Unix, Linux e macOS. Para Windows, substitua o caractere de continuação Unix de barra invertida (\) no final de cada linha por um circunflexo (^).
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Configure perfis nomeados da AWS. | Configure seus perfis nomeados da AWS da seguinte forma para implantar pilhas em um ambiente de várias contas. Para a conta de administrador:
Para a conta de destino:
Para obter mais informações, consulte Uso de perfis nomeados na documentação da AWS CLI. | DevOps engenheiro |
Verifique as configurações do perfil da AWS. | (Opcional) Você pode verificar suas configurações de perfil da AWS nos arquivos | DevOps engenheiro |
Verifique a versão do AWS CDK. | Verifique a versão do AWS CDK Toolkit executando o seguinte comando:
Este padrão requer a versão 1.107.0 ou superior. Se você tiver uma versão anterior do AWS CDK, siga as instruções na documentação do AWS CDK para atualizá-la. | DevOps engenheiro |
Clone o código do projeto. | Clone o GitHub repositório desse padrão usando o comando:
| DevOps engenheiro |
Instale as dependências do pacote e compile os TypeScript arquivos. | Instale as dependências do pacote e compile os TypeScript arquivos executando os seguintes comandos:
Esses comandos instalam todos os pacotes do repositório de exemplo. Importante: se você receber algum erro sobre pacotes ausentes, use um dos comandos a seguir:
—ou—
Você pode encontrar a lista de nomes e versões de pacotes na seção | DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Configure um endereço de e-mail para notificações do Amazon SNS. | Siga estas etapas para fornecer um endereço de e-mail para notificações do Amazon SNS:
| DevOps engenheiro |
Crie o código do projeto. | Crie o código do projeto e sintetize as pilhas executando o comando:
Você deve ver saída semelhante a:
Para obter mais informações e etapas, consulte Seu primeiro aplicativo do AWS CDK na documentação do AWS CDK. | DevOps engenheiro |
Liste as pilhas do AWS CDK. | Execute o comando a seguir para listar todas as pilhas do AWS CDK:
O comando exibe a seguinte lista:
| DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Implante as pilhas do AWS CDK para criar perfis do IAM. | Esse padrão usa CloudFormation StackSets a AWS para realizar operações de pilha em várias contas. Se você estiver criando seu primeiro conjunto de pilhas, deverá criar os seguintes perfis do IAM para obter as permissões necessárias configuradas em suas contas da AWS:
Observação: os perfis devem ter esses nomes exatos.
Para obter mais informações, consulte Conceder permissões autogerenciadas na CloudFormation documentação da AWS. | DevOps engenheiro |
Implante a pilha de CDK da AWS para habilitar o DevOps Guru em várias contas. | A pilha
Atualmente, o Amazon DevOps Guru está disponível nas regiões da AWS listadas nas perguntas frequentes do DevOps Guru | DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Extraia IDs da UO. | No console do AWS Organizations | DevOps engenheiro |
Ative permissões gerenciadas pelo serviço para UOs. | Se você estiver usando o AWS Organizations para gerenciamento de contas, deverá conceder permissões gerenciadas por serviços para habilitar o DevOps Guru. Em vez de criar os perfis do IAM manualmente, use acesso confiável baseado na organização e perfis vinculados a serviços (SLRs). | DevOps engenheiro |
Implante a pilha de CDK da AWS para habilitar o DevOps Guru em todas as OUs. | A
| DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Implante as pilhas do AWS CDK para criar perfis do IAM. | Se você ainda não criou os perfis do IAM necessários mostrados na primeira opção, faça isso primeiro:
Para obter mais informações, consulte Conceder permissões autogerenciadas na CloudFormation documentação da AWS. | DevOps engenheiro |
Exclua as pilhas existentes. | Se você já usou a primeira opção para habilitar o DevOps Guru para todos os recursos da pilha, você pode excluir a pilha antiga usando o seguinte comando:
Ou você pode alterar o parâmetro | DevOps engenheiro |
Atualize a pilha do AWS CDK com uma lista de pilhas. |
| Engenheiro de dados |
Implante a pilha de CDK da AWS para habilitar o DevOps Guru a usar recursos de pilha específicos em várias contas. | A
Observação: se você implantou essa pilha anteriormente para a opção 1, altere o parâmetro | DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Implante a pilha de infraestrutura de amostra com tecnologia sem servidor. | O AWS CDK
| DevOps engenheiro |
Insira registros de amostra no DynamoDB. | Execute o comando a seguir para preencher a tabela do DynamoDB com registros de amostra. Forneça o caminho correto para o script
O comando exibe a seguinte saída:
| DevOps engenheiro |
Verifique os registros inseridos no DynamoDB. | Para verificar se a tabela do DynamoDB inclui os registros de amostra do arquivo
| DevOps engenheiro |
Aguarde até que os recursos concluam a linha de base. | Essa pilha com tecnologia sem servidor tem alguns recursos. Recomendamos que você espere 2 horas antes de realizar as próximas etapas. Se você implantou essa pilha em um ambiente de produção, pode levar até 24 horas para concluir a linha de base, dependendo do número de recursos selecionados para monitorar no Guru. DevOps | DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Atualize a pilha de infraestrutura do AWS CDK. | Para experimentar o DevOps Guru Insights, você pode fazer algumas alterações na configuração para reproduzir um problema operacional típico.
| DevOps engenheiro |
Injete solicitações de HTTP na API. | Injete tráfego de entrada na forma de solicitações de HTTP na API
| DevOps engenheiro |
Analise os insights do DevOps Guru. | Sob condições padrão, o painel do DevOps Guru exibe zero no contador de insights em andamento. Ao detectar uma anomalia, ele emite um alerta na forma de um insight. No painel de navegação, escolha Insights para ver os detalhes da anomalia, incluindo uma visão geral, métricas agregadas, eventos relevantes e recomendações. Para obter mais informações sobre a análise de insights, consulte a postagem do blog Como obter informações operacionais com AIOps usando o Amazon DevOps Guru | DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Limpe e exclua recursos. | Depois de percorrer esse padrão, você deve remover os recursos criados para evitar cobranças adicionais. Execute estes comandos:
| DevOps engenheiro |