Imponha a marcação dos clusters do Amazon EMR no lançamento - 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á.

Imponha a marcação dos clusters do Amazon EMR no lançamento

Criado por Priyanka Chaudhary (AWS)

Ambiente: produção

Tecnologias: análise; segurança, identidade, conformidade

Serviços da AWS: Amazon EMR; AWS Lambda; Amazon Events CloudWatch

Resumo

Esse padrão fornece um controle de segurança que garante que os clusters do Amazon EMR sejam marcados quando são criados. 

O Amazon EMR é um serviço da Amazon Web Services (AWS) para processar e analisar grandes quantidades de dados. O Amazon EMR oferece um serviço expansível e de baixa configuração como uma alternativa mais fácil à execução da computação em cluster interna. Você pode usar tags para categorizar os recursos da AWS de diferentes formas, como por finalidade, proprietário ou ambiente. Por exemplo, você pode marcar seus clusters do Amazon EMR atribuindo metadados personalizados a cada cluster. Uma tag consiste em uma chave e um valor que você define. Recomendamos criar um conjunto consistente de tags para atender às necessidades da sua organização. Ao adicionar uma tag a um cluster do Amazon EMR, essa tag também é propagada para cada instância do Amazon Elastic Compute Cloud (Amazon EC2) ativa associada ao cluster. Da mesma forma, quando você remove uma tag de um cluster do Amazon EMR, ela é removida de cada instância do Amazon EC2 ativa associada.

O controle de detetive monitora as chamadas de API e inicia um evento Amazon CloudWatch Events para as APIs RunJobFlowAddTags, RemoveTags, e CreateTags. O evento chama de AWS Lambda, que executa um script do Python. A função Python obtém o ID do cluster do Amazon EMR da entrada JSON do evento e executa as seguintes verificações:

  • Verifique se o cluster do Amazon EMR está configurado com nomes de tag que você especifica.

  • Caso contrário, envie uma notificação do Amazon Simple Notification Service (Amazon SNS) ao usuário com as informações relevantes: nome do cluster do Amazon EMR, detalhes da violação, região da AWS, conta da AWS e o nome do recurso da Amazon (ARN) do Lambda, de onde essa notificação foi originada.

Pré-requisitos e limitações

Pré-requisitos

  • Uma conta AWS ativa

  • Um bucket do Amazon Simple Storage Service (Amazon S3) para carregar o código do Lambda fornecido. Ou você pode criar um bucket do S3 para essa finalidade, conforme descrito na seção Épicos .

  • Um endereço de e-mail ativo no qual você deseja receber notificações de violação.

  • Uma lista de tags obrigatórias que você deseja verificar.

Limitações

  • Esse controle de segurança é regional. Você deve implantá-lo em cada região da AWS que você deseja monitorar.

Versões do produto

  • Versão 4.8.0 e posterior do Amazon EMR.

Arquitetura

Arquitetura de fluxo de trabalho 

Automação e escala

Ferramentas

Serviços da AWS

  • AWS CloudFormation — CloudFormation A AWS ajuda você a modelar e configurar seus recursos da AWS, provisioná-los de forma rápida e consistente e gerenciá-los durante todo o ciclo de vida. Você pode usar um modelo para descrever seus recursos e suas dependências, além de iniciá-los e configurá-los juntos como uma pilha, em vez de gerenciar recursos individualmente. Você pode gerenciar e provisionar pilhas em várias contas e regiões da AWS.

  • Amazon CloudWatch Events — A Amazon CloudWatch Events fornece um fluxo quase em tempo real de eventos do sistema que descrevem mudanças nos recursos da AWS.

  • Amazon EMR – O Amazon EMR é um serviço web que simplifica a execução de estruturas de big data e o processamento eficiente de grandes quantidades de dados.

  • AWS Lambda – O AWS Lambda é um serviço de computação que permite a execução do código sem provisionar ou gerenciar servidores. O Lambda executa o código somente quando necessário e dimensiona automaticamente, desde algumas solicitações por dia até milhares por segundo. 

  • Amazon S3 – O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos. Você pode utilizar o Amazon S3 para armazenar e recuperar qualquer volume de dados, a qualquer momento, de qualquer lugar na web.

  • Amazon SNS – O Amazon Simple Notification Service (Amazon SNS) é um serviço da Web que coordena e gerencia a entrega ou o envio de mensagens entre editores e clientes, incluindo servidores da Web e endereços de e-mail. Os assinantes recebem todas as mensagens publicadas nos tópicos para os quais eles se inscrevem, e todos os assinantes em um tópico recebem as mesmas mensagens.

Código

Esse padrão inclui os seguintes anexos:

  • EMRTagValidation.zip – O código Lambda para o controle de segurança.

  • EMRTagValidation.yml— O CloudFormation modelo que configura o evento e a função Lambda.

Épicos

TarefaDescriçãoHabilidades necessárias

Defina o bucket do S3.

No console do Amazon S3, escolha ou crie um bucket do S3 para hospedar o arquivo.zip do código Lambda. O bucket do S3 deve estar na mesma região da AWS que o cluster do Amazon EMR que você deseja monitorar. Um nome de bucket do Amazon S3 é globalmente exclusivo, e o namespace é compartilhado por todas as contas da AWS. O nome do bucket do S3 não pode incluir barras iniciais.

Arquiteto de nuvem

Faça o upload do código do Lambda.

Faça upload do arquivo.zip do código Lambda fornecido na seção Anexos  no bucket do S3.                                              

Arquiteto de nuvem
TarefaDescriçãoHabilidades necessárias

Inicie o CloudFormation modelo da AWS.

Abra o CloudFormation console da AWS na mesma região da AWS do seu bucket do S3 e implante o modelo. Para obter mais informações sobre a implantação de CloudFormation modelos da AWS, consulte Como criar uma pilha no CloudFormation console da AWS na CloudFormation documentação.

Arquiteto de nuvem

Preencha os parâmetros no modelo.

Ao iniciar o modelo, você será solicitado a fornecer as seguintes informações:

  • Bucket S3: especifique o bucket que você criou ou selecionou no primeiro epic. É onde que você fez o upload do código do Lambda anexado (arquivo .zip).

  • Chave do S3: especifique a localização do arquivo .zip do Lambda em seu bucket do S3 (por exemplo, nome do arquivo.zip ou controls/filename.zip). Não inclua barras iniciais.

  • E-mail de notificação: Forneça um endereço de e-mail ativo para receber notificações do Amazon SNS.  

  • Marcação de nomes de chaves: forneça as tags que você deseja verificar em uma lista separada por vírgulas (por exemplo, ApplicationID, Environment, Owner). O evento CloudWatch Events monitora o cluster em busca dessas tags e envia uma notificação se elas não forem encontradas.

  • Nível de registro do Lambda: especifique o nível de registro e a frequência da função do Lambda. Use Informações para registrar em log mensagens informativas detalhadas sobre o progresso, Erro para eventos de erro que ainda permitiriam a continuidade da implantação e Aviso sobre situações potencialmente prejudiciais.                                        

Arquiteto de nuvem
TarefaDescriçãoHabilidades necessárias

Confirmar a assinatura.

Quando o CloudFormation modelo é implantado com sucesso, ele envia um e-mail de assinatura para o endereço de e-mail que você forneceu. Você deve confirmar essa assinatura de e-mail para começar a receber notificações de violação.

Arquiteto de nuvem

Recursos relacionados

Anexos

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: attachment.zip