Opção 2, parte 2: configurar definições de proxy para visualizar sites hospedados no nó primário - Amazon EMR

Opção 2, parte 2: configurar definições de proxy para visualizar sites hospedados no nó primário

Se você usar um túnel SSH com o encaminhamento de portas dinâmicas, deverá usar um complemento de gerenciamento de proxy SOCKS para controlar as configurações de proxy no seu navegador. Usar uma ferramenta de gerenciamento de proxy SOCKS permite filtrar URLs automaticamente com base em padrões de texto e limitar as configurações de proxy para domínios que correspondam ao formato do nome DNS do nó primário. O complemento do navegador manipula automaticamente a ativação e desativação do proxy quando você alterna entre visualizar sites hospedados no nó primário e aqueles na Internet. Para gerenciar suas configurações de proxy, configure seu navegador para usar um complemento como o FoxyProxy ou o SwitchyOmega.

Para obter mais informações sobre como criar um túnel SSH, consulte Opção 2, parte 1: configurar um túnel SSH para o nó primário usando o encaminhamento de portas dinâmicas. Para obter mais informações sobre as interfaces Web disponíveis, consulte Visualizar interfaces Web hospedadas em clusters do Amazon EMR.

Inclua as seguintes configurações ao definir o complemento de proxy:

  • Use localhost como endereço do host.

  • Use o mesmo número de porta local que você selecionou para estabelecer o túnel SSH com o nó primário em Opção 2, parte 1: configurar um túnel SSH para o nó primário usando o encaminhamento de portas dinâmicas. Por exemplo, porta 8157. Essa porta também deve corresponder ao número de porta que você usa no PuTTY ou em qualquer outro emulador de terminal usado para conexão.

  • Especifique o protocolo SOCKS v5. Com o SOCKS v5, opcionalmente, você pode configurar a autorização do usuário.

  • URL Patterns (Padrões de URL)

    Os seguintes padrões de URL devem ser allow-listed e estão especificados com um tipo de padrão de curinga:

    • Os padrões *ec2*.*compute*.amazonaws.com* e *10*.amazonaws.com* para corresponder ao nome DNS público dos clusters nas regiões dos EUA.

    • Os padrões *ec2*.compute* e *10*.compute* correspondem ao nome DNS público dos clusters de todas as outras regiões.

    • O padrão 10.* para fornecer acesso aos arquivos de log do JobTracker no Hadoop. Altere esse filtro se ele entrar em conflito com seu plano de acesso de rede.

    • Os padrões *.ec2.internal* e *.compute.internal* correspondem aos nomes DNS privados (internos) dos clusters na região us-east-1 e em todas as outras regiões, respectivamente.

Exemplo: Configurar o FoxyProxy para Firefox

O exemplo a seguir demonstra uma configuração FoxyProxy Standard (versão 7.5.1) para o Mozilla Firefox.

O FoxyProxy fornece um conjunto de ferramentas de gerenciamento de proxy. Com ele, você pode usar um servidor proxy para URLs que correspondam aos padrões referentes aos domínios usados pelas instâncias do Amazon EC2 no cluster do Amazon EMR.

