Aller au contenu principal

Trafic proxy via une passerelle NAT

Ce guide illustre comment configurer Databricks pour acheminer le trafic entre les instances EC2 et une autre adresse IP via une passerelle NAT. Par exemple, vous pouvez diriger votre software de BI vers une adresse IP statique, qui proxyse tout le trafic vers un clusters Redshift via une passerelle NAT. Du point de vue du cluster Redshift, toutes les instances ont une adresse IP publique stable, quelle que soit la configuration du cluster Databricks.

remarque

Pour proxifier le trafic Redshift, le cluster Redshift doit être lancé avec une IP élastique IPv4. Une adresse IP élastique est stable et accessible publiquement.

Cet article explique comment allouer un nouveau sous-réseau public dans votre Virtual Private Cloud (VPC) Databricks, ajouter une passerelle NAT dans le sous-réseau et mettre à jour la table de routage default pour s'assurer que le trafic spécifique passe par la passerelle NAT.

Créer un sous-réseau dans le Virtual Private Cloud (VPC) Databricks

  1. Contactez Databricks pour récupérer l'ID de votre Virtual Private Cloud (VPC) Databricks.

  2. Connectez-vous à votre console VPC AWS et sélectionnez Sous-réseau dans le panneau de gauche.

  3. Saisissez l'ID du Virtual Private Cloud (VPC) Databricks dans le champ de recherche pour voir tous les sous-réseaux inclus dans le Virtual Private Cloud (VPC) Databricks.

    Créer un sous-réseau

    By default, Databricks crée un sous-réseau par zone de disponibilité (AZ). Vous devez choisir un bloc CIDR inutilisé de la même plage de classe B, tel que a.b.0.0. Dans l'exemple, trois blocs CIDR sont utilisés : 10.29.224.0/19, 10.29.192.0/19, 10.29.160.0/19. Toutes les adresses IP de la plage 10.29.0.0 à 10.29.159.255 sont libres. Vous pouvez choisir un nouveau sous-réseau de classe C dans cette plage, par exemple 10.29.100.0/24.

  4. Cliquez sur Créer un sous-réseau et saisissez les informations suivantes :

    • Balise de nom : le nom du sous-réseau. Databricks recommande d'utiliser gateway dans le nom.
    • VPC : l'ID de Virtual Private Cloud (VPC) Databricks.
    • Zone de disponibilité : au moins une zone de disponibilité, en fonction de vos besoins de disponibilité.
    • Bloc CIDR : un bloc CIDR inutilisé contenant au moins une adresse IP.
remarque
  • Databricks alloue les blocs CIDR à partir du haut de la plage de classe B. Lorsque vous choisissez le bloc CIDR pour le sous-réseau de la passerelle, Databricks vous recommande d'utiliser une plage inférieure pour éviter tout conflit futur si AWS ajoute d'autres zones de disponibilité à la région.
  • Le sous-réseau public n'a besoin que d'une seule adresse IP pour la passerelle NAT.
  1. Cliquez sur « **Oui, Créer** ».

Créer une passerelle NAT dans le sous-réseau

  1. Sélectionnez passerelles NAT dans le panneau de gauche de la console Virtual Private Cloud (VPC) AWS, puis cliquez sur Créer une passerelle NAT .

  2. Dans Sous-réseau , sélectionnez le sous-réseau que vous venez de créer.

  3. Choisissez n'importe quelle adresse IP disponible à partir de l'**ID d'allocation d'IP élastique**. S'il n'y a pas d'adresses IP élastiques disponibles, créez d'abord une nouvelle adresse IP élastique.

  4. Cliquez sur Créer une passerelle NAT .

    Passerelle NAT créée

  5. Sur la page de succès, cliquez sur Modifier les tables de routage .

Associez une table de routage au sous-réseau de la passerelle

  1. Cliquer sur **Créer une table de routage**.

  2. Dans Balise de nom , saisissez un nom pour la table de routage.

  3. Dans Virtual Private Cloud (VPC) , sélectionnez l'ID Virtual Private Cloud (VPC) Databricks.

  4. Cliquez sur « **Oui, Créer** ».

    Créer une table de routage

  5. Sélectionnez la table de routage nouvellement créée dans la liste.

  6. Dans l'onglet **Routes**, cliquez sur **Modifier**, puis cliquez sur **Ajouter une autre route**.

  7. Saisissez 0.0.0.0/0 dans Destination .

  8. Dans **Cible**, choisissez la passerelle Internet du Virtual Private Cloud (VPC) Databricks, qui start igw= par.

  9. Cliquez sur Enregistrer .

    Ajouter un itinéraire

  10. Cliquez sur **Modifier** dans l’onglet **Subnet Associations tab**.

  11. Sélectionnez le sous-réseau de la passerelle NAT.

  12. Cliquez sur Enregistrer . Le sous-réseau est maintenant un sous-réseau public, accessible sur Internet.

    Associations de sous-réseaux

Configurer le routage vers un système externe

