Opções da Amazon VPC - Amazon EMR

Opções da Amazon VPC

Ao executar um cluster do Amazon EMR em uma VPC, é possível executá-lo em uma sub-rede pública, privada ou compartilhada. Existem pequenas diferenças, porém significativas, na configuração, dependendo do tipo de sub-rede escolhido para um cluster.

Sub-redes públicas

Os clusters do EMR em uma sub-rede pública exigem um gateway da Internet conectado. Isso ocorre porque os clusters do Amazon EMR devem acessar os serviços da AWS e o Amazon EMR. Se um serviço, como o Amazon S3, oferecer a capacidade de criar um endpoint da VPC, você poderá acessar esses serviços usando o endpoint em vez de acessar um endpoint público por meio de um gateway da Internet. Além disso, o Amazon EMR não pode se comunicar com clusters em sub-redes públicas por meio de um dispositivo de conversão de endereços de rede (NAT). É necessário um gateway da Internet para essa finalidade, mas você ainda pode usar uma instância NAT ou um gateway para outros tipos de tráfego em cenários mais complexos.

Todas as instâncias em um cluster se conectam ao Amazon S3 por meio de um endpoint da VPC ou de um gateway da Internet. Outros serviços da AWS que atualmente não dão suporte a endpoints da VPC usam apenas um gateway da Internet.

Caso tenha outros recursos da AWS que não deseja conectar ao gateway da Internet, você poderá executar esses componentes em uma sub-rede privada criada em sua VPC.

Clusters em execução em uma sub-rede pública usam dois grupos de segurança: um para o nó primário e outro para os nós centrais e de tarefa. Para obter mais informações, consulte Controle do tráfego de rede com grupos de segurança.

O diagrama a seguir mostra como um cluster do Amazon EMR é executado em uma VPC usando uma sub-rede pública. O cluster é capaz de se conectar a outros recursos da AWS, como buckets do Amazon S3, pelo gateway da Internet.


							Cluster em uma VPC

O diagrama a seguir mostra como configurar uma VPC para que um cluster na VPC possa acessar recursos em sua própria rede, como um banco de dados Oracle.


							Configurar uma VPC e um cluster para acessar recursos de VPN locais

Sub-redes privadas

Uma sub-rede privada permite iniciar recursos da AWS sem exigir que a sub-rede tenha um gateway da Internet anexado. O Amazon EMR oferece suporte à inicialização de clusters em sub-redes privadas nas versões 4.2.0 ou posteriores.

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.

As sub-redes privadas diferem das sub-redes do seguinte modo:

  • Para acessar serviços da AWS que não fornecem um endpoint da VPC, você ainda deve usar uma instância NAT ou um gateway da Internet.

  • Você deve fornecer pelo menos uma rota para o bucket de logs de serviço do Amazon EMR e o repositório do Amazon Linux no Amazon S3. Para obter mais informações, consulte Política mínima do Amazon S3 para uma sub-rede privada.

  • Se você usa atributos do EMRFS, precisa ter um endpoint da VPC do Amazon S3 e uma rota da sua sub-rede privada para o DynamoDB.

  • A depuração só funcionará se você fornecer uma rota da sua sub-rede privada para um endpoint do Amazon SQS público.

  • A criação de uma configuração de sub-rede privada com uma instância NAT ou um gateway em uma sub-rede pública apenas tem suporte usando o AWS Management Console. A maneira mais fácil de adicionar e configurar instâncias do NAT e endpoints da VPC do Amazon S3 para clusters do Amazon EMR é usar a página Lista de sub-redes da VPC no console do Amazon EMR. Para configurar gateways NAT, consulte Gateways NAT no Guia do usuário da Amazon VPC.

  • Não é possível alterar uma sub-rede com um cluster do Amazon EMR existente de pública para privada, ou vice-versa. Para localizar um cluster do Amazon EMR dentro de uma sub-rede privada, o cluster deve ser iniciado nessa sub-rede privada.

O Amazon EMR cria e usa grupos de segurança padrão diferentes para os clusters em uma sub-rede privada: ElasticMapReduce-Master-Private, ElasticMapReduce-Slave-Private e ElasticMapReduce-ServiceAccess. Para obter mais informações, consulte Controle do tráfego de rede com grupos de segurança.

Para obter uma listagem completa de NACLs do cluster, escolha Grupos de segurança para principais e Grupos de segurança para centrais e de tarefa na página Detalhes do cluster do console do Amazon EMR.

A imagem a seguir mostra como um cluster do Amazon EMR está configurado dentro de uma sub-rede privada. A única comunicação fora da sub-rede é com o Amazon EMR.


							Executar um cluster do Amazon EMR em uma sub-rede privada

A imagem a seguir mostra uma configuração de exemplo para um cluster do Amazon EMR em uma sub-rede privada conectada a uma instância NAT que reside em uma sub-rede pública.


							Sub-rede privada com NAT

Sub-redes compartilhadas

O compartilhamento da VPC permite que os clientes compartilhem sub-redes com outras contas da AWS dentro da mesma organização da AWS. É possível executar clusters do Amazon EMR nas sub-redes compartilhadas públicas e privadas, com as advertências a seguir.

O proprietário da sub-rede deve compartilhar uma sub-rede com você para que você possa executar um cluster do Amazon EMR nela. No entanto, as sub-redes compartilhadas podem deixar de ser compartilhadas posteriormente. Para obter mais informações, consulte Trabalhar com VPCs compartilhadas. Quando um cluster é iniciado em uma sub-rede compartilhada e, então, essa sub-rede deixa de ser compartilhada, é possível observar comportamentos específicos com base no estado do cluster do Amazon EMR quando a sub-rede deixa de ser compartilhada.

  • A sub-rede deixa de ser compartilhada antes de o cluster ser executado com êxito. Se o proprietário para de compartilhar a Amazon VPC ou sub-rede enquanto o participante estiver executando um cluster, o cluster pode falhar ao iniciar ou ser parcialmente inicializado sem provisionar todas as instâncias solicitadas.

  • A sub-rede deixa de ser compartilhada depois de o cluster ser executado com êxito. Quando o proprietário para de compartilhar uma sub-rede ou Amazon VPC com o participante, os clusters do participante não poderão ser redimensionados para adicionar novas instâncias ou substituir instâncias com problemas de integridade.

Ao executar um cluster do Amazon EMR, são criados vários grupos de segurança. Em uma sub-rede compartilhada, o participante da sub-rede controla esses grupos de segurança. O proprietário da sub-rede pode visualizar esses grupos de segurança, mas não pode executar nenhuma ação neles. Se o proprietário da sub-rede deseja remover ou modificar o grupo de segurança, o participante que criou o grupo de segurança deve realizar a ação.

Controlar permissões da VPC com o IAM

Por padrão, todos os usuários podem ver todas as sub-redes da conta, e qualquer usuário pode iniciar um cluster em qualquer sub-rede.

Ao executar um cluster em uma VPC, você pode usar o AWS Identity and Access Management (IAM) para controlar o acesso aos clusters e restringir ações usando políticas, exatamente como faria com clusters executados no Amazon EC2 Classic. Para obter mais informações sobre o IAM, consulte o Guia do usuário do IAM.

Você também pode usar o IAM para controlar quem pode criar e administrar sub-redes. Por exemplo, você pode criar uma conta para administrar sub-redes e uma segunda conta que pode iniciar clusters, mas não poderá modificar as configurações da Amazon VPC. Para obter mais informações sobre a administração de políticas e ações no Amazon EC2 e na Amazon VPC, consulte Políticas do IAM no Amazon EC2 no Guia do usuário do Amazon EC2 para instâncias do Linux.