La configuration d'un réseau de cloud privé virtuel (VPC) pour Managed Service pour Apache Spark vous permet de connecter de manière sécurisée des charges de travail aux ressources de projet internes et aux API Google. Ces paramètres de sous-réseau et de pare-feu permettent aux pilotes et aux exécuteurs Spark de communiquer directement tout en respectant les règles de sécurité de votre organisation.
Exigences concernant le réseau VPC
Ce document décrit les exigences du réseau VPC pour les charges de travail par lot et les sessions interactives Managed Service pour Apache Spark.
Accès privé à Google
Les charges de travail par lot et les sessions interactives de Managed Service pour Apache Spark s'exécutent sur des VM ne disposant que d'adresses IP internes et sur un sous-réseau régional sur lequel l' accès privé à Google (PGA) est activé automatiquement.
Si vous ne spécifiez pas de sous-réseau, Managed Service pour Apache Spark sélectionne le sous-réseau default dans la région de la charge de travail par lot ou de la session comme sous-réseau pour une charge de travail par lot ou une session.
Si votre charge de travail nécessite un accès au réseau externe ou à Internet, par exemple pour télécharger des ressources telles que des modèles de ML depuis PyTorch Hub ou Hugging Face, vous pouvez configurer Cloud NAT pour autoriser le trafic sortant à l'aide d'adresses IP internes sur votre réseau VPC.
Ouvrir la connectivité du sous-réseau
Le sous-réseau VPC de la région sélectionnée pour la charge de travail par lot ou la session interactive Managed Service pour Apache Spark doit autoriser la communication interne sur tous les ports entre les instances de VM du sous-réseau.
Pour empêcher les scripts malveillants d'une charge de travail d'affecter d'autres charges de travail, Managed Service pour Apache Spark déploie des mesures de sécurité par défaut.
La commande Google Cloud CLI suivante associe un pare-feu réseau à un sous-réseau qui autorise les communications d'entrée internes entre les VM à l'aide de tous les protocoles sur tous les ports :
gcloud compute firewall-rules create allow-internal-ingress \ --network=NETWORK_NAME \ --source-ranges=SUBNET_RANGES \ --destination-ranges=SUBNET_RANGES \ --direction=ingress \ --action=allow \ --rules=all
Remarques :
SUBNET_RANGES: Consultez Autoriser les connexions d'entrée internes entre les VM. Le réseau VPC
defaultd'un projet avec la règle de pare-feudefault-allow-internal, qui autorise la communication entrante sur tous les ports (tcp:0-65535,udp:0-65535eticmp protocols:ports), répond à l'exigence de connectivité de sous-réseau ouvert. Toutefois, cette règle autorise également l'entrée par n'importe quelle instance de VM sur le réseau.
Stratégie de pare-feu système régionale créée automatiquement
Pour répondre à l'exigence de connectivité de sous-réseau ouverte, les charges de travail par lot et les sessions interactives de Managed Service pour Apache Spark qui utilisent la version d'exécution 3.0 ou une version ultérieure créent automatiquement une stratégie de pare-feu système régionale dataproc-firewall-policy-[network-id]-region ou dataproc-fw-[network-id]-region sur le sous-réseau VPC du lot ou de la session.
Cette stratégie contient les règles d'entrée et de sortie suivantes.
| Nom | Objectif | Priorité | Sens | Action | Source et destination | Protocole et ports |
|---|---|---|---|---|---|---|
dataproc-allow-internal-ingress-rule-[subnetworkId] |
Autorise toutes les communications internes nécessaires uniquement à partir d'autres VM Managed Service pour Apache Spark taguées dans le même sous-réseau. | 4 | ENTRÉE | AUTORISER |
srcSecureTag : valeur du tag sécurisé pour ce sous-réseau.targetSecureTags : valeur du tag sécurisé pour ce sous-réseau. |
tcp:0-65535, udp:0-65535, icmp protocols:ports |
dataproc-allow-internal-egress-rule-[subnetworkId] |
Permet aux VM Managed Service pour Apache Spark de télécharger des packages, par exemple pip et apt-get, et d'accéder aux API Google à l'aide de l'accès privé à Google. | 5 | SORTIE | AUTORISER |
destIpRanges : 0.0.0.0/0.targetSecureTags : valeur du tag sécurisé pour ce sous-réseau. |
tcp:0-65535, udp:0-65535, icmp protocols:ports |
Remarques :
Managed Service pour Apache Spark provisionne un projet locataire associé au projet utilisateur pour stocker les tags sécurisés. Managed Service pour Apache Spark crée un tag sécurisé pour le sous-réseau dans le projet locataire et l'associe aux VM Managed Service pour Apache Spark. Cela garantit que la stratégie de pare-feu système créée ne s'applique qu'aux VM Managed Service pour Apache Spark.
La stratégie de pare-feu système créée automatiquement n'est pas compatible avec le VPC partagé.
Managed Service pour Apache Spark et réseaux VPC-SC
VPC Service Controls permet aux administrateurs réseau de définir un périmètre de sécurité autour des ressources des services gérés par Google afin de contrôler les communications avec et entre ces services.
Tenez compte des stratégies suivantes lorsque vous utilisez des réseaux VPC-SC avec Managed Service pour Apache Spark :
Créez une image de conteneur personnalisée qui préinstalle les dépendances en dehors du périmètre VPC-SC, puis envoyez une charge de travail par lot Spark qui utilise votre image de conteneur personnalisée.
Pour en savoir plus, consultez VPC Service Controls – Managed Service pour Apache Spark.