Cette rubrique explique comment MaxCompute accède aux services d'un cloud privé virtuel (VPC), tels qu'ApsaraDB RDS, les clusters HBase et les clusters Hadoop. Les méthodes d'accès prises en charge incluent MaxCompute SQL, les UDF, Spark, PyODPS/Mars, les tables externes et les architectures de data lakehouse.
Cette solution crée deux groupes de sécurité pour le trafic de retour : MaxCompute-vpc-xxx et MaxCompute-backup-vpc-xxx, où xxx correspond à l'ID du VPC que vous fournissez. Ne modifiez pas les règles de ces groupes de sécurité et ne les utilisez pas pour gérer les règles de sécurité d'autres composants. La plateforme n'est pas responsable des problèmes résultant de telles modifications.
Limitations
-
Restrictions régionales et par zone :
Chine (Hangzhou) - Zones H, I, J et K ;
Chine (Pékin) - Zones F, G, H, I et L ;
Chine (Shanghai) - Zones B, E, G, M et N ;
Chine (Zhangjiakou) - Zones A, B et C ;
Chine (Ulanqab) - Zones B et C ;
Chine (Shenzhen) - Zones C, D, E et F ;
Chine (Hong Kong) - Zones B et C ;
Chine Est 2 (Shanghai) Finance - Zone F ;
Japon (Tokyo) - Zones A et B ;
Singapour - Zones A, B et C ;
Malaisie (Kuala Lumpur) - Zones A et B ;
Indonésie (Jakarta) - Zones A et B ;
Allemagne (Francfort) - Zones A, B et C ;
États-Unis (Silicon Valley) - Zones A et B ;
États-Unis (Virginie) - Zones A et B.
Cibles prises en charge : adresses IP ou noms de domaine VPC, ApsaraDB RDS, clusters HBase et clusters Hadoop.
Procédure
Étape 1 : Préparer le compte et le projet
Avant de créer une connexion réseau entre MaxCompute et le service cible, assurez-vous que les prérequis suivants sont remplis.
Créer un projet MaxCompute. Pour les scénarios de data lakehouse, nous vous recommandons de définir le type de données du projet sur Hive-compatible.
Pour accéder à un service dans un VPC, assurez-vous que le compte Alibaba Cloud propriétaire du VPC, le compte utilisé pour accéder au projet MaxCompute et le compte administrateur du service cible appartiennent tous au même compte principal Alibaba Cloud.
Étape 2 : Créer une connexion réseau directe
1. Accorder les autorisations
-
Autorisez l'utilisateur opérationnel :
Seuls un Project Owner ou un utilisateur disposant du rôle Super_Administrator ou Admin au niveau du locataire peuvent procéder à cette autorisation. Pour plus d'informations, consultez la section Planification des rôles.
Pour la procédure d'autorisation, consultez la section Liste des autorisations d'objet dans un locataire.
Pour permettre à MaxCompute de créer des interfaces réseau élastiques (ENI) dans votre VPC afin d'établir la connectivité, cliquez sur Autoriser lorsque vous êtes connecté à votre compte Alibaba Cloud.
2. Configurer les règles de groupe de sécurité
Dans votre VPC, créez un groupe de sécurité dédié pour contrôler l'accès de MaxCompute aux ressources au sein du VPC.
Nous vous recommandons de créer un nouveau groupe de sécurité basique. Évitez d'utiliser d'autres types de groupes de sécurité ou des groupes déjà utilisés. MaxCompute créera une interface réseau élastique (ENI) dans le VPC de l'utilisateur actuel pour accéder à vos services.
Configurez les règles sortantes du groupe de sécurité pour contrôler les adresses de destination accessibles par les tâches MaxCompute (via les ENI). Si vous n'avez pas d'exigences particulières, conservez les règles sortantes par défaut.
Le trafic entrant vers l'ENI correspond au trafic de retour. Par conséquent, autorisez tout le trafic entrant.
Connectez-vous à la console Virtual Private Cloud.
Dans le volet de navigation de gauche, sélectionnez VPC. Dans le coin supérieur gauche, sélectionnez une région.
Sur la page VPC, cliquez sur l'Instance ID/Name du VPC cible.
Sur la page des détails du VPC, cliquez sur l'onglet Resource Management.
-
Sous l'onglet Resource Management, dans la section VPC Resources, survolez le nombre situé à côté de Security Group et cliquez sur Add.
-
Pour le paramètre Security Group Type, sélectionnez Basic Security Group.
Un Basic Security Group autorise le trafic sortant par défaut. Un Advanced Security Groups refuse le trafic sortant par défaut, ce qui empêche l'accès à tous les services du VPC.
Pour le paramètre Network, sélectionnez le VPC contenant le service auquel vous souhaitez accéder.
Pour plus d'informations sur la création d'un groupe de sécurité, consultez la section Créer un groupe de sécurité.
-
-
Configurez le groupe de sécurité pour prendre en charge le réseau MaxCompute.
Dans la colonne Actions du groupe de sécurité cible, cliquez sur Manage Rules.
-
Sous l'onglet Access Rule, sélectionnez l'onglet Inbound. Dans la colonne Actions de la règle cible, cliquez sur Edit. Configurez les paramètres suivants pour autoriser tout le trafic Inbound.
Définissez la Authorization policy sur Allow.
Définissez la Priority sur 1.
Définissez le Protocol sur All.
Pour le paramètre Source, ajoutez le bloc CIDR du VPC ou le bloc CIDR du vSwitch où est déployé le service auquel vous souhaitez accéder.
Destination est définie sur ALL(-1/-1) par défaut.
Pour plus d'informations sur la configuration des règles, consultez la section Guide d'application et exemples de groupes de sécurité.
Pour HBase, si vous ne pouvez pas accorder d'autorisations réseau à un groupe de sécurité, ajoutez l'adresse IP de l'ENI créée par MaxCompute à une liste d'autorisation. Étant donné que les adresses IP des ENI peuvent changer, nous vous recommandons d'ajouter la plage d'adresses IP du vSwitch auquel appartient le VPC. Pour obtenir l'adresse IP de l'ENI, connectez-vous à la console ECS et cliquez sur Network Interfaces dans le volet de navigation de gauche.
Lors du processus de création de la connexion réseau, MaxCompute crée automatiquement deux ENI en fonction de vos besoins en bande passante. Ces ENI sont gratuites et placées dans ce groupe de sécurité.
3. Créer la connexion réseau
Un compte Alibaba Cloud ou un utilisateur RAM disposant du rôle Super_Administrator ou Admin au niveau du locataire pour MaxCompute peut créer une connexion entre MaxCompute et un VPC dans la console MaxCompute. Pour plus d'informations, consultez la section Rôles au niveau du locataire MaxCompute. Pour créer une connexion :
Connectez-vous à la console MaxCompute et sélectionnez une région dans le coin supérieur gauche.
Dans le volet de navigation de gauche, sélectionnez .
Sur la page Network Connection, cliquez sur Add Network Connection.
Dans la boîte de dialogue Add Network Connection, configurez les paramètres comme indiqué et cliquez sur OK. Lorsque vous ajoutez une connexion réseau pour la première fois, vous devez d'abord accorder une autorisation pour permettre au proxy de la plateforme MaxCompute de demander des cartes d'interface réseau. Sans cela, la connexion ne peut pas être créée.
-
Dans la boîte de dialogue Add Network Connection, configurez les paramètres comme indiqué et cliquez sur OK. Lorsque vous ajoutez une connexion réseau pour la première fois, vous devez d'abord accorder une autorisation pour permettre au proxy de la plateforme MaxCompute de demander des cartes d'interface réseau. Sans cela, la connexion ne peut pas être créée.
Le tableau suivant décrit les paramètres.
Paramètre
Obligatoire
Description
Connection Name:
Oui
Nom personnalisé pour la connexion. Le nom doit répondre aux exigences suivantes :
-
Commencer par une lettre.
-
Contenir uniquement des lettres, des traits de soulignement (_) et des chiffres.
-
Compter entre 1 et 63 caractères.
Type:
Oui
La valeur par défaut est Passthrough.
Une connexion Passthrough est une connexion VPC.
Region:
Oui
Le système remplit automatiquement ce paramètre en fonction de la région que vous sélectionnez dans le coin supérieur gauche. Pour plus d'informations, consultez Régions prises en charge.
VPC Selected:
Oui
Un cloud privé virtuel (VPC) est un réseau virtuel isolé. Il fournit un espace réseau privé sécurisé et configurable, similaire à un centre de données traditionnel.
-
L'ID du VPC. Pour créer un nouveau VPC, consultez Créer ou supprimer un VPC.
-
Pour obtenir l'ID :
-
Connectez-vous à la console Virtual Private Cloud.
-
Dans le volet de navigation de gauche, sélectionnez VPC. Dans le coin supérieur gauche, sélectionnez une région.
-
Sur la page VPC, recherchez l'Instance ID/Name du VPC.
Si vous vous connectez à un cluster HBase ou Hadoop, vous trouverez ces informations dans les détails de la connexion réseau sur la console correspondante.
-
Switch:
Oui
Un vSwitch est utilisé pour créer un sous-réseau. Différents vSwitches au sein du même VPC peuvent communiquer entre eux via le réseau interne. Vous pouvez déployer des ressources cloud sur plusieurs vSwitches dans différentes zones pour protéger votre application contre les pannes affectant une seule zone.
-
L'ID du vSwitch attaché au VPC. Si aucun vSwitch n'est disponible, consultez Créer ou supprimer un vSwitch.
-
Pour obtenir l'ID :
-
Connectez-vous à la console Virtual Private Cloud.
-
Dans le volet de navigation de gauche, sélectionnez vSwitch. Dans le coin supérieur gauche, sélectionnez une région.
-
Sur la page vSwitch, recherchez l'Instance ID/Name du vSwitch.
Si vous vous connectez à un cluster HBase ou Hadoop, vous trouverez ces informations dans les détails de la connexion réseau sur la console correspondante.
-
Security group:
Oui
Un groupe de sécurité agit comme un pare-feu virtuel pour vos ressources cloud. En gérant les groupes de sécurité et leurs règles, vous pouvez mettre en œuvre une isolation réseau et un contrôle d'accès granulaires.
L'ID du groupe de sécurité. Pour créer un groupe de sécurité, consultez Créer un groupe de sécurité.
-
4. Configurer le groupe de sécurité du service cible
Après avoir effectué les opérations précédentes pour activer la connexion directe basée sur les ENI, ajoutez des règles de sécurité au service cible. Ces règles autorisent le groupe de sécurité représentant MaxCompute à accéder à des ports de service spécifiques, tels que 9200 et 31000.
Par exemple, pour accéder à ApsaraDB RDS, ajoutez une règle à ApsaraDB RDS autorisant l'accès depuis le groupe de sécurité que vous avez créé à l'étape 2. Si le service auquel vous souhaitez accéder prend uniquement en charge les adresses IP et non les groupes de sécurité, ajoutez l'intégralité du bloc CIDR du vSwitch où réside le service cible.
-
Configurez le groupe de sécurité pour le cluster Hadoop.
-
Configurez les informations suivantes pour le groupe de sécurité du cluster Hadoop afin de garantir que MaxCompute puisse accéder au cluster.
Configurez les règles d'accès entrant pour le groupe de sécurité dans lequel réside le cluster Hadoop.
L'objet d'autorisation est le groupe de sécurité que vous avez créé à l'étape 2 pour l'ENI.
Port Hive Metastore : 9083
Port HDFS NameNode : 8020
Port HDFS DataNode : 50010
Par exemple, lors de la connexion à un cluster Hadoop créé sur Alibaba Cloud E-MapReduce, configurez les règles de groupe de sécurité comme décrit ci-dessus. Pour plus d'informations, consultez la section Créer un groupe de sécurité.
-
-
Configurez le groupe de sécurité pour le cluster HBase.
Ajoutez le groupe de sécurité créé pour MaxCompute ou l'adresse IP de l'ENI au groupe de sécurité ou à la liste d'autorisation d'adresses IP du cluster HBase.
-
Par exemple, lors de la connexion à un cluster Alibaba Cloud HBase :
Connectez-vous à la console de gestion HBase. Dans le coin supérieur gauche, sélectionnez une région.
Dans le volet de navigation de gauche, sélectionnez Clusters.
Sur la page Clusters, cliquez sur le nom du cluster cible.
Dans le volet de navigation de gauche, sélectionnez Access Control.
Sous les onglets Whitelist Setting et Security Group, cliquez sur Add Whitelist ou Add Security Group. Si vous ne pouvez pas ajouter de groupe de sécurité, ajoutez l'adresse IP de l'ENI sous l'onglet Whitelist Setting. Étant donné que les adresses IP des ENI peuvent changer si la configuration MaxCompute est modifiée, nous vous recommandons d'ajouter le bloc CIDR du vSwitch à la liste d'autorisation.
Pour plus d'informations sur l'ajout d'un groupe de sécurité ou d'une liste d'autorisation d'adresses IP, consultez la section Définir des listes d'autorisation et des groupes de sécurité.
-
Configurez le groupe de sécurité pour ApsaraDB RDS.
Ajoutez le groupe de sécurité créé pour MaxCompute ou l'adresse IP de l'ENI au groupe de sécurité ApsaraDB RDS ou à la liste d'autorisation d'adresses IP.
-
Par exemple, lors de la connexion à une instance ApsaraDB RDS :
Connectez-vous à la console RDS.
Dans la barre de navigation de gauche, sélectionnez Instances, puis sélectionnez la région dans le coin supérieur gauche.
Dans la barre de navigation de gauche, cliquez sur Whitelist and SecGroup.
Sous les onglets Whitelist Settings et Security Group, ajoutez une liste d'autorisation d'adresses IP ou un groupe de sécurité. Étant donné que l'adresse IP de l'ENI peut changer si la configuration MaxCompute est modifiée, nous vous recommandons d'ajouter le bloc CIDR du vSwitch à la liste d'autorisation.
Pour plus d'informations sur l'ajout d'un groupe de sécurité ou d'une liste d'autorisation d'adresses IP, consultez les sections Configurer un groupe de sécurité pour une instance ApsaraDB RDS for MySQL ou Configurer une liste d'autorisation d'adresses IP.
Étape 3 : Accéder aux ressources VPC
Après avoir créé la connexion réseau directe, ajoutez les configurations suivantes pour accéder au réseau VPC via SQL ou Spark.
Pour les autres types de tâches, ajustez les configurations en fonction du type de tâche.
Accès SQL
-
Pour accéder à un réseau VPC via une UDF, exécutez le code suivant. Pour plus d'informations, consultez la section Accéder aux ressources VPC via une UDF.
-- Set the network connection name. This is the name configured for the direct network connection. This setting is valid only for the current session. SET odps.session.networklink=testLink; -
Pour accéder à un réseau VPC via une table externe, exécutez le code suivant.
-- Set the parameter in the CREATE TABLE statement. TBLPROPERTIES( 'networklink'='<networklink_name>') Pour configurer un lien réseau pour un data lakehouse, consultez le Guide d'utilisation Data Lakehouse 2.0.
Accès Spark
Après avoir configuré la connexion réseau dédiée, ajoutez les éléments de configuration suivants à votre fichier spark-defaults.conf ou à la configuration DataWorks pour permettre à Spark d'accéder au VPC :
spark.hadoop.odps.cupid.eni.enable = true
# The format is regionid:vpcid, where vpcid is the ID of the target VPC used when creating the network connection.
spark.hadoop.odps.cupid.eni.info = regionid:vpc-**********
Accès MaxFrame
Lorsque vous utilisez MaxFrame pour accéder aux réseaux VPC, après la création d'une connexion réseau directe décrite ci-dessus, ajoutez la configuration suivante à votre code UDF MaxFrame :
@with_network_options(vpc_network_link="networklink_name")
def xxx():
pass
(Facultatif) Étape 4 : Configurer la liste d'autorisation
Si votre serveur dispose d'un contrôle d'accès activé, ajoutez le groupe de sécurité de la connexion réseau directe à la liste d'autorisation du serveur.