Suivez cette procédure pour acheminer tout le trafic entre les nœuds dans le Virtual Private Cloud (VPC) et un système externe, tel que Redshift, via la passerelle NAT.

  1. Dans le panneau de gauche de la console AWS Virtual Private Cloud (VPC), sélectionnez Route Tables .

  2. Entrez l'ID du Virtual Private Cloud (VPC) Databricks dans la zone de recherche. La liste affiche toutes les tables de routage utilisées par le Virtual Private Cloud (VPC) de Databricks.

    • L'une des routes est la table de routage de la passerelle que vous venez de créer.
    • L'autre, étiquetée **Principale**, est la table de routage default pour tous les autres sous-réseaux du Virtual Private Cloud (VPC).
  3. Sélectionnez la table de routage Main .

  4. Dans l'onglet Routes , cliquez sur Modifier .

  5. Dans Destination , recherchez l'adresse IP élastique du système externe. Dans l'image ci-dessous, l'adresse IP élastique est 1.2.3.4.

  6. Dans Target , sélectionnez la passerelle NAT que vous avez créée précédemment. Cela start avec nat-.

  7. Cliquez sur Enregistrer .

    Configurer le routage

Tout le trafic entre toutes les instances Virtual Private Cloud (VPC) et l'adresse IP élastique passe par la passerelle NAT. Du point de vue du système externe, tous les nœuds ont la même adresse IP élastique que l'adresse IP élastique de la passerelle NAT. Le trafic interne continue d'utiliser les règles de routage d'origine du Virtual Private Cloud (VPC).

Ajoutez un Endpoint S3 au Virtual Private Cloud (VPC)

Le trafic externe qui passe par la passerelle NAT entraîne des frais supplémentaires (consultez les Tarifs Amazon Virtual Private Cloud (VPC)). Pour réduire les coûts et la latence, vous pouvez stocker des assets Databricks dans des compartiments S3. Le trafic entre une IP élastique et un compartiment S3 est gratuit.

remarque

Les Endpoint Virtual Private Cloud (VPC) ne prennent pas en charge l'accès interrégional. Lorsque vous accédez à un compartiment S3 dans une autre région, le trafic est acheminé par l'intermédiaire de la passerelle NAT.

  1. Dans le panneau gauche de la console AWS Virtual Private Cloud (VPC), sélectionnez Endpoints .

  2. Cliquez sur Create Endpoint .

    Créer un Endpoint

  3. Dans Virtual Private Cloud (VPC) , sélectionnez l'ID Virtual Private Cloud (VPC) Databricks.

  4. Dans Service , sélectionnez le seul service S3 disponible.

  5. Cliquez sur Étape suivante .

    Étape suivante

  6. Sélectionnez la table de routage Main . Ceci associe l'Endpoint S3 à tous les sous-réseaux privés.

  7. Cliquez sur Create Endpoint .

Vérifier les paramètres du sous-réseau

  1. Dans la page Sous-réseaux , accédez à l' tab Table de routage .
  2. Saisissez l'ID du Virtual Private Cloud (VPC) Databricks dans la zone de recherche.
  3. Vérifier ce qui suit :
    • Le sous-réseau de la passerelle a la route 0.0.0.0/0 définie sur la passerelle Internet du Virtual Private Cloud (VPC) (igw-xxxxxx).

      Sous-réseau de passerelle

    • Tous les autres sous-réseaux ont la route 0.0.0.0/0 définie sur la passerelle NAT (nat-xxxxxx).

    • Si l'endpoint S3 est configuré correctement, la liste inclut une route avec la cible définie sur vpce-xxxx <target>.

important

La connexion d'appairage Virtual Private Cloud (VPC) au Virtual Private Cloud (VPC) du plan de contrôle Databricks (pcx-xxxxx) doit rester intacte.

Connexion d&#39;appairage Virtual Private Cloud (VPC)

Créer un cluster

Pour tester la nouvelle configuration, créez un nouveau cluster. Il utilise automatiquement la nouvelle passerelle NAT. Une fois le nouveau cluster prêt, vérifiez qu'il fonctionne comme prévu. Veuillez contacter Databricks si le nouveau cluster ne start pas ou si vous rencontrez d'autres problèmes.

Désactiver l'adresse IP publique sur le cluster

Après avoir vérifié que le proxy de passerelle NAT fonctionne comme prévu, vous pouvez demander la suppression des adresses IP publiques sur les clusters nouvellement créés.

important

Vous ne pouvez pas désactiver l'adresse IP publique sur les instances AWS existantes.

  1. Contactez le support Databricks et informez-les que vous souhaitez désactiver les adresses IP publiques.
  2. Une fois que Databricks a confirmé que la modification de la configuration est terminée, terminez tous les clusters dans Databricks.
  3. Attendez une heure pour que les ressources AWS soient nettoyées, ou terminez manuellement les instances existantes dans la console AWS. Si vous ignorez cette étape, Databricks pourrait réutiliser les instances existantes qui ont encore les adresses IP publiques précédemment attribuées pour tout nouveau clusters.
  4. Connectez-vous à votre déploiement Databricks et créez un nouveau cluster. Attendez que le cluster soit prêt.

Pour vérifier que le cluster n'a pas d'adresse IP publique, accédez au tableau de bord AWS EC2 et vérifiez la configuration des instances worker :

Adresses d&#39;instance Worker

Si le cluster a des adresses IP publiques ou s'il n'est pas prêt, contactez Databricks.