Benefícios do uso do Amazon EMR - Amazon EMR

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á.

Benefícios do uso do Amazon EMR

Há muitos benefícios em usar o Amazon EMR. Esta seção fornece uma visão geral desses benefícios, além de links para informações adicionais para ajudá-lo a explorar ainda mais.

Redução de custos

Os preços do Amazon EMR dependem do tipo de instância e do número de instâncias do Amazon EC2 implantadas, bem como da região em que o seu cluster é iniciado. A definição de preço sob demanda oferece tarifas baixas, mas você pode reduzir os custos ainda mais comprando instâncias reservadas ou instâncias spot. As instâncias spot podem oferecer economias significativas. Em alguns casos, até um décimo dos preços sob demanda.

nota

Se você usar o Amazon S3, o Amazon Kinesis ou o DynamoDB com o cluster do EMR, haverá cobranças adicionais para os serviços faturados separadamente do uso do Amazon EMR.

nota

Ao configurar um cluster do Amazon EMR em uma sub-rede privada, recomendamos configurar também endpoints da VPC para o Amazon S3. Se o cluster do EMR estiver em uma sub-rede privada sem endpoints da VPC para o Amazon S3, você incorrerá em cobranças adicionais de gateway NAT associadas ao tráfego do S3, pois o tráfego entre o cluster do EMR e o S3 não permanecerá na VPC.

Para obter mais informações sobre as opções e os detalhes dos preços, consulte Preço do Amazon EMR.

AWS integração

O Amazon EMR se integra a outros AWS serviços para fornecer recursos e funcionalidades relacionados à rede, armazenamento, segurança, etc., para seu cluster. A lista a seguir fornece vários exemplos dessa integração:

  • Amazon EC2 para as instâncias que compõem os nós do cluster.

  • Amazon Virtual Private Cloud (Amazon VPC) para configurar a rede virtual na qual você inicia as instâncias.

  • Amazon S3 para armazenar dados de entrada e de saída.

  • Amazon CloudWatch monitorará o desempenho do cluster e configurará alarmes

  • AWS Identity and Access Management (IAM) para configurar permissões

  • AWS CloudTrail para auditar solicitações feitas ao serviço

  • AWS Data Pipeline para programar e iniciar seus clusters

  • AWS Lake Formation para descobrir, catalogar e proteger dados em um data lake do Amazon S3

Implantação

O cluster do EMR consiste de instâncias do EC2, que realizam o trabalho que você envia ao seu cluster. Ao executar o seu cluster, o Amazon EMR configura as instâncias com as aplicações que você escolher, como Apache Hadoop ou Spark. Escolha o tamanho de instância e o tipo que melhor se adequa às necessidades de processamento do seu cluster: processamento em lotes, consultas de baixa latência, dados de streaming ou armazenamento físico de dados grandes. Para obter mais informações sobre os tipos de instâncias disponíveis para o Amazon EMR, consulte Configurar o hardware e as redes do cluster.

O Amazon EMR oferece diversas maneiras de configurar softwares em seu cluster. Por exemplo, você pode instalar uma versão do Amazon EMR com um conjunto de aplicações escolhidas que pode incluir estruturas versáteis, como o Hadoop, e aplicações, como o Hive, o Pig ou o Spark. Também é possível instalar uma das diversas distribuições do MapR. O Amazon EMR usa o Amazon Linux, portanto, você também pode instalar softwares no cluster de forma manual ao usar o gerenciador de pacotes YUM ou a partir da origem. Para ter mais informações, consulte Configuração de software do cluster.

Escalabilidade e flexibilidade

O Amazon EMR oferece flexibilidade para aumentar ou reduzir a escala verticalmente do seu cluster conforme as necessidades de computação são alteradas. Você pode redimensionar seu cluster para adicionar instâncias para cargas de trabalho de pico e remover instâncias para controlar custos quando as cargas de pico diminuírem. Para ter mais informações, consulte Redimensionar manualmente um cluster em execução.

O Amazon EMR também oferece a opção de executar vários grupos de instâncias para que você possa usar instâncias sob demanda em um grupo para garantir a capacidade de processamento em conjunto com instâncias spot em outro grupo para concluir os trabalhos com mais rapidez e custos mais baixos. Você também pode combinar diferentes tipos de instâncias para tirar proveito dos melhores preços por um tipo de instância spot sobre o outro. Para ter mais informações, consulte Quando você deve usar instâncias spot?.