Instalar e configurar o FoxyProxy usando o Mozilla Firefox
  1. No Firefox, acesse https://addons.mozilla.org/, pesquise FoxyProxy Standard e siga as instruções para adicionar o FoxyProxy ao Firefox.

  2. Usando um editor de texto, crie um arquivo JSON chamado foxyproxy-settings.json com base no exemplo de configuração a seguir.

    { "k20d21508277536715": { "active": true, "address": "localhost", "port": 8157, "username": "", "password": "", "type": 3, "proxyDNS": true, "title": "emr-socks-proxy", "color": "#0055E5", "index": 9007199254740991, "whitePatterns": [ { "title": "*ec2*.*compute*.amazonaws.com*", "active": true, "pattern": "*ec2*.*compute*.amazonaws.com*", "importedPattern": "*ec2*.*compute*.amazonaws.com*", "type": 1, "protocols": 1 }, { "title": "*ec2*.compute*", "active": true, "pattern": "*ec2*.compute*", "importedPattern": "*ec2*.compute*", "type": 1, "protocols": 1 }, { "title": "10.*", "active": true, "pattern": "10.*", "importedPattern": "http://10.*", "type": 1, "protocols": 2 }, { "title": "*10*.amazonaws.com*", "active": true, "pattern": "*10*.amazonaws.com*", "importedPattern": "*10*.amazonaws.com*", "type": 1, "protocols": 1 }, { "title": "*10*.compute*", "active": true, "pattern": "*10*.compute*", "importedPattern": "*10*.compute*", "type": 1, "protocols": 1 }, { "title": "*.compute.internal*", "active": true, "pattern": "*.compute.internal*", "importedPattern": "*.compute.internal*", "type": 1, "protocols": 1 }, { "title": "*.ec2.internal* ", "active": true, "pattern": "*.ec2.internal*", "importedPattern": "*.ec2.internal*", "type": 1, "protocols": 1 } ], "blackPatterns": [] }, "logging": { "size": 100, "active": false }, "mode": "patterns", "browserVersion": "68.12.0", "foxyProxyVersion": "7.5.1", "foxyProxyEdition": "standard" }
  3. Abra a página Gerenciamento de extensões do Firefox (acesse about:addons e escolha Extensões).

  4. Escolha FoxyProxy Standard e escolha o botão de mais opções (o botão que parece reticências).

  5. Selecione Opções no menu suspenso.

  6. Escolha Importar configurações no menu esquerdo.

  7. Na página Importar configurações, escolha Importar configurações em Importar configurações do FoxyProxy 6.0+, navegue até o local do arquivo foxyproxy-settings.json que você criou, selecione o arquivo e escolha Abrir.

  8. Escolha OK quando solicitado para substituir as configurações atuais e salvar a nova configuração.

Exemplo: configurar o SwitchyOmega para o Chrome

O exemplo a seguir mostra como configurar a extensão SwitchyOmega para o Google Chrome. Com o SwitchyOmega, você pode configurar, gerenciar e alternar vários proxies.

Instalar e configurar o SwitchyOmega usando o Google Chrome
  1. Acesse https://chrome.google.com/webstore/category/extensions, pesquise por Proxy SwitchyOmega e adicione ao Chrome.

  2. Escolha Novo perfil e insira emr-socks-proxy como nome do perfil.

  3. Escolha Perfil PAC e Criar. Os arquivos de configuração automática de proxy (PAC) ajudam a definir uma lista de permissões para solicitações do navegador que devem ser encaminhadas a um servidor proxy da Web.

  4. No campo Script PAC, substitua o conteúdo pelo script a seguir, que define quais URLs deverão ser encaminhadas pelo servidor proxy da Web. Se você especificou outro número de porta ao configurar o túnel SSH, substitua 8157 pelo número da porta.

    function FindProxyForURL(url, host) { if (shExpMatch(url, "*ec2*.*compute*.amazonaws.com*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "*ec2*.compute*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "http://10.*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "*10*.compute*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "*10*.amazonaws.com*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "*.compute.internal*")) return 'SOCKS5 localhost:8157'; if (shExpMatch(url, "*ec2.internal*")) return 'SOCKS5 localhost:8157'; return 'DIRECT'; }
  5. Em Ações, escolha Aplicar alterações para salvar as configurações de proxy.

  6. Na barra de ferramentas do Chrome, escolha SwitchyOmega e selecione o perfil emr-socks-proxy.

Acessar uma interface da Web no navegador

Para abrir uma interface Web, insira o nome DNS público do seu nó primário ou central seguido pelo número da porta da interface escolhida na barra de endereço do navegador. O exemplo a seguir mostra o URL que você digitaria para se conectar ao Spark HistoryServer.

http://master-public-dns-name:18080/

Para obter instruções sobre como recuperar o nome DNS público de um nó, consulte Recuperar o nome DNS público do nó primário. Para obter uma lista completa dos URLs de interface da Web, consulte Visualizar interfaces Web hospedadas em clusters do Amazon EMR.