Bande passante réseau

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Google Cloud tient compte de la bande passante par instance de machine virtuelle (VM), et non par interface réseau (carte d'interface réseau) ou adresse IP. Le type de machine d'une VM définit son débit de sortie maximal possible. Cependant, vous ne pouvez atteindre ce débit de sortie maximal que dans des situations spécifiques.

Cette page décrit les attentes possibles en termes de bande passante, ce qui s'avère utile lors de la planification des déploiements. La bande passante est catégorisée selon deux dimensions :

  • Sens du trafic : comme vous le verrez sur cette page, le sens du trafic est toujours du point de vue d'une VM Google Cloud :
    • Les paquets envoyés à partir d'une VM Google Cloud composent son trafic de sortie (trafic sortant).
    • Les paquets envoyés à une VM Google Cloud composent son trafic d'entrée (trafic entrant).
  • Type d'adresse IP de destination : Google Cloud catégorise les adresses IP comme étant internes ou externes :

    • Une adresse IP au sein d'un réseau VPC est appelée adresse IP interne. Par exemple, la carte d'interface réseau de chaque VM possède une adresse IP interne principale située dans un réseau VPC. Les adresses IP internes peuvent correspondre à n'importe quelle plage d'adresses IP publiques valide ou réutilisée de manière privée.
    • Une adresse IP accessible à partir d'Internet est une adresse IP externe. Les adresses IP externes peuvent être situées dans Google Cloud, telles que l'adresse IP externe attribuée à la carte d'interface réseau d'une VM. Les adresses IP externes sont toujours des adresses IP publiques, y compris des adresses IP publiques sur Internet en dehors de Google Cloud.

    Consultez la page Adresses IP de la documentation sur les VPC pour obtenir des définitions précises. Par exemple, si vous réutilisez en privé une adresse IP publique dans votre réseau VPC, il s'agit d'une adresse IP interne, et l'adresse IP externe correspondante n'est plus accessible.

Toutes les informations sur cette page s'appliquent aux VM Compute Engine, ainsi qu'aux produits qui dépendent des VM Compute Engine. Par exemple, un nœud Google Kubernetes Engine est une VM Compute Engine.

Ni les interfaces réseau supplémentaires, ni les adresses IP supplémentaires par carte d'interface réseau n'augmentent la bande passante d'entrée ou de sortie d'une VM. Par exemple, une VM n1-standard-8 dotée de deux cartes d'interface réseau est limitée à 16 Gbit/s de bande passante totale de sortie, et non à 16 Gbit/s de bande passante de sortie par carte d'interface réseau.

Tableau récapitulatif de la bande passante

Le tableau suivant récapitule les attentes en termes de bande passante :

Adresse de destination du paquet
Sens du trafic Destination de l'adresse IP interne Destination de l'adresse IP externe
Sortie
à partir d'une VM Google Cloud
  • La sortie maximale possible est définie par le type de machine de la VM émettrice. En sélectionnant des types de machines N2, N2D ou C2 plus volumineux, vous pouvez atteindre jusqu'à 100 Gbit/s de bande passante de niveau 1.
  • Pour atteindre le débit de sortie maximal, envoyez le trafic vers une adresse IP interne associée à une autre VM Google Cloud dans la même zone que la VM émettrice, sur le même réseau VPC ou sur un réseau VPC connecté par appairage de réseaux VPC.
La sortie maximale possible à partir d'une seule VM ne peut pas dépasser la valeur suivante :
  • Au total, 7 Gbit/s pour tous les flux de sortie vers des adresses IP externes
  • 3 Gbit/s par flux de sortie individuel vers une adresse IP externe
Entrée
vers une VM Google Cloud
  • Limitée par le type de machine, le système d'exploitation et les conditions du réseau.
  • Google Cloud n'impose pas de limites supplémentaires sur l'entrée vers une adresse IP interne.
Google Cloud protège chaque VM en limitant le trafic entrant envoyé à une adresse IP externe associée à la VM. La limite est le premier des débits courants suivants :
  • 1 800 000 paquets par seconde (pps)
  • 20 Gbit/s.

Bande passante de sortie

Google Cloud limite la bande passante sortante (de sortie) par VM et par projet. La bande passante sortante inclut le trafic envoyé par toutes les cartes d'interface réseau de la VM, ainsi que les données transférées vers tous les disques persistants connectés à la VM.

La bande passante de sortie maximale possible dépend du type de machine de la VM. Ces numéros sont documentés dans des tableaux pour chaque type de machine de chaque famille de machines. Par exemple, une VM n2-standard-8 dispose de huit processeurs virtuels. La bande passante de sortie maximale possible est donc de 16 Gbit/s. Toutefois, il est possible de créer des VM à haut débit avec des types de machines à usage général ou optimisés pour le calcul.

La bande passante de sortie de chaque type de machine est répertoriée sur la page de sa famille de machines spécifique :

La bande passante de sortie maximale possible n'est pas une garantie. Outre le type de machine, la bande passante de sortie est affectée par de nombreux facteurs, dont ceux de la liste non exhaustive suivante :

  • Taille des paquets
  • Surcharge de protocole
  • Nombre de flux
  • Paramètres du pilote Ethernet du système d'exploitation invité de la VM, tels que le déchargement de somme de contrôle et le déchargement de la segmentation par TCP (TSO)
  • Congestion du réseau
  • Destination du paquet. Google Cloud gère le trafic de sortie d'une VM différemment suivant que l'adresse de destination du paquet sortant est une adresse IP interne ou une adresse IP externe.
  • Dans une situation où les disques persistants sont en concurrence avec un autre trafic de sortie réseau, 60 % de la bande passante réseau maximale est alloué aux écritures sur disques persistants, ce qui laisse 40 % pour le reste du trafic de sortie réseau. Pour en savoir plus, consultez la section Autres facteurs ayant une incidence sur les performances dans la documentation sur les disques persistants.

Sortie vers une adresse IP interne de destination

Du point de vue d'une VM émettrice, Google Cloud limite la sortie maximale possible à l'adresse IP interne de destination en fonction du type de machine de la VM émettrice. Les adresses IP internes sont celles d'un réseau VPC, d'un réseau VPC différent connecté à l'aide de l'appairage de réseaux VPC, ou d'un réseau connecté à votre réseau VPC à l'aide de Cloud VPN ou de Cloud Interconnect.

La liste suivante classe le trafic entre plusieurs VM, en utilisant les sources et les destinations d'adresses IP internes, de la bande passante la plus élevée possible à la plus basse :

  • Entre plusieurs VM d'une même zone
  • Entre des VM situées dans différentes zones de la même région
  • Entre des VM situées dans différentes zones de différentes régions

Lors de l'envoi de trafic depuis une VM vers une adresse IP interne située sur un autre réseau VPC connecté à l'aide de tunnels Cloud VPN, la bande passante de sortie est limitée au débit de données maximal d'un tunnel Cloud VPN.

Pour utiliser pleinement la bande passante de plusieurs tunnels et le routage ECMP, vous devez utiliser plusieurs connexions TCP (cinq tuples uniques). Un hachage à cinq tuples est constitué d'un protocole, d'une adresse IP source, d'un port source, d'une adresse IP de destination et d'un port de destination.

Sortie vers une adresse IP externe de destination

Du point de vue d'une VM émettrice, Google Cloud limite le trafic sortant envoyé à une adresse IP externe de destination à l'une des valeurs suivantes dès qu'elle est atteinte. Une adresse IP externe est routable publiquement : une adresse IP externe d'une ressource Google Cloud ou une adresse sur Internet.

  • 7 Gbit/s, au total, pour tous les flux de paquets et connexions
  • 3 Gbit/s par flux (hachage unique à cinq tuples)

Vous pouvez associer une adresse IP externe à une VM Google Cloud dans l'une des capacités suivantes :

  • Vous pouvez attribuer une adresse IP externe à l'interface réseau d'une VM.
  • Une règle de transfert externe utilisée pour le transfert de protocole nécessite une adresse IP externe.
  • L'adresse IP d'une règle de transfert d'un équilibreur de charge TCP/UDP nécessite une adresse IP externe.
  • Les adresses IP externes sont associées à une passerelle Cloud NAT.

Par exemple, même si une instance n2-standard-16 possède une limite de bande passante de sortie de 32 Gbit/s, la bande passante de sortie totale vers Internet est limitée à 7 Gbit/s.

Quotas et limites de sortie agrégées par projet

Google Cloud applique également les éléments suivants pour les projets :

  • Bande passante de sortie Internet maximale de toutes les VM dans chaque région vers des adresses IP externes en dehors de Google Cloud : cette limite est définie par le quota de bande passante de sortie Internet de chaque région.

  • Bande passante de sortie maximale de toutes les VM dans une région donnée vers toutes les autres régions Google Cloud : s'applique au trafic envoyé à à la fois vers des adresses IP internes de destination et des adresses IP externes de destination. Cette limite est calculée par télémétrie interne et il est peu probable qu'elle restreigne la bande passante interrégionale pour la plupart des projets. Pour toute question concernant l'obtention de la bande passante régionale requise, contactez votre équipe commerciale.

Bande passante d'entrée

Google Cloud gère le trafic entrant vers une VM différemment suivant que la destination du paquet est une adresse IP interne ou externe.

Entrée vers une adresse IP interne de destination

Google Cloud n'applique aucune restriction intentionnelle au trafic entrant vers une adresse IP interne associée. Une VM peut recevoir autant de trafic interne que le permettent son type de machine, son système d'exploitation, et d'autres conditions et ressources réseau. Une adresse IP interne associée correspond à l'un des éléments suivants :

  • L'adresse IP interne principale de l'interface réseau d'une VM
  • Une adresse IP d'alias issue d'une plage d'adresses IP d'alias attribuée à l'interface réseau d'une VM
  • L'adresse IP d'une règle de transfert interne utilisée pour le transfert de protocole interne
  • L'adresse IP d'une règle de transfert d'un équilibreur de charge TCP/UDP interne

Entrée vers une adresse IP externe de destination

Google Cloud limite le trafic entrant envoyé à l'adresse IP externe associée d'une VM suivant le premier débit atteint parmi les suivants :

  • 1 800 000 paquets par seconde
  • 20 Gbit/s.

Dans le contexte de cette limitation, une adresse IP externe associée correspond à l'un des éléments suivants :

  • Une adresse IP externe attribuée à l'interface réseau d'une VM
  • L'adresse IP d'une règle de transfert externe utilisée pour le transfert de protocole externe
  • L'adresse IP d'une règle de transfert d'un équilibreur de charge réseau TCP/UDP
  • Des réponses entrantes établies traitées par Cloud NAT

En ce qui concerne les deux dernières définitions d'une adresse IP externe associée, notez que si une adresse IP externe est partagée entre plusieurs VM, Google Cloud limite le trafic entrant individuellement pour chaque VM de backend.

Files d'attente de réception et de transmission

Chaque carte d'interface réseau de VM se voit attribuer un nombre de files d'attente de réception et de transmission pour le traitement des paquets à partir du réseau.

  • File d'attente de réception (RX) : file d'attente pour recevoir les paquets. Lorsque la carte d'interface réseau reçoit un paquet du réseau, elle sélectionne le descripteur d'un paquet entrant dans la file d'attente, le traite et le transmet au système d'exploitation invité par le biais d'une file d'attente de paquets associée à un cœur de processeur virtuel via une interruption. Si la file d'attente RX est pleine et qu'aucun tampon n'est disponible pour placer un paquet, le paquet est supprimé. Cela peut généralement se produire si une application surutilise un cœur de processeur virtuel également associé à la file d'attente de paquets sélectionnée.
  • File d'attente de transmission (TX) : file d'attente pour transmettre des paquets. Lorsque le système d'exploitation invité envoie un paquet, un descripteur est alloué et placé dans la file d'attente TX. La carte d'interface réseau traite ensuite le descripteur et transmet le paquet.

Allocation de file d'attente par défaut

Sauf si vous attribuez explicitement un nombre de files d'attente aux cartes d'interface réseau, vous pouvez modéliser l'algorithme utilisé par Google Cloud pour attribuer un nombre fixe de files d'attente RX et TX par carte d'interface réseau de la manière suivante :

  1. Divisez le nombre de processeurs virtuels par le nombre de cartes réseau, puis supprimez le reste : ⌊number of vCPUs/number of NICs⌋. Ce calcul donne toujours un nombre entier (et non une fraction).

  2. Si le nombre calculé est égal à zéro, ignorez le nombre calculé et attribuez à chaque carte d'interface réseau une file d'attente à la place.

  3. Déterminez si le nombre calculé est supérieur au nombre maximal de files d'attente par carte d'interface réseau. Le nombre maximal de files d'attente par carte d'interface réseau dépend du type de pilote :

    • Avec virtIO ou un pilote personnalisé, le nombre maximal de files d'attente par carte d'interface réseau est de 32. Si le nombre calculé est supérieur à 32 : ignorez le nombre calculé et attribuez 32 files d'attente à chaque carte d'interface réseau.
    • Avec gvNIC, le nombre maximal de files d'attente par carte d'interface réseau est de 16. Si le nombre calculé est supérieur à 16 : ignorez le nombre calculé et attribuez 16 files d'attente à chaque carte d'interface réseau.

Par exemple :

  • Si une VM comporte huit processeurs virtuels et trois cartes d'interface réseau, le nombre calculé est ⌊8/3⌋ = 2. Quel que soit le pilote, Google Cloud attribue deux files d'attente à chaque carte d'interface réseau.

  • Si une VM comporte 96 processeurs virtuels et deux cartes d'interface réseau, le nombre calculé est ⌊96/2⌋ = 48. Étant donné que la valeur de 48 est supérieure au nombre maximal de files d'attente par carte d'interface réseau, Google Cloud attribue à chaque carte le nombre maximal de files d'attente par carte d'interface réseau. Cela dépend du pilote. Si la VM utilise le pilote virtIO, Google Cloud attribue 32 files d'attente par carte d'interface réseau. Si la VM utilise le pilote gvNIC, Google Cloud attribue 16 files d'attente par carte d'interface réseau.

Sur les systèmes Linux, vous pouvez utiliser ethtool pour configurer une carte réseau avec moins de files d'attente que le nombre de files d'attente par carte d'interface réseau attribué par Google Cloud.

Allocation de file d'attente personnalisée

Au lieu de l'allocation de file d'attente par défaut, vous pouvez attribuer un nombre personnalisé de files d'attente (à la fois RX et TX) à chaque carte d'interface réseau lorsque vous créez une VM à l'aide de l'API Compute Engine.

Le nombre de files d'attente personnalisées que vous spécifiez doit respecter les règles suivantes :

  • Le nombre minimal de files d'attente que vous pouvez attribuer par carte d'interface réseau est de 1.

  • Le nombre maximal de files d'attente que vous pouvez attribuer par carte d'interface réseau dépend du type de pilote :

    • Avec virtIO ou un pilote personnalisé, le nombre maximal de files d'attente est de 32.
    • Avec gvNIC, le nombre maximal de files d'attente est de 16.
  • Si vous attribuez des nombres de files d'attente personnalisés à toutes les cartes d'interface réseau de la VM, la somme de vos attributions de files d'attente doit être inférieure ou égale au nombre de processeurs virtuels attribués à l'instance de VM.

Par exemple :

  • Si une VM comporte huit processeurs virtuels et trois cartes d'interface réseau, vous pouvez attribuer une file d'attente à nic0, quatre files d'attente à nic1 et trois files d'attente à nic2. Dans cet exemple, vous ne pouvez pas attribuer ensuite quatre files d'attente à nic2 tout en conservant les deux autres files d'attente, car la somme des files d'attente attribuées ne peut pas dépasser le nombre de processeurs virtuels (huit).

  • Si une VM comporte 96 processeurs virtuels et deux cartes d'interface réseau, vous pouvez attribuer jusqu'à 32 files d'attente à chaque carte d'interface réseau lorsque vous utilisez le pilote virtIO, ou jusqu'à 16 files d'attente lorsque vous utilisez le pilote gvNIC. Dans cet exemple, la somme des files d'attente attribuées est toujours inférieure au nombre de processeurs virtuels.

Il est également possible d'attribuer un nombre de files d'attente personnalisé à certaines cartes d'interface réseau uniquement, ce qui permet à Google Cloud d'attribuer des files d'attente aux cartes d'interface réseau restantes. Le nombre de files d'attente que vous pouvez attribuer par carte d'interface réseau est toujours soumis aux règles ci-dessus. Vous pouvez modéliser la faisabilité de votre configuration et, si votre configuration est possible, le nombre de files d'attente attribuées par Google Cloud aux cartes d'interface réseau restantes avec ce processus :

  1. Calculez la somme des files d'attente pour les cartes d'interface réseau à l'aide de l'attribution de files d'attente personnalisée. Pour un exemple de VM avec 20 processeurs virtuels et six cartes d'interface réseau, supposons que vous souhaitez attribuer cinq files d'attente à nic0, six files d'attente à nic1, quatre files d'attente à nic2, puis laisser Google Cloud attribuer les files d'attente pour nic3 ,nic4 et nic5. Dans cet exemple, la somme des files d'attente attribuées de manière personnalisée est 5+6+4 = 15.

  2. Soustrayez la somme des files d'attente personnalisées aux nombres de processeurs virtuels. Si la différence n'est pas au moins égale au nombre de cartes d'interface réseau restantes auxquelles Google Cloud doit attribuer des files d'attente, Google Cloud renvoie une erreur. En reprenant l'exemple de VM de 20 processeurs virtuels et une somme de 15 files d'attente personnalisées, Google Cloud dispose de 20-15 = 5 files d'attente restantes à attribuer aux cartes d'interface réseau restantes (nic3, nic4, nic5).

  3. Divisez la différence de l'étape précédente par le nombre de cartes d'interface réseau restantes et supprimez le reste : ⌊(number of vCPUs - sum of assigned queues)/(number of remaining NICs)⌋. Ce calcul donne toujours un nombre entier (et non une fraction) au moins égal à un en raison de la contrainte expliquée à l'étape précédente. Google Cloud attribue à chaque carte réseau restante un nombre de files d'attente correspondant au nombre calculé, à condition que le nombre calculé ne dépasse pas le nombre maximal de files d'attente par carte d'interface réseau. Le nombre maximal de files d'attente par carte d'interface réseau dépend du type de pilote :

    • En utilisant virtIO ou un pilote personnalisé, si le nombre de files d'attente calculé pour chaque carte d'interface réseau restante est supérieur à 32, Google Cloud attribue 32 files d'attente à chaque carte d'interface réseau restante.
    • En utilisant gvNIC, si le nombre de files d'attente calculé pour chaque carte d'interface réseau restante est supérieur à 16, Google Cloud attribue 16 files d'attente à chaque carte d'interface réseau restante.

API

Créez une VM avec un nombre de files d'attente spécifique pour les cartes d'interface réseau.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "name": "VM_NAME",
  "machineType": "machineTypes/MACHINE_TYPE"
  "networkInterfaces": [
      {
        "network": string,
        "subnetwork": string,
        "networkIP": string,
        "name": string,
        "queueCount": "QUEUE_SIZE",
        ....
      ],
      } ],
 }

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel créer la VM
  • ZONE : zone dans laquelle créer la VM
  • MACHINE_TYPE : type de machine prédéfini ou personnalisé pour la nouvelle VM
  • VM_NAME : nom de la nouvelle VM
  • QUEUE_SIZE : nombre de files d'attente pour la carte d'interface réseau, sous réserve des règles décrites dans cette section.

Allocations de file d'attente et modification du type de machine

Si vous arrêtez une instance de VM et modifiez son type de machine, et que le nouveau type de machine possède un nombre différent de processeurs virtuels, Google Cloud ne modifie pas les attributions de files d'attente par carte d'interface réseau. Les attributions de files d'attente par défaut ou personnalisées pour les cartes d'interface réseau ne sont définies que lors de la création d'une VM.

Étape suivante