Além disso, o Amazon EMR oferece flexibilidade para usar vários sistemas de arquivos para dados de entrada, de saída e intermediários. Por exemplo, você pode escolher o Sistema de Arquivos Distribuído do Hadoop (HDFS), que é executado nos nós primários e centrais do cluster para o processamento de dados que não precisam ser armazenados além do ciclo de vida do cluster. Você pode escolher o Sistema de Arquivos do EMR (EMRFS) para usar o Amazon S3 como uma camada de dados para aplicações em execução no cluster, com a finalidade de separar a computação e o armazenamento, e manter os dados persistentes de forma externa ao ciclo de vida do cluster. O EMRFS fornece o benefício adicional de permitir que você aumente ou diminua a escalabilidade independentemente, de acordo com as suas necessidades de computação e armazenamento. Você pode escalar suas necessidades de computação ao redimensionar o cluster e escalar as necessidades de armazenamento ao usar o Amazon S3. Para ter mais informações, consulte Trabalhar com armazenamento e sistemas de arquivos.

Confiabilidade

O Amazon EMR monitora nós no cluster e encerra e substitui automaticamente uma instância em caso de falha.

O Amazon EMR oferece opções de configuração que controlam se o cluster será encerrado automática ou manualmente. Se você configurar o cluster para ser automaticamente encerrado, isso acontecerá após a conclusão de todas as etapas. Ele é conhecido como cluster transitório. No entanto, você pode configurar o cluster para continuar a ser executado após o processamento, para poder optar por terminá-lo manualmente quando não precisar mais dele. Outra opção é criar um cluster, interagir diretamente com os aplicativos instalados e então terminá-lo manualmente quando você não precisar mais dele. Os clusters nestes exemplos são chamados de clusters de longa execução.

Além disso, você pode configurar a proteção contra encerramento para impedir que instâncias do seu cluster sejam terminadas devido a erros ou problemas durante o processamento. Quando a proteção contra encerramento está habilitada, você pode recuperar dados de instâncias antes do encerramento. As configurações padrão para essas opções são diferentes dependendo de você executar o cluster usando o console, a CLI ou a API. Para ter mais informações, consulte Usar a proteção contra término.

Segurança

O Amazon EMR utiliza outros AWS serviços, como IAM e Amazon VPC, e recursos como pares de chaves do Amazon EC2, para ajudar você a proteger seus clusters e dados.

IAM

O Amazon EMR se integra ao IAM para gerenciar permissões. Você define permissões usando políticas do IAM, que você anexa a usuários ou grupos do IAM. As permissões que você definir na política determinam as ações que esses usuários ou membros do grupo podem realizar, bem como os recursos que eles podem acessar. Para ter mais informações, consulte Como o Amazon EMR funciona com o IAM.

Além disso, o Amazon EMR usa perfis do IAM para o próprio serviço do Amazon EMR e o perfil de instância do EC2 para as instâncias. Essas funções concedem permissões para que o serviço e as instâncias acessem outros AWS serviços em seu nome. Há um perfil padrão para o serviço do Amazon EMR e um perfil padrão para o perfil de instância do EC2. As funções padrão usam políticas AWS gerenciadas, que são criadas automaticamente para você na primeira vez que você inicia um cluster do EMR a partir do console e escolhe as permissões padrão. Você também pode criar os perfis do IAM padrão usando a AWS CLI. Se quiser gerenciar as permissões em vez de AWS, você pode escolher funções personalizadas para o perfil do serviço e da instância. Para ter mais informações, consulte Configurar perfis de serviço do IAM para permissões do Amazon EMR aos serviços e recursos da AWS.

Grupos de segurança

O Amazon EMR usa grupos de segurança para controlar o tráfego de entrada e de saída para as instâncias do EC2. Ao iniciar seu cluster, o Amazon EMR usa um grupo de segurança para a instância primária e um grupo de segurança para ser compartilhado pelas instâncias centrais e de tarefas. O Amazon EMR configura as regras do grupo de segurança para garantir a comunicação entre as instâncias do cluster. Como opção, é possível configurar grupos de segurança adicionais e atribuí-los às instâncias primárias, centrais e de tarefas para obter regras mais avançadas. Para ter mais informações, consulte Controle do tráfego de rede com grupos de segurança.

Criptografia

O Amazon EMR oferece suporte à opção de criptografia do lado do cliente e do servidor do Amazon S3 com EMRFS para ajudar a proteger os dados armazenados no Amazon S3. Com a criptografia do lado do servidor, o Amazon S3 criptografa seus dados após o upload.

