Product
Post-mortem de Mailgun, septembre 2014
Ce rapport a été publié le 2 octobre 2014.
Nous tenons à vous fournir un rapport complet sur les problèmes de connectivité qui ont touché certains de nos clients Mailgun ces derniers jours.
La situation
Rackspace, notre société mère et fournisseur d’hébergement, nous a informés le vendredi 26 septembre qu’elle procéderait à des redémarrages d’instances cloud dans le centre de données de Chicago (ORD) pouvant affecter l’infrastructure de Mailgun, entre le dimanche 28 septembre à 11 h UTC et le lundi 29 septembre à 11 h UTC. Vous pouvez lire les explications de Rackspace concernant ces redémarrages ici : http://www.rackspace.com/blog/an-apology/
Mailgun exploite plusieurs environnements dans divers centres de données grâce à la configuration cloud hybride de Rackspace. Celle-ci utilise des équilibreurs de charge F5 qui servent de passerelle principale pour toutes les connexions entrantes et sortantes dans nos centres de données. En cas de panne ou de maintenance dans ces environnements, Mailgun redirige le trafic de manière transparente depuis les environnements concernés à l’aide de pools d’IP virtuels F5, sans aucun impact pour les clients ni modification DNS. Cela nous donne un meilleur contrôle sur le trafic, en nous permettant d’augmenter ou de diminuer progressivement les ratios d’équilibrage de charge sur les IP virtuelles et de répartir le trafic entre les environnements.
Le plan d’action
Pour éviter tout impact sur les clients suite aux redémarrages des instances cloud ORD, nous nous sommes préparés à basculer le trafic de cet environnement et avons effectué toutes les modifications nécessaires à cet effet. Le samedi 27 septembre à 18 h 50 UTC, nous avons remarqué que toutes les répliques de bases de données ainsi que le flux de trafic interne entre les environnements de l’ensemble des régions étaient interrompus et commençaient à signaler des dépassements de délai.
Nous n’avons pas pu déterminer la cause profonde de ces dépassements de délai avant le début des redémarrages des instances cloud ORD. Par conséquent, nous n’avons pas pu basculer le trafic à temps pour éviter un impact sur la clientèle.
Ce qu’il s’est réellement passé
Les redémarrages des instances cloud ORD ont commencé à 1 h 10 UTC le lundi 30 septembre, et ont entraîné les problèmes suivants entre 1 h 10 UTC et 11 h 29 UTC :
- Des échecs de connexion intermittents
- Une perte d’événements entre 2 h 30 UTC et 7 h UTC
- Environ 100 000 emails envoyés en double
Tous les messages signalés comme acceptés lors de cette panne ont été distribués.
Une partie de la clientèle de Mailgun a continué de subir des pertes de connexion intermittentes et des taux d’échec jusqu’au mardi 30 septembre dans l’après-midi.
Nous avons collaboré avec l’équipe du réseau d’entreprise de Rackspace pour mener l’enquête et avons finalement pu identifier la source du problème.
La maintenance du cloud a déclenché l’erreur sur les serveurs F5 de Mailgun, qui ont commencé à signaler une valeur Path MTU de 296 pour les IP des réseaux Mailgun. Cette valeur a été mise en cache par l’ensemble des serveurs F5 de la clientèle dédiée de Rackspace utilisant Mailgun.
Les serveurs F5 de la clientèle dédiée de Rackspace ont mis en cache une valeur MTU de 296, mais les serveurs situés derrière ces F5 ne pouvaient envoyer des paquets qu’avec un MTU minimum de 512. Cela a déclenché une perte de paquets, car les serveurs F5 de Mailgun ont appliqué la valeur MTU la plus faible.
L’équipe réseau de Rackspace a vidé les caches des serveurs F5 de Mailgun et de certains serveurs F5 de la clientèle dédiée de Rackspace, puis a configuré la nouvelle adresse IP virtuelle pour les services de Mailgun. Mailgun a modifié les paramètres DNS, ce qui a forcé le vidage des caches sur les serveurs F5 distants. Cette solution de contournement a résolu les problèmes restants pour la clientèle dédiée de Rackspace utilisant Mailgun.
Nous continuons de collaborer avec Rackspace pour déterminer la cause profonde de ce problème. À ce stade, nous pouvons affirmer que ce problème est lié à une valeur Path MTU inhabituellement basse, initialement mise en cache et appliquée par les équilibreurs de charge F5 de Mailgun.
Pour aller plus loin
Nous prenons la disponibilité de nos services très au sérieux et présentons nos excuses à l’ensemble de la clientèle de Mailgun affectée par ce problème. Une fois notre analyse des causes profondes du problème lié aux serveurs F5 terminée, nous prendrons des mesures pour garantir que la maintenance de notre infrastructure cloud n’ait plus aucun impact sur la clientèle de Mailgun.