Le Blog Amazon Web Services

Optimisation des performances de vos utilisateurs en Chine avec Amazon Route 53 et Amazon CloudFront

Les entreprises et les startups qui cherchent à se développer à l’échelle mondiale se tournent vers la Chine, un marché important et en forte croissance. Pour accélérer le parcours cloud de nos clients et les aider à s’implanter rapidement sur de nouveaux marchés, la région AWS Chine (Pékin) a été lancée en 2016, suivie du lancement de la région AWS Chine (Ningxia) en 2017. Ces régions offrent la meilleure expérience aux clients pour fournir des services AWS en Chine continentale.

Avec la disponibilité d’Amazon Route 53 en Chine, les clients disposent d’un outil supplémentaire pour offrir des services hautement performants aux utilisateurs finaux en Chine. Amazon Route 53 fournit un système de noms de domaine (DNS) hautement disponible et évolutif, l’enregistrement de nom de domaine (Route 53 Global) et la vérification de l’état des services web. Il complète Amazon CloudFront (Chine) qui a été lancé en 2019. Amazon CloudFront est un service qui offre aux entreprises et aux développeurs d’applications web un moyen simple et économique de distribuer du contenu avec une faible latence et des vitesses de transfert de données élevées.Cet article propose une approche pour améliorer les performances des sites web pour les utilisateurs finaux en Chine et hors Chine à l’aide d’Amazon Route 53, d’Amazon CloudFront et Elastic Load Balancing (Application Load Balancer).

Aperçu de la solution

Cette solution illustre comment utiliser Amazon Route 53 et Amazon CloudFront sur la partie AWS Global et AWS Chine afin d’améliorer l’expérience utilisateur, les performances à l’intérieur et à l’extérieur des régions AWS chinoises. L’objectif est de maintenir le trafic des utilisateurs provenant de la Chine en Chine et le trafic des utilisateurs provenant de l’extérieur de la Chine en dehors de la Chine. Ainsi, nous réduisons le trafic qui traverse les frontières du réseau, minimisons la latence et améliorons les performances. Ceci est possible en utilisant des zones DNS à l’intérieur et à l’extérieur de la Chine avec une politique de routage par géolocalisation sur Amazon Route 53. Le routage par géolocalisation vous permet de choisir les ressources qui desservent votre trafic en fonction de la localisation géographique de vos utilisateurs. Les utilisateurs finaux en Chine sont donc orientés vers un point de terminaison à l’intérieur des régions chinoises qui est géré par une distribution Amazon CloudFront (situé en Chine) pour améliorer encore les performances. Le trafic des utilisateurs hors Chine cible un point de terminaison en dehors de la Chine et est également géré par une distribution CloudFront. Reportez-vous à la section Connexions réseau pour les régions AWS Chine (article en anglais) dans “Premiers pas” avec les services AWS dans la région AWS Chine (Beijing) et la région AWS Chine (Ningxia) pour en savoir plus sur l’exposition d’un point de terminaison de service public dans la région AWS Chine.

Pré-requis

  • Nous utiliserons Amazon Route 53 (Global), Amazon CloudFront (Global), Amazon Route 53 (Chine), Amazon CloudFront (Chine) et les origines servies via Application Load Balancer (ALB). Cet article se concentre sur l’utilisation d’un site web statique ou dynamique et utilise des redirections HTTP. Un tel comportement peut entraver le fonctionnement d’un point de terminaison d’une API. Par conséquent, ce cas d’utilisation n’est pas couvert ici,
  • Des solutions pour étendre les origines mondiales actuelles aux régions AWS Chine existent, mais sont hors de portée de cet article,
  • Les régions AWS Chine ont des exigences spécifiques en matière de fournisseur de contenu Internet (Internet Content Provider : ICP), de compte AWS et d’informations d’identification pour accéder aux services AWS en Chine continentale, distinctes des autres régions AWS. Consultez “Premiers pas” avec les services AWS dans la région AWS Chine (Pékin) et la regions AWS Chine (Ningxia) pour en savoir plus (contenu en anglais),
  • Les noms de domaine requis sont enregistrés pour être utilisés à la fois dans le monde (.com) et en Chine (.cn) via Amazon Route 53 ou d’autres bureaux d’enregistrement de domaines tiers. Par exemple www.example.com et www.example.cn