Com a criptografia no lado do cliente, o processo de criptografia e descriptografia ocorre no cliente EMRFS, no seu cluster do EMR. Você gerencia a chave raiz para criptografia do lado do cliente usando o AWS Key Management Service (AWS KMS) ou seu próprio sistema de gerenciamento de chaves.

Para obter mais informações, consulte Specifying Amazon S3 encryption using EMRFS properties.

Amazon VPC

O Amazon EMR oferece suporte à execução de clusters em uma nuvem privada virtual (VPC) na Amazon VPC. Uma VPC é uma rede virtual isolada AWS que fornece a capacidade de controlar aspectos avançados da configuração e do acesso à rede. Para ter mais informações, consulte Configurar redes.

AWS CloudTrail

O Amazon EMR se integra CloudTrail para registrar informações sobre solicitações feitas por ou em nome de sua conta. AWS Com essas informações, você pode manter o controle de quem está acessando seu cluster, quando isso é feito e o endereço IP do qual a solicitação foi feita. Para ter mais informações, consulte Registro de chamadas de API do Amazon EMR AWS CloudTrail.

Pares de chaves do Amazon EC2

Você pode monitorar e interagir com o seu cluster ao criar uma conexão segura entre o computador remoto e o nó primário. Você usa o protocolo de rede Secure Shell (SSH) nesta conexão ou usar o Kerberos para autenticação. Se você usar o SSH, um par de chaves do Amazon EC2 será necessário. Para ter mais informações, consulte Usar um par de chaves do EC2 para credenciais SSH.

Monitoramento

Você pode usar as interfaces de gerenciamento e os arquivos de log do Amazon EMR para solucionar problemas de cluster, como falhas ou erros. O Amazon EMR oferece a capacidade de arquivar arquivos de log no Amazon S3 para que você possa armazenar logs e solucionar problemas mesmo após o encerramento do cluster. O Amazon EMR também fornece uma ferramenta de depuração opcional no console do Amazon EMR para navegar nos arquivos de log com base em etapas, trabalhos e tarefas. Para ter mais informações, consulte Configurar registro em log e depuração do cluster.

O Amazon EMR se integra CloudWatch para monitorar métricas de desempenho do cluster e dos trabalhos dentro do cluster. Você pode configurar alarmes com base em várias métricas, por exemplo, se o cluster está ocioso ou a porcentagem de armazenamento usado. Para ter mais informações, consulte Monitorando métricas do Amazon EMR com CloudWatch.

Interfaces de gerenciamento

Existem diversas maneiras de interagir com o Amazon EMR:

  • Console: uma interface gráfica do usuário que você pode usar para iniciar e gerenciar clusters. Com ela, você preenche formulários da Web para especificar os detalhes dos clusters a serem executados, visualizar os detalhes de clusters existentes, depurar e encerrar clusters. Usar o console é a maneira mais fácil de começar a usar o Amazon EMR e nenhum conhecimento de programação é necessário. O console está disponível on-line em https://console.aws.amazon.com/elasticmapreduce/home.

  • AWS Command Line Interface (AWS CLI) — Um aplicativo cliente que você executa em sua máquina local para se conectar ao Amazon EMR e criar e gerenciar clusters. O AWS CLI contém um conjunto rico em recursos de comandos específicos para o Amazon EMR. Com isso, você pode escrever scripts que automatizam o processo de execução e gerenciamento de clusters. Se você preferir trabalhar em uma linha de comando, usar o AWS CLI é a melhor opção. Para obter mais informações, consulte Amazon EMR em AWS CLI Command Reference.

  • Kit de desenvolvimento de software (SDK): os SDKs fornecem funções que chamam o Amazon EMR para criar e gerenciar clusters. Com eles, você pode escrever aplicativos que automatizam o processo de criação e gerenciamento de clusters. Usar o SDK é a melhor opção para ampliar ou personalizar a funcionalidade do Amazon EMR. No momento, o Amazon EMR está disponível nos seguintes SDKs: Go, Java, .NET (C# e VB.NET), Node.js, PHP, Python e Ruby. Para obter mais informações sobre esses SDKs, consulte Ferramentas para criar com a AWS e códigos de exemplo e bibliotecas do Amazon EMR.

  • API do serviço Web: uma interface de baixo nível que você pode usar para chamar o serviço Web diretamente, usando JSON. Usar a API é a melhor opção para criar um SDK personalizado que chame o Amazon EMR. Para obter mais informações, consulte a Referência da API do Amazon EMR.