Option 2, partie 1 : Configuration d'un tunnel SSH vers le nœud primaire à l'aide du réacheminement de port dynamique - Amazon EMR

Option 2, partie 1 : Configuration d'un tunnel SSH vers le nœud primaire à l'aide du réacheminement de port dynamique

Pour vous connecter au serveur Web local sur le nœud primaire, vous créez un tunnel SSH entre votre ordinateur et le nœud primaire. Cette action est également appelée réacheminement de port. Si vous créez votre tunnel SSH à l'aide du réacheminement de port dynamique, l'ensemble du trafic acheminé vers un port local inutilisé spécifié est réacheminé vers le serveur Web local sur le nœud primaire. Cette action crée un proxy SOCKS. Vous pouvez ensuite configurer votre navigateur Internet afin qu'il utilise un module complémentaire comme FoxyProxy ou SwitchyOmega pour gérer vos paramètres de proxy SOCKS.

À l'aide d'un module complémentaire de gestion de proxy, 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.

Avant de commencer, vous devez connaître le nom de serveur DNS public du nœud primaire et le fichier de clé privée de votre paire de clés. Pour plus d'informations sur la façon de rechercher le nom de serveur DNS public du nœud primaire, consultez Récupérer le nom DNS public du nœud primaire à l'aide de l'ancienne console . Pour plus d'informations sur l'accès à votre paire de clés, consultez Paires de clés Amazon EC2 dans le Guide de l'utilisateur pour les instances Linux Amazon EC2. Pour plus d'informations sur les sites que vous pouvez afficher sur le nœud primaire, consultez Affichage des interfaces Web hébergées sur des clusters Amazon EMR.

Configurer un tunnel SSH vers le nœud primaire à l'aide du réacheminement de port dynamique avec OpenSSH

Configurer un tunnel SSH à l'aide du réacheminement de port dynamique avec OpenSSH
  1. Assurez-vous d'avoir autorisé le trafic SSH entrant. Pour obtenir des instructions, consultez Avant de vous connecter : autoriser le trafic entrant.

  2. Ouvrez une fenêtre du terminal. Sous Mac OS X, choisissez Applications > Utilities > Terminal (Applications > Services > Terminal). Sur d'autres distributions Linux, le terminal se trouve généralement sur Applications > Accessories > Terminal (Applications > Accessoires > Terminal).

  3. Tapez la commande suivante pour ouvrir un tunnel SSH sur votre ordinateur local. Remplacez ~/mykeypair.pem par le nom et l'emplacement de votre fichier .pem et remplacez 8157 par un numéro de port local et inutilisé. Remplacez ensuite c2-###-##-##-###.compute-1.amazonaws.com par le nom DNS public primaire de votre cluster.

    ssh -i ~/mykeypair.pem -N -D 8157 hadoop@ec2-###-##-##-###.compute-1.amazonaws.com

    Lorsque cette commande est émise, le terminal reste ouvert et ne retourne pas de réponse.

    Note

    -D indique l'utilisation du réacheminement de port dynamique, qui vous permet de spécifier un port local utilisé pour transférer des données à tous les ports à distance sur le serveur Web local du nœud primaire. Le réacheminement de port dynamique crée un proxy SOCKS local qui écoute sur le port spécifié dans la commande.

  4. Une fois que le tunnel est actif, configurez un proxy SOCKS pour votre navigateur. Pour de plus amples informations, veuillez consulter Option 2, partie 2 : Configuration des paramètres de proxy pour afficher les sites Web hébergés sur le nœud primaire.

  5. Lorsque vous avez terminé d'utiliser les interfaces Web sur le nœud primaire, fermez la fenêtre du terminal.

Configuration d'un tunnel SSH à l'aide du réacheminement de port dynamique avec l'interface AWS CLI

Vous pouvez créer une connexion SSH avec le nœud primaire à l'aide de l'interface AWS CLI sous Windows et sous Linux, Unix et Mac OS X. Si vous utilisez l'interface AWS CLI sous Linux, Unix ou Mac OS X, vous devez définir les autorisations sur le fichier .pem comme indiqué dans Pour configurer les autorisations sur les fichiers de clé privée de paire de clés. Si vous utilisez l'interface AWS CLI sous Windows, PuTTY doit apparaître dans la variable d'environnement du chemin d'accès ou une erreur de type OpenSSH ou PuTTY non disponible peut s'afficher.

