Option 2, partie 2 : Configuration des paramètres de proxy pour afficher les sites Web hébergés sur le nœud primaire - Amazon EMR

Option 2, partie 2 : Configuration des paramètres de proxy pour afficher les sites Web hébergés sur le nœud primaire

Si vous utilisez un tunnel SSH avec réacheminement de port dynamique, vous devez utiliser un module complémentaire de gestion de proxy SOCKS pour contrôler les paramètres de proxy dans votre navigateur. À l'aide d'un outil de gestion de proxy SOCKS, vous pouvez filtrer automatiquement les URL en fonction de modèles de texte et limiter les paramètres de proxy aux domaines qui correspondent à la forme du nom de serveur DNS public du nœud primaire. Le module complémentaire du navigateur gère automatiquement l'activation et la désactivation du proxy lorsque vous basculez entre les sites Web hébergés sur le nœud primaire et ceux hébergés sur Internet. Pour gérer vos paramètres de proxy, configurez votre navigateur afin qu'il utilise un module complémentaire comme FoxyProxy ou SwitchyOmega.

Pour plus d'informations sur la création d'un tunnel SSH, consultez Option 2, partie 1 : Configuration d'un tunnel SSH vers le nœud primaire à l'aide du réacheminement de port dynamique. Pour plus d'informations sur les interfaces Web disponibles, consultez Affichage des interfaces Web hébergées sur des clusters Amazon EMR.

Incluez les paramètres suivants lorsque vous configurez votre module complémentaire de proxy :

  • Utilisez localhost comme adresse d'hôte.

  • Utilisez le même numéro de port local que celui que vous avez sélectionné pour établir le tunnel SSH avec le nœud primaire Option 2, partie 1 : Configuration d'un tunnel SSH vers le nœud primaire à l'aide du réacheminement de port dynamique. Par exemple, le port 8157. Ce port doit aussi correspondre au numéro de port que vous utilisez dans PuTTY ou à un autre émulateur de terminal que vous utilisez pour vous connecter.

  • Spécifiez le protocole SOCKS v5. SOCKS v5 vous permet de configurer éventuellement l'autorisation des utilisateurs.

  • Modèles URL

    Les modèles URL suivants doivent être sur liste blanche et spécifiés par un type de modèle de caractère générique :

    • Les modèles *ec2*.*compute*.amazonaws.com* et *10*.amazonaws.com* correspondent au nom DNS public des clusters dans les régions des USA.

    • Les modèles *ec2*.compute* et *10*.compute* correspondent au nom DNS public des clusters de toutes les autres régions.

    • Le modèle 10.* offre un accès aux fichiers journaux de JobTracker dans Hadoop. Modifiez ce filtre s'il est en conflit avec votre plan d'accès réseau.

    • Les modèles *.ec2.internal* et *.compute.internal* correspondent aux noms DNS privés (internes) des clusters de la région us-east-1 et de toutes les autres régions, respectivement.

Exemple : configurer FoxyProxy pour Firefox

L'exemple suivant illustre une configuration FoxyProxy Standard (version 7.5.1) pour Mozilla Firefox.

FoxyProxy fournit un ensemble d'outils de gestion de proxy. Il vous permet d'utiliser un serveur proxy pour les URL qui correspondent aux modèles rattachés aux domaines utilisés par les instances Amazon EC2 de votre cluster Amazon EMR.

Installer et configurer FoxyProxy à l'aide de Mozilla Firefox
  1. Dans Firefox, rendez-vous sur https://addons.mozilla.org/, recherchez FoxyProxy Standard et suivez les instructions pour ajouter FoxyProxy à Firefox.

  2. À l'aide d'un éditeur de texte, créez un fichier JSON nommé foxyproxy-settings.json grâce à l'exemple de configuration suivant.

    { "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. Ouvrez la page Gérer vos extensions de Firefox (allez sur about:addons, puis choisissez Extensions).

  4. Choisissez FoxyProxy Standard, puis cliquez sur le bouton « Plus d'options » (le bouton qui ressemble à des points de suspension).

  5. Sélectionnez Options dans le menu déroulant.

  6. Choisissez Paramètres d'importation dans le menu de gauche.

  7. Sur la page Paramètres d'importation, choisissez Paramètres d'importation sous Paramètres d'importation depuis FoxyProxy version 6.0+, accédez à l'emplacement du fichier foxyproxy-settings.json que vous avez créé, sélectionnez le fichier, puis choisissez Ouvrir.

  8. Cliquez sur OK lorsque vous êtes invité à remplacer les paramètres existants et à enregistrer votre nouvelle configuration.

Exemple : configurer SwitchyOmega pour Chrome

L'exemple suivant montre comment créer l'extension SwitchyOmega pour Google Chrome. SwitchyOmega vous permet de configurer, de gérer et de basculer entre plusieurs proxys.

Installer et configurer SwitchyOmega à l'aide de Google Chrome
  1. Accédez à https://chrome.google.com/webstore/category/extensions, recherchez Proxy SwitchyOmega et ajoutez-le à Chrome.

  2. Choisissez Nouveau profil et entrez emr-socks-proxy comme nom de profil.

  3. Choisissez le profil PAC, puis cliquez sur Créer. Les fichiers PAC (configuration automatique de proxy) vous aident à définir une liste d'autorisations pour les requêtes du navigateur qui doivent être transmises à un serveur proxy Web.

  4. Dans le champ Script PAC, remplacez le contenu par le script suivant qui définit les URL à transférer via votre serveur proxy Web. Si vous avez spécifié un numéro de port différent lors de la configuration de votre tunnel SSH, remplacez 8157 par votre numéro de port.

    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. Sous Actions, choisissez Appliquer les modifications pour enregistrer vos paramètres de proxy.

  6. Dans la barre d'outils Chrome, choisissez SwitchyOmega et sélectionnez le profil emr-socks-proxy.

Accédez à une interface Web dans le navigateur

Pour ouvrir une interface Web, entrez le nom DNS public de votre nœud principal ou primaire suivi du numéro de port de l'interface choisie dans la barre d'adresse de votre navigateur. L'exemple suivant montre l'URL que vous devez saisir pour vous connecter au Spark HistoryServer.

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

Pour obtenir des instructions sur la récupération du nom DNS public d'un nœud, consultez Récupération du nom DNS public du nœud primaire. Pour obtenir la liste complète des URL des interfaces Web, consultez Affichage des interfaces Web hébergées sur des clusters Amazon EMR.