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á.
Garanta que o registro do Amazon EMR no Amazon S3 esteja habilitado no lançamento
Ambiente: produção | Tecnologias: segurança, identidade, conformidade; tecnologia sem servidor; análise | Workload: código aberto |
Serviços da AWS: Amazon EMR; Amazon S3; Amazon SNS; Amazon CloudWatch |
Resumo
Esse padrão fornece um controle de segurança que monitora a configuração de log para clusters do Amazon EMR executados na Amazon Web Services (AWS).
O Amazon EMR é uma ferramenta da AWS para processamento e análise de big data. O Amazon EMR oferece o serviço expansível de baixa configuração como alternativa à execução da computação em cluster interna. O Amazon EMR fornece dois tipos de clusters EMR.
Clusters transitórios do Amazon EMR: os clusters transitórios do Amazon EMR são desligados automaticamente e param de incorrer em custos quando o processamento é concluído.
Clusters persistentes do Amazon EMR: os clusters persistentes do Amazon EMR continuam em execução após a conclusão do trabalho de processamento de dados.
Tanto o Amazon EMR como o Hadoop produzem arquivos de log que informam o status no cluster. Por padrão, esses dados são gravados no nó principal, no diretório /mnt/var/log/. Dependendo de como você configura o cluster ao iniciá-lo, também poderá salvar esses logs no Amazon Simple Storage Service (Amazon S3) e visualizá-los por meio da ferramenta de depuração gráfica. Observe que o registro em log do Amazon S3 só pode ser especificado quando o cluster é iniciado. Com essa configuração, os registros são enviados do nó primário para o local do Amazon S3 a cada cinco minutos. Para clusters transitórios, o registro no Amazon S3 é importante porque os clusters desaparecem quando o processamento é concluído, e esses arquivos de log podem ser usados para depurar qualquer trabalho com falha.
O padrão usa um CloudFormation modelo da AWS para implantar um controle de segurança que monitora as chamadas de API e inicia o Amazon CloudWatch Events em “RunJobFlow”. O gatilho invoca o AWS Lambda, que executa um script do Python. A função do Lambda recupera o ID do cluster EMR da entrada JSON do evento e também verifica se há um URI de log do Amazon S3. Se um URI do Amazon S3 não for encontrado, a função do Lambda enviará uma notificação do Amazon Simple Notification Service (Amazon SNS) detalhando o nome do cluster do EMR, os detalhes da violação, a região da AWS, a conta da AWS e o nome do recurso da Amazon (ARN) do Lambda do qual a notificação foi originada.
Pré-requisitos e limitações
Pré-requisitos
Uma conta AWS ativa
Um bucket S3 para o arquivo .zip do código Lambda
Um endereço de e-mail no qual você deseja receber a notificação de violação
Limitações
Esse controle de detetive é regional e deve ser implantado nas regiões da AWS que você pretende monitorar.
Versões do produto
Versão 4.8.0 e posterior do Amazon EMR
Arquitetura
Pilha de tecnologias de destino
Evento Amazon CloudWatch Events
Amazon EMR
Função do Lambda
Bucket do S3
Amazon SNS
Arquitetura de destino
![](images/pattern-img/079af32e-0418-4bb2-bc20-c67ea5ac3b6e/images/3ba125cb-018a-4ace-838f-8c20992ecc20.png)
Automação e escala
Se você estiver usando o AWS Organizations, poderá usar CloudFormation StackSets a AWS para implantar esse modelo em várias contas que você deseja monitorar.
Ferramentas
Ferramentas
AWS CloudFormation — CloudFormation A AWS ajuda você a modelar e configurar recursos da AWS usando a infraestrutura como código.
Eventos do AWS Cloudwatch — O AWS 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 é uma plataforma de cluster gerenciada que simplifica a execução de frameworks de Big Data.
AWS Lambda
– o AWS Lambda oferece suporte à execução de 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 S3 é uma interface de serviços da web que você pode usar para armazenar e recuperar qualquer quantidade de dados, a qualquer momento, em qualquer lugar da web.
Amazon SNS – O 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.
Código
Um arquivo.zip do projeto está disponível como anexo.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Definir o bucket do S3. | Para hospedar o arquivo .zip do código Lambda, selecione ou crie um bucket do S3 com um nome exclusivo que não contenha barras iniciais. Um nome de bucket do S3 é globalmente exclusivo, e o namespace é compartilhado por todas as contas da AWS. Seu bucket do S3 precisa estar na mesma região da AWS do cluster do Amazon EMR que está sendo avaliado. | Arquiteto de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Carregar o código do Lambda para o bucket do S3. | Faça upload do arquivo.zip do código Lambda fornecido na seção “Anexos” para o bucket do S3. O bucket do S3 deve estar na mesma região da que o cluster do Amazon EMR que está sendo avaliado. | Arquiteto de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Implante o CloudFormation modelo da AWS. | No CloudFormation console da AWS, na mesma região do seu bucket do S3, implante o CloudFormation modelo da AWS que é fornecido como anexo a esse padrão. No próximo épico, forneça os valores para os parâmetros. Para obter mais informações sobre a implantação de CloudFormation modelos da AWS, consulte a seção “Recursos relacionados”. | Arquiteto de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Nomeie o bucket do S3. | Insira o nome do bucket do S3 que você criou no primeiro épico. | Arquiteto de nuvem |
Forneça a chave do Amazon S3. | Forneça o local do arquivo .zip do código Lambda em seu bucket do S3, sem barras iniciais (por exemplo, <diretório>/<nome do arquivo>.zip). | Arquiteto de nuvem |
Forneça um endereço de e-mail. | Forneça um endereço de e-mail ativo para receber notificações do Amazon SNS. | Arquiteto de nuvem |
Defina o nível de registro em log. | Defina o nível de registro e a frequência da sua função do Lambda. “Info” (Informações) designa mensagens informativas detalhadas sobre o progresso do aplicativo. “Error” (Erro) designa eventos de erro que ainda podem permitir que o aplicativo continue em execução. “Warning” (Aviso) designa situações potencialmente prejudiciais. | Arquiteto de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Confirmar a assinatura. | Quando o modelo é implantado com sucesso, ele envia uma mensagem de e-mail de assinatura para o endereço de e-mail fornecido. Você deve confirmar esta assinatura de e-mail para receber notificações de violação. | Arquiteto de nuvem |
Recursos relacionados
Implantação de modelos da AWS CloudFormation
Anexos
Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: attachment.zip