Pour configurer un tunnel SSH à l'aide du réacheminement de port dynamique avec l'AWS CLI
  1. Assurez-vous d'avoir autorisé le trafic SSH entrant. Pour obtenir des instructions, consultez Avant de vous connecter : autoriser le trafic entrant.

  2. Créez une connexion SSH avec le nœud primaire, comme illustré dans Connexion au nœud primaire à l'aide de l'interface AWS CLI.

  3. Pour récupérer l'identifiant du cluster, tapez :

    aws emr list-clusters

    Vous obtenez la liste de vos clusters, y compris les ID des clusters. Notez l'ID du cluster auquel vous vous connectez.

    "Status": { "Timeline": { "ReadyDateTime": 1408040782.374, "CreationDateTime": 1408040501.213 }, "State": "WAITING", "StateChangeReason": { "Message": "Waiting after step completed" } }, "NormalizedInstanceHours": 4, "Id": "j-2AL4XXXXXX5T9", "Name": "AWS CLI cluster"
  4. Tapez la commande suivante pour ouvrir un tunnel SSH vers le nœud primaire à l'aide du réacheminement de port dynamique. Dans l'exemple suivant, remplacez j-2AL4XXXXXX5T9 par l'ID du cluster et remplacez ~/mykeypair.key par l'emplacement et le nom de votre fichier .pem (pour Linux, Unix et Mac OS X) ou .ppk (pour Windows).

    aws emr socks --cluster-id j-2AL4XXXXXX5T9 --key-pair-file ~/mykeypair.key
    Note

    La commande SOCKS configure automatiquement le réacheminement de port dynamique sur le port local 8157. Actuellement, ce paramètre ne peut pas être modifié.

  5. Une fois que le tunnel est actif, configurez un proxy SOCKS pour votre navigateur. Pour de plus amples informations, veuillez consulter Option 2, partie 2 : Configuration des paramètres de proxy pour afficher les sites Web hébergés sur le nœud primaire.

  6. Lorsque vous avez terminé d'utiliser les interfaces Web sur le nœud primaire, fermez la fenêtre AWS CLI.

    Pour plus d'informations sur l'utilisation des commandes Amazon EMR dans l'interface AWS CLI, consultez https://docs.aws.amazon.com/cli/latest/reference/emr.

Créer un tunnel SSH vers le nœud primaire à l'aide de PuTTY

Les utilisateurs Windows peuvent utiliser un client SSH tel que PuTTY pour créer un tunnel SSH vers le nœud primaire. Avant de vous connecter au nœud primaire Amazon EMR, vous devez télécharger et installer PuTTY ainsi que PuTTYgen. Vous pouvez télécharger ces outils à partir de la page de téléchargement PuTTY.

PuTTY ne prend pas en charge de manière native le format de fichier de clé privée de paire de clés (.pem) généré par Amazon EC2. Vous utilisez PuTTYgen pour convertir votre fichier de clé au format PuTTY approprié (.ppk). Avant d'essayer de vous connecter au nœud primaire en utilisant PuTTY, vous devez convertir votre clé dans ce format (.ppk).

Pour de plus amples informations sur la conversion de votre clé, consultez Conversion de votre clé privée à l'aide de PuTTYgen dans le Guide de l'utilisateur Amazon EC2 pour les instances Linux.

Configurer un tunnel SSH à l'aide du réacheminement de port dynamique à l'aide de PuTTY
  1. Assurez-vous d'avoir autorisé le trafic SSH entrant. Pour obtenir des instructions, consultez Avant de vous connecter : autoriser le trafic entrant.

  2. Double-cliquez sur putty.exe pour lancer PuTTY. Vous pouvez également lancer PuTTY à partir de la liste des programmes Windows.

    Note

    Si vous avez déjà une session SSH active avec le nœud primaire, vous pouvez ajouter un tunnel en cliquant avec le bouton droit sur la barre de titre PuTTY et en choisissant Modifier les paramètres.

  3. Si nécessaire, dans la liste Category (Catégorie), choisissez Session.

  4. Dans le champ Host Name (Nom d'hôte), saisissez hadoop@MasterPublicDNS. Par exemple : hadoop@ec2-###-##-##-###.compute-1.amazonaws.com.

  5. Dans la liste Category (Catégorie), développez Connection > SSH (Connexion > SSH), puis choisissez Auth.

  6. Pour Private key file for authentication (Fichier de clé privée pour l'authentification), choisissez Browse (Parcourir), puis sélectionnez le fichier .ppk que vous avez généré.

    Note

    PuTTY ne prend pas en charge de manière native le format de fichier de clé privée de paire de clés (.pem) généré par Amazon EC2. Vous utilisez PuTTYgen pour convertir votre fichier de clé au format PuTTY approprié (.ppk). Avant d'essayer de vous connecter au nœud primaire en utilisant PuTTY, vous devez convertir votre clé dans ce format (.ppk).

  7. Dans la liste Category (Catégorie), développez Connection > SSH (Connexion > SSH), puis choisissez Tunnels.

  8. Dans le champ Port source, saisissez 8157 (un port local inutilisé), puis choisissez Ajouter.

  9. Laissez le champ Destination vide.

  10. Sélectionnez les options Dynamic (Dynamique) et Auto.

  11. Choisissez Open.

  12. Choisissez Yes (Oui) pour ignorer l'alerte de sécurité PuTTY.

    Important

    Lorsque vous vous connectez au nœud primaire, tapez hadoop si vous êtes invité à saisir un nom d'utilisateur.

  13. Une fois que le tunnel est actif, configurez un proxy SOCKS pour votre navigateur. Pour de plus amples informations, veuillez consulter Option 2, partie 2 : Configuration des paramètres de proxy pour afficher les sites Web hébergés sur le nœud primaire.

  14. Lorsque vous avez terminé d'utiliser les interfaces Web sur le nœud primaire, fermez la fenêtre PuTTY.