Fonctionnement

Cette solution vous présentera quatre principaux cas d’utilisation à l’aide d’Amazon Route 53 et d’Amazon CloudFront pour optimiser les performances de l’expérience utilisateur en Chine :

Mise en place

Dans cette architecture, nous combinons Amazon Route 53 avec Amazon CloudFront (Global et Chine). Les serveurs de noms Route 53 (Global) et les emplacements périphériques CloudFront situés en dehors de la région chinoise gèrent le trafic des utilisateurs ne provenant pas de la Chine. Pour les utilisateurs en Chine, Amazon Route 53 (Chine) et Amazon CloudFront (Chine) font de même, gardant le trafic provenant de Chine à l’intérieur de la région, optimisant l’expérience utilisateur et les performances. Voici comment vous pouvez y parvenir :

Région AWS Global

  • Créez l’Application Load Balancer servant d’origine pour votre site Web, par exemple origin.example.com. Configurez une redirection d’URL de *.example.cn vers *.example.com avec une condition d’en-tête utilisant l’hôte,
  • Créez une distribution dans Amazon CloudFront, par exemple xyz.cloudfront.net. Configurez le nom de domaine alternatif / CNAME avec www.example.com et www.example.cn,
  • Dans Amazon Route 53, créez une zone hébergée publique pour example.com,
  • Créez deux enregistrements CNAME à l’aide de la politique de routage par géolocalisation pour l’enregistrement de www. L’emplacement par défaut doit pointer vers la distribution Amazon CloudFront créée ci-dessus xyz.cloudfront.net via un CNAME. Le deuxième enregistrement pour l’emplacement Chine pointera vers la distribution Amazon CloudFront dans la partie Chine. En attendant, il devra pointer vers l’Application Load Balancer servant d’origine sous origin.example.com via un CNAME.

Région AWS Chine

  • Créez l’Application Load Balancer servant d’origine pour votre site Web, par exemple origin.example.cn. Configurez une redirection d’URL de *.example.com vers *.example.cn avec une condition d’en-tête utilisant l’hôte,
  • Créez une distribution dans Amazon CloudFront (Chine), par exemple xyz.cloudfront.cn. Configurez un nom de domaine alternatif / CNAME pointant vers www.example.com et www.example.cn. Notez que dans les régions AWS Chine, vous ne pouvez pas utiliser le domaine CloudFront par défaut pour diffuser du contenu (*.cloudfront.cn). Vous devez ajouter un autre nom de domaine, un CNAME, à vos distributions CloudFront, puis utiliser ce nom de domaine dans les URL de votre contenu. De plus, la partie CloudFront (Chine) valide si l’enregistrement DNS du nom de domaine alternatif pointe vers une distribution qui n’est pas celle que vous créez ou modifiez. Cette validation prend également en compte les distributions au sein de la partie CloudFront (Global). La solution utilisée ici consiste à faire pointer l’enregistrement DNS pour le nom de domaine alternatif vers l’Application Load Balancer (Global) via la politique de routage par géolocalisation pour les demandes en provenance de la Chine (voir l’étape 4 dans la section précédente),
  • Dans Amazon Route 53 (Chine), créez une zone hébergée publique (public hosted zone) pour www.example.cn,
  • Créez deux enregistrements CNAME en utilisant la politique de routage par géolocalisation pour l’enregistrement www. L’emplacement par défaut doit pointer vers la distribution Amazon CloudFront précédemment créée xyz.cloudfront.net via un CNAME. Le deuxième enregistrement pour l’emplacement Chine pointe vers la distribution Amazon CloudFront précédemment créée xyz.cloudfront.cn dans la partie Chine via un CNAME.

Dans Amazon Route 53 (Global), mettez à jour l’enregistrement CNAME pour www.example.com qui pointait vers l’Application Load Balancer comme étape intermédiaire. Le deuxième enregistrement pour l’emplacement Chine pointe vers la distribution Amazon CloudFront précédemment créée xyz.cloudfront.cn dans la partie Chine.

Le diagramme ci-dessous montre l’architecture détaillée :

architecture détaillée

Figure 1 : Diagramme d’architecture de la solution

Maintenant, nous allons voir comment fonctionne le flux de trafic selon les quatre cas d’utilisation sur lesquels nous travaillons.

Cas d’utilisation

1. Utilisateurs en Chine accédant à www.example.cn

utilisateurs Chine

Figure 2 : Cas d’utilisation pour les utilisateurs en Chine accédant à www.example.cn

  • La zone DNS example.cn est servie par Amazon Route 53 (Chine) et des serveurs de noms faisant autorité en Chine. Par conséquent, les requêtes DNS provenant d’utilisateurs en Chine restent en Chine et sont servies par les serveurs DNS d’Amazon Route 53 (Chine).
  • En raison de la politique de routage par géolocalisation de Route 53, le trafic pour www.example.cn est dirigé vers la distribution CloudFront (Chine) xyz.cloudfront.cn. Route 53 acheminera la requête vers un emplacement périphérique (Edge Location) CloudFront en Chine. Le comportement de mise en cache CloudFront s’appliquera à cette étape.
  • L’Application Load Balancer servant d’origine pour CloudFront n’a pas besoin d’invoquer de règles de transfert dans ce cas.
  • L’Application Load Balancer se connecte au back-end pour répondre à la requête.

Par conséquent, les utilisateurs chinois tirent parti des serveurs Amazon Route 53 et des emplacements périphériques Amazon CloudFront en Chine, tout en utilisant le domaine .cn et n’ont donc pas à traverser les frontières régionales du réseau.

2. Utilisateurs mondiaux (en dehors de la Chine) accédant à www.example.com

Utilisateurs mondiaux

Figure 3 : Cas d’utilisation pour les utilisateurs mondiaux (en dehors de la Chine) accédant à www.example.com

  • La zone DNS example.com est servie par Amazon Route 53 et des serveurs de noms faisant autorité en dehors de la Chine. Par conséquent, les requêtes DNS provenant d’utilisateurs en dehors de la Chine restent en dehors de la Chine et sont servies par les serveurs DNS d’Amazon Route 53 en dehors de la Chine,
  • En raison de la politique de routage par géolocalisation dans Route 53, le trafic pour www.example.com est dirigé vers la distribution CloudFront xyz.cloudfront.net. Route 53 acheminera la requête vers un emplacement périphérique CloudFront en dehors de la Chine. Le comportement de mise en cache CloudFront s’appliquera à cette étape,
  • L’Application Load Balancer, servant d’origine pour CloudFront n’a pas besoin d’invoquer de règles de transfert dans ce cas,
  • L’Application Load Balancer se connecte au back-end pour répondre à la requête.

Les utilisateurs à l’extérieur de la Chine tirent parti des serveurs Amazon Route 53 (Global) et des emplacements périphériques Amazon CloudFront en dehors de la Chine, tout en utilisant le domaine .com et n’ont pas à traverser les frontières régionales du réseau.

3. Utilisateurs en Chine accédant à www.example.com

Utilisateurs Chine .com

Figure 4 : Cas d’utilisation pour les utilisateurs en Chine accédant à www.example.com

  • La zone DNS example.com est servie par Amazon Route 53 et des serveurs de noms faisant autorité en dehors de la Chine. Par conséquent, les requêtes DNS provenant d’utilisateurs en Chine doivent traverser les limites du réseau et être servies par des serveurs DNS Amazon Route 53 faisant autorité en dehors de la Chine,
  • En raison de la politique de routage par géolocalisation dans Route 53, le trafic pour www.example.com est dirigé vers la distribution CloudFront xyz.cloudfront.cn. Route 53 acheminera la requête vers un emplacement périphérique CloudFront en Chine. Le comportement de mise en cache CloudFront s’appliquera à cette étape,
  • La redirection configurée sur l’ALB dans la région AWS Chine émettra une redirection de www.example.com vers www.example.cn. Au sein du client, cela déclenche une nouvelle requête pour www.example.cn,
  • La zone DNS example.cn est servie par Amazon Route 53 (Chine) et des serveurs de noms faisant autorité en Chine. Par conséquent, les requêtes DNS pour cette zone provenant d’utilisateurs en Chine restent en Chine et sont servies par les serveurs DNS d’Amazon Route 53 (Chine),
  • En raison de la politique de routage par géolocalisation de Route 53, le trafic pour www.example.cn est dirigé vers la distribution CloudFront (Chine) xyz.cloudfront.cn. Route 53 acheminera la requête vers un emplacement périphérique CloudFront en Chine. Le comportement de mise en cache CloudFront s’appliquera à cette étape,
  • L’Application Load Balancer servant d’origine pour CloudFront n’a pas besoin d’invoquer de règles de transfert dans ce cas,
  • L’Application Load Balancer se connecte au back-end pour répondre à la requête.

Dans ce cas d’utilisation, seule la requête DNS initiale traversera la limite du réseau. À partir de là, les utilisateurs à l’intérieur de la Chine exploitent les emplacements périphériques et les origines de CloudFront en Chine. Pour garantir que les demandes ultérieures restent en Chine, y compris toute résolution DNS, les utilisateurs sont redirigés vers le domaine www.example.cn.

4. Utilisateurs mondiaux (en dehors de la Chine) accédant à www.example.cn

Utilisateurs monde .cn

Figure 5 : Cas d’utilisation pour les utilisateurs mondiaux (en dehors de la Chine) accédant à www.example.cn

  • La zone DNS example.cn est servie par Amazon Route 53 (Chine) et des serveurs de noms faisant autorité en Chine. Par conséquent, les requêtes DNS provenant d’utilisateurs en dehors de la Chine doivent traverser les frontières du réseau et être servies par des serveurs DNS Amazon Route 53 faisant autorité en Chine,
  • En raison de la politique de routage par géolocalisation dans Route 53, le trafic pour www.example.cn est dirigé vers la distribution CloudFront xyz.cloudfront.net. Route 53 acheminera la requête vers un emplacement périphérique CloudFront en dehors de la Chine. Le comportement de mise en cache CloudFront s’appliquera à cette étape,
  • La redirection configurée sur l’ALB dans la région AWS Chine émettra une redirection de www.example.cn vers www.example.com. Au sein du client, cela déclenche une nouvelle requête pour www.example.com,
  • La zone DNS example.com est servie par Amazon Route 53 et des serveurs de noms faisant autorité en dehors de la Chine. Par conséquent, les requêtes DNS pour cette zone provenant d’utilisateurs en dehors de la Chine restent en dehors de la Chine et sont servies par les serveurs DNS Amazon Route 53 en dehors de la Chine,
  • En raison de la politique de routage par géolocalisation dans Route 53, le trafic pour www.example.com est dirigé vers la distribution CloudFront xyz.cloudfront.net. Route 53 acheminera la requête vers un emplacement périphérique CloudFront en dehors de la Chine. Le comportement de mise en cache CloudFront s’appliquera à cette étape,
  • L’Application Load Balancer servant d’origine pour CloudFront n’a pas besoin d’invoquer de règles de transfert dans ce cas,
  • L’Application Load Balancer se connecte au back-end pour répondre à la requête.

Dans ce cas d’utilisation, seule la requête DNS initiale traversera la limite du réseau. À partir de là, les utilisateurs à l’extérieur de la Chine exploitent les emplacements périphériques et les origines de CloudFront en dehors de la Chine. Pour garantir que les demandes ultérieures restent en dehors de la Chine, y compris toute résolution DNS, les utilisateurs sont redirigés vers le domaine www.example.com.

Validation

Amazon Route 53 Geolocalisation achemine le trafic utilisateur vers la partie AWS Global ou la partie AWS Chine. Il s’agit d’un élément clé de la solution présentée ici. La validation du comportement correct de cette politique de routage pour les utilisateurs à l’intérieur et à l’extérieur de la Chine peut être effectuée à l’aide de RIPE Atlas. RIPE Atlas est un réseau mondial de périphériques, appelés sondes et ancres, qui mesurent la connectivité Internet. Tout le monde peut accéder à ces données via des cartes de trafic Internet, des visualisations de données en streaming et par API. Les utilisateurs de RIPE Atlas peuvent également effectuer des mesures personnalisées pour obtenir de précieuses données sur leurs propres réseaux.

Dans notre cas, la validation utilisera le fait que les points de terminaison CloudFront en Chine et en dehors de la Chine utilisent des certificats TLS différents. Ces certificats fournissent donc différentes empreintes qui peuvent être identifiées lors d’une connexion, permettant de trouver le point de présence (POP) de CloudFront. Bien que l’utilisation de différents certificats TLS soit totalement transparente pour les utilisateurs finaux, elle permet une identification facile via les mesures SSL/TLS personnalisées de RIPE Atlas, que la distribution CloudFront (Global) ou CloudFront (Chine) ait été utilisée à partir de l’emplacement d’une sonde.

Carte sondes RIPE Atlas

Figure 6 : Cartographie des sondes RIPE Atlas vers les points de présence CloudFront Global (bleu) et CloudFront China (rouge) grâce au routage par géolocalisation de Route 53

La carte précédente a été générée avec une mesure personnalisée de RIPE Atlas. Chaque sonde RIPE Atlas pour laquelle l’hôte de la sonde spécifie l’emplacement qui s’est connectée à CloudFront (Global) en raison de la politique de géolocalisation Route 53 sont en bleu. Les sondes RIPE Atlas qui se connectent à CloudFront (Chine) sont en rouge.

Le résultat est comme prévu : les sondes RIPE Atlas en Chine sont servies par CloudFront (Chine) tandis que les sondes en dehors de la Chine sont servies par CloudFront (Global).

L’utilisation d’un test RIPE Atlas défini par l’utilisateur pour effectuer un Ping à partir du même ensemble de sondes RIPE Atlas à destination des points de terminaison .cn et .com montre des performances presque identiques pour les sondes à l’intérieur et à l’extérieur de la Chine pour les points de terminaison .cn et .com.

Map RIPE rtt .com

Figure 7 : Ping des temps d’aller-retour (RTT) des sondes RIPE Atlas contre le point de terminaison .com

Map RIPE rtt .cn

Figure 8 : Ping des temps d’aller-retour (RTT) des sondes RIPE Atlas contre le point de terminaison .cn

Considérations et limites supplémentaires

Résumé

Dans cet article nous avons montré des modèles d’architecture pour obtenir la meilleure expérience utilisateur et les meilleures performances pour des clients qui souhaitent déployer des applications dans le monde entier, y compris dans les régions chinoises. Quatre approches différentes sont disponibles et nous avons listé les avantages et les contraintes de chacune. Enfin, avec Amazon Route 53 et Amazon CloudFront, fournir une architecture multi régionale et optimisée en termes de performances pour les utilisateurs dans les régions chinoises et dans le monde est transparente.

Article original écrit par Christian Elsen (Senior Specialist Solutions Architect chez AWS), Rizwan Mushtaq (Senior Solutions Architect chez AWS) et adapté en français par Benjamin Richer (Solutions Architect au sein des équipes AWS France).