Selon Microsoft, une mise à jour d’un routeur est à l’origine d’une énorme panne de plusieurs heures affectant le réseau étendu de Microsoft (WAN), qui a rendu Azure, les applications Microsoft 365 et Power Platform inaccessibles dans le monde entier la semaine dernière.
La panne de mercredi dernier a touché Microsoft Teams, Exchange Online, Outlook, SharePoint Online, OneDrive for Business, Microsoft Graph, PowerBi, M365 Admin Portal, Microsoft Intune, Microsoft Defender for Cloud Apps et Microsoft Defender for Identity.
Avant la panne, Microsoft avait averti ses clients qu’une mise à jour planifiée pourrait entraîner une latence ou des délais lorsque les clients tentaient de se connecter aux ressources Azure dans les régions Public Azure, Microsoft 365 et Power BI. Mais alors que les travailleurs européens commençaient la journée, tout le monde c’est rendu compte que la mise à jour causait bien plus de problèmes que de la latence.
Un changement planifié qui ne passe pas
La mise a jour a eu directement un impact sur les périphériques réseau à travers le WAN de Microsoft, ce qui a fait tomber les connexions entre les services dans les centres de données. Ainsi que les connexions sur ExpressRoute, le réseau privé de Microsoft permettant aux clients de transférer des données entre les centres de données.
Microsoft indique dans son examen préliminaire post-incident que la production dans la plupart des régions et des services avaient été rétablis à 09:00 UTC mercredi. Mais l’ensemble des services ont été rétablis à 12:43 UTC le 25 janvier. La panne a également affecté les services de cloud Azure Government qui dépendaient du cloud public Azure, selon Microsoft.
« Nous avons déterminé qu’une modification apportée au réseau étendu (WAN) de Microsoft a eu un impact sur la connectivité entre les clients sur Internet et Azure, sur la connectivité entre les régions, ainsi que sur la connectivité entre les sites via ExpressRoute », explique Microsoft dans son rapport.
« Dans le cadre d’un changement planifié visant à mettre à jour l’adresse IP d’un routeur WAN, une commande donnée au routeur a entraîné l’envoi de messages à tous les autres routeurs du WAN, ce demandé à tous les serveurs de recalculer leurs matrices d’adjacence et de transfert. Pendant ce processus de recalcul, les routeurs n’étaient pas en mesure de transmettre correctement les paquets. La commande à l’origine du problème a des comportements différents selon les périphériques réseau, et la commande n’avait pas été vérifiée à l’aide de notre processus de qualification complet sur le routeur sur lequel elle a été exécutée. »
Pertes de paquet
Les systèmes de surveillance de Microsoft ont détecté des problèmes de service de nom de domaine (DNS) et de réseau étendu à 07:12 UTC. Après avoir examiné les changements récents, alors que la récupération automatique se déroulait à 08:20 UTC, les ingénieurs ont découvert la « commande problématique » à l’origine des problèmes.
« En raison de l’impact du WAN, nos systèmes automatisés ont été mis en pause, y compris les systèmes d’identification et de suppression des périphériques, et le système d’ingénierie du trafic pour optimiser le flux de données sur le réseau », a déclaré Microsoft.
« En raison de la pause de ces systèmes, certains chemins du réseau ont subi une augmentation de la perte de paquets à partir de 09:35 UTC jusqu’à ce que ces systèmes soient redémarrés manuellement, rétablissant le WAN dans des conditions de fonctionnement optimales. Cette reprise s’est achevée à 12h43 UTC. »
Microsoft indique désormais avoir « bloqué l’exécution de commandes à fort impact sur les appareils » afin d’éviter que cela ne se reproduise.
Microsoft prévoit de publier un rapport final post-incident dans les deux prochaines semaines.
Pour aller plus loin sur les pannes de cloud computing
Source : « ZDNet.com »
(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/fr_FR/all.js#appId=243265768935&xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));