Les clients peuvent se connecter à un cluster Managed Service for Apache Kafka depuis n'importe quel réseau de cloud privé virtuel (VPC) de vos projets Google Cloud.
Cette page explique comment la mise en réseau est configurée dans Managed Service pour Apache Kafka, comment activer les connexions entre les clients Kafka et votre cluster, et comment activer la connectivité entre projets.
Présentation
Lorsque vous créez un cluster, le service le place dans un réseau VPC géré par Google Cloud. Ce réseau est appelé réseau locataire. Chaque cluster Managed Service pour Apache Kafka possède son propre réseau de locataires isolé. Pour permettre aux applications clientes de communiquer avec le cluster, vous devez connecter les sous-réseaux de vos réseaux VPC au réseau du locataire.
Le schéma suivant montre deux projets, project-1 et project-2. Google Cloud Un cluster Managed Service pour Apache Kafka se trouve dans project-1.

Les sous-réseaux suivants sont connectés au cluster :
subnet-1, dans le réseau VPCvpc-1dansproject-1.subnet-2, dans le réseau VPCvpc-2dansproject-1.subnet-3, dans le réseau VPCvpc-3dansproject-2.
Connecter des sous-réseaux à un cluster
Lorsque vous créez un cluster Managed Service pour Apache Kafka pour la première fois, vous devez spécifier au moins un sous-réseau. Vous pourrez ensuite mettre à jour le cluster pour ajouter ou supprimer des sous-réseaux.
Les sous-réseaux connectés peuvent appartenir au même projet Google Cloud que le cluster ou à un autre projet. Les sous-réseaux connectés doivent se trouver dans la même région que le cluster, mais les clients de n'importe quelle région du même VPC peuvent se connecter aux adresses IP de ce sous-réseau. Au maximum un sous-réseau par réseau VPC peut être connecté au cluster.
Pour afficher les sous-réseaux connectés à un cluster, consultez Afficher les sous-réseaux d'un cluster.
Entrées DNS du cluster
Lorsque vous connectez un sous-réseau à un cluster, le service crée des entrées DNS dans le réseau de ce sous-réseau pour l'adresse d'amorçage et les courtiers du cluster. Les clients Kafka utilisent l'adresse d'amorçage pour localiser les courtiers et établir une connexion.
Les noms DNS sont identiques dans tous les sous-réseaux connectés, bien qu'ils correspondent à des adresses IP différentes dans chaque sous-réseau. Étant donné que les noms DNS sont cohérents, toutes vos applications clientes Kafka peuvent utiliser la même adresse d'amorçage. Pour obtenir l'adresse d'amorçage du cluster, consultez Afficher l'adresse d'amorçage d'un cluster.
Pour obtenir des exemples d'applications clientes qui se connectent à Managed Service pour Apache Kafka, consultez les tutoriels suivants :
Dimensionnement des sous-réseaux
Lorsque vous ajoutez un sous-réseau à un cluster, il doit disposer de suffisamment d'adresses IP disponibles. Chaque sous-réseau nécessite une adresse IP pour chaque broker Kafka, ainsi qu'une adresse IP pour l'adresse d'amorçage. La taille minimale d'un cluster Managed Service pour Apache Kafka est de trois nœuds de broker. Chaque sous-réseau a donc besoin d'au moins quatre adresses IP utilisables, y compris l'adresse d'amorçage.
Si votre cluster comporte plus de 45 vCPU, il dispose d'un courtier pour 15 vCPU. Dans ce cas, calculez le nombre minimal d'adresses IP pour chaque sous-réseau comme suit :
- Divisez le nombre de vCPU par 15.
- Arrondissez à l'entier supérieur le plus proche.
- Ajoutez 1 pour tenir compte de l'adresse d'amorçage.
Par exemple, un cluster avec 60 vCPU a besoin d'au moins (60/15 + 1) = 5 adresses IP utilisables.
Google pourra modifier le ratio entre les courtiers et les processeurs virtuels à l'avenir. Pour tenir compte des éventuelles modifications futures, nous vous recommandons d'allouer trois fois le nombre d'adresses IP calculé à l'étape précédente.
Lorsque vous planifiez la taille du sous-réseau, basez vos calculs sur la taille maximale à laquelle vous prévoyez de faire évoluer votre cluster à l'avenir.
Si vous prévoyez d'utiliser Kafka Connect, tenez également compte des exigences concernant les sous-réseaux pour le cluster Connect. Pour en savoir plus, consultez la section Sous-réseau des nœuds de calcul.
Plages d'adresses IP publiques utilisées en mode privé
Vous pouvez connecter votre cluster à des sous-réseaux qui utilisent l'espace d'adressage non-RFC 1918. Ces plages d'adresses IP sont appelées plages d'adresses IP publiques utilisées en mode privé (PUPI).
Aucune configuration supplémentaire n'est requise pour se connecter aux sous-réseaux PUPI. Les sous-réseaux PUPI doivent utiliser une plage IPv4 valide qui n'est pas une plage de sous-réseaux IPv4 interdite.
Associer des clients et des clusters entre projets
Si vous avez des clients Kafka dans différents projets Google Cloud , vous pouvez les connecter à votre cluster de différentes manières :
- Connectez le cluster à des réseaux VPC dans plusieurs projets.
- Utilisez un VPC partagé pour connecter des projets.
Les sections suivantes décrivent ces options.
Connecter un cluster entre des projets
Vous pouvez connecter des sous-réseaux d'autres projets à votre cluster. Pour activer l'accès inter-projets, vous devez accorder des autorisations au compte de service géré par Google associé au cluster. Pour chaque projet dans lequel vous souhaitez que les clients Kafka accèdent au cluster, le compte de service doit disposer du rôle IAM Agent de service Managed Kafka dans ce projet. Ce rôle permet au cluster d'accéder aux ressourcesGoogle Cloud afin de pouvoir créer des ressources réseau et des entrées DNS.
Exemple : Si project-1 contient le cluster et que vous souhaitez que les clients de project-2 accèdent au cluster, accordez au compte de service Kafka géré pour project-1 le rôle d'agent de service Kafka géré sur project-2. Connectez ensuite un sous-réseau à partir de project-2 au cluster, comme décrit dans Connecter des sous-réseaux au cluster.
Pour attribuer les rôles nécessaires, procédez comme suit :
Console
Déterminez les projets Google Cloud dans lesquels vous souhaitez que vos clients Kafka accèdent au cluster Managed Service pour Apache Kafka.
Pour chaque projet, dans la console Google Cloud , accédez à la page IAM de ce projet :
Cliquez sur Accorder l'accès.
Dans le champ Nouveaux comptes principaux, saisissez les éléments suivants :
service-CLUSTER_PROJECT_NUMBER@gcp-sa-managedkafka.iam.gserviceaccount.comRemplacez CLUSTER_PROJECT_NUMBER par le numéro de projet du projet contenant le cluster Managed Service for Apache Kafka.
Cliquez sur Ajouter des rôles.
Dans le champ Rechercher des rôles, saisissez
Managed Kafka Service Agent. Le nom de l'agent de service s'affiche dans les résultats de recherche.Dans les résultats de recherche, sélectionnez Agent du service Kafka géré.
Cliquez sur Appliquer.
Cliquez sur Enregistrer.
gcloud
Déterminez les projets Google Cloud dans lesquels vous souhaitez que vos clients Kafka accèdent au cluster Managed Service pour Apache Kafka.
Pour chaque projet, exécutez la commande
gcloud projects add-iam-policy-binding:gcloud projects add-iam-policy-binding CLIENT_PROJECT_ID \ --member=serviceAccount:service-CLUSTER_PROJECT_NUMBER@gcp-sa-managedkafka.iam.gserviceaccount.com \ --role=roles/managedkafka.serviceAgentRemplacez les éléments suivants :
- CLIENT_PROJECT_ID : nom du projet contenant le réseau VPC à connecter.
- CLUSTER_PROJECT_NUMBER : numéro de projet du projet contenant le cluster Managed Service pour Apache Kafka.
Utiliser un VPC partagé pour connecter des projets
Les VPC partagés permettent à une organisation de connecter des ressources provenant de différents projets à un réseau VPC commun. Pour utiliser le VPC partagé avec Managed Service pour Apache Kafka, procédez comme suit :
Créez un cluster Managed Service pour Apache Kafka.
Accordez au compte de service Managed Kafka les rôles requis dans le projet hôte de VPC partagé, comme décrit dans la section précédente.
Connectez le cluster Managed Service pour Apache Kafka à un sous-réseau du réseau VPC partagé.
Les clients du projet hôte de VPC partagé ou des projets de service peuvent se connecter au cluster.
Pour savoir quand utiliser le VPC partagé dans vos architectures réseau, consultez Bonnes pratiques et architectures de référence pour la conception de VPC.
Architecture réseau d'un cluster
Cette section décrit en détail l'architecture réseau utilisée dans Managed Service pour Apache Kafka.
Un cluster Kafka s'étend sur un réseau de locataire et un ou plusieurs réseaux de consommateurs.
Dans le réseau du locataire, le cluster dispose d'une seule adresse IP et URL d'amorçage. Cette adresse d'amorçage correspond à un équilibreur de charge connecté à tous les courtiers du cluster. Chaque broker peut également servir de serveur bootstrap, mais nous vous recommandons d'utiliser l'adresse bootstrap pour plus de fiabilité.
Dans chaque réseau consommateur, le service crée un point de terminaison Private Service Connect pour l'adresse d'amorçage et un point de terminaison pour chaque courtier.
L'URL de l'adresse d'amorçage est la même pour tous les réseaux VPC auxquels un cluster est connecté. L'adresse IP est locale au réseau consommateur.
Les clients se connectent aux brokers Kafka à l'aide de noms DNS. Ces noms sont enregistrés automatiquement dans chaque réseau VPC auquel un cluster Kafka est connecté. L'adresse d'amorçage et son numéro de port sont disponibles en tant que propriété du cluster.
Les clients utilisent l'adresse d'amorçage pour récupérer les URL des courtiers. Ces URL sont résolues en adresses IP locales pour chaque réseau VPC. Vous trouverez les adresses IP et les URL réelles du courtier dans Cloud DNS.
Le schéma suivant présente un exemple d'architecture de réseau de cluster Managed Service pour Apache Kafka.

Dans cet exemple, le cluster comporte trois courtiers et se trouve dans le VPC du locataire.
Les courtiers communiquent avec les clients via le port Kafka par défaut (9092) et disposent d'adresses IP uniques. Dans cet exemple, les trois courtiers ont respectivement les adresses IP 10.128.10.2, 10.128.10.3 et 10.128.10.4.
Les trois courtiers se connectent à l'équilibreur de charge d'amorçage. Cela garantit une haute disponibilité et une tolérance aux pannes régionales, car l'adresse d'amorçage n'est pas limitée à un seul courtier ou une seule zone.
Résoudre les problèmes de configuration du réseau VPC
Si le service ne peut pas configurer le réseau VPC du consommateur pour accéder au cluster Managed Service pour Apache Kafka, il enregistre des messages semblables à ceux ci-dessous :
Managed Service for Apache Kafka failed to set up networking in VPC subnet
to the cluster project.
Si vos clients Kafka ne parviennent pas à se connecter à un cluster Managed Service for Apache Kafka, procédez comme suit pour résoudre le problème :
Activez les API Compute Engine et Cloud DNS dans le projet parent du réseau VPC consommateur.
Si le cluster Managed Service pour Apache Kafka et le réseau VPC du consommateur se trouvent dans des projets différents, configurez les autorisations requises. Consultez Connecter un cluster à plusieurs projets.
Assurez-vous qu'aucune contrainte liée aux règles d'administration n'empêche le service de créer les ressources nécessaires dans le projet du réseau VPC du consommateur.
Assurez-vous que les clients utilisent la bonne adresse d'amorçage.
Assurez-vous que les clients Kafka s'exécutent dans un réseau VPC configuré pour accéder au cluster Managed Service pour Apache Kafka.
Si vous exécutez le client Kafka sur un ordinateur ou un ordinateur portable, vous pouvez configurer une instance Compute Engine à utiliser comme proxy pour accéder au cluster Managed Service pour Apache Kafka. Pour en savoir plus, consultez Configurer une machine cliente.