Backends externes spécifiés à l'aide de NEG Internet

Utilisez des backends externes (également appelés origines personnalisées) pour Cloud CDN (réseau de diffusion de contenu) lorsque le contenu est hébergé sur site ou dans un autre cloud et que vous souhaitez le diffuser sur l'infrastructure de mise en cache périphérique distribuée et hautes performances de Google.

Terminologie

Les termes suivants sont parfois utilisés de manière interchangeable, car leur signification est identique ou similaire :

  • backend externe : backend situé en dehors de Google Cloud et accessible sur Internet. Point de terminaison d'un NEG Internet.
  • origine personnalisée : identique à un backend externe. Dans CDN, origine est le terme standard de l'industrie désignant une instance de backend qui diffuse du contenu Web.
  • groupe de points de terminaison du réseau (NEG) Internet  : ressource d'API Google Cloud que vous utilisez pour spécifier un backend externe.
  • point de terminaison externe : identique à un backend externe.

Pour rester cohérent avec la documentation sur l'équilibrage de charge, ce document utilise le terme backend externe, sauf lorsqu'il fait référence à la ressource d'API NEG Internet.

Types de backends compatibles avec Cloud CDN

Cloud CDN fonctionne avec l'équilibrage de charge HTTP(S) afin de diffuser du contenu auprès de vos utilisateurs. L'équilibreur de charge HTTP(S) fournit les adresses IP d'interface et les ports qui reçoivent les requêtes, ainsi que les backends qui y répondent. Le contenu Cloud CDN peut provenir de différents types de backends :

Les backends externes peuvent être hébergés dans une infrastructure sur site ou des origines fournies par des fournisseurs tiers. Les sections suivantes décrivent plus en détail les backends externes.

Architectures hybrides et multicloud

Lorsque vous migrez vos services vers Google Cloud, il est possible que vous deviez procéder par étapes. Parfois, certains contenus ne peuvent pas être immédiatement déplacés vers un environnement cloud et doivent rester sur site. Dans d'autres cas, le contenu est hébergé dans un autre cloud. La compatibilité Cloud CDN avec les backends externes vous permet d'utiliser l'infrastructure de mise en cache périphérique mondiale de Google pour ce type de contenu.

Architecture hybride et multicloud
Architecture hybride et multicloud

Dans le schéma, le contenu images se trouve dans Google Cloud, tandis que video se situe dans un centre de données à Tokyo, qui peut être sur site ou dans un autre cloud. Avec des backends externes, les origines du centre de données de Tokyo peuvent être la source backend du contenu video, où Cloud CDN et l'équilibrage de charge HTTP(S) diffusent le contenu aux utilisateurs.

À l'aide de mappages d'URL, ce déploiement peut diriger les demandes d'extraction d'origine pour le trafic vidéo vers le backend externe situé à Tokyo. Ce mappage est déterminé en fonction de l'URL de requête : /video.

Pour les images (déterminées en fonction de l'URL de requête : /images), le contenu provient de Google Cloud et est fourni par l'infrastructure périphérique de Cloud CDN.

Spécifier un backend externe

Comme pour la configuration de Google Cloud CDN avec vos points de terminaison déployés dans Google Cloud, vous pouvez utiliser l'API des groupes de points de terminaison du réseau (NEG) pour ajouter votre serveur en tant que backend externe de Cloud CDN.

Pour spécifier le backend externe, utilisez un NEG Internet. Un NEG Internet possède l'un des types de point de terminaison répertoriés dans le tableau suivant.

Adresse du point de terminaison Type Définition À quel moment l'utiliser ?
Nom d'hôte et port facultatif INTERNET_FQDN_PORT Un nom de domaine complet pouvant être résolu publiquement et un port facultatif, par exemple backend.example.com:443 (ports par défaut : 80 pour HTTP et 443 pour HTTPS) Utilisez ce point de terminaison lorsque votre backend externe peut être résolu à l'aide d'un nom de domaine complet avec DNS public.
Adresse IP et port facultatif INTERNET_IP_PORT Une adresse IP publique et un port facultatif, par exemple 192.0.2.8 ou 192.0.2.8:443 (ports par défaut : 80 pour HTTP et 443 pour HTTPS) Utilisez ce point de terminaison pour spécifier une adresse IP publique et un port de connexion.

Il est recommandé de créer un NEG Internet avec le type de point de terminaison INTERNET_FQDN_PORT et une valeur de nom de domaine complet comme valeur de nom d'hôte d'origine. Cela permet d'isoler la configuration Cloud CDN des modifications d'adresse IP dans l'infrastructure d'origine. Les points de terminaison réseau définis à l'aide de noms de domaine complets sont résolus via un DNS public. Assurez-vous que le nom de domaine complet configuré peut être résolu via le DNS public de Google.

Une fois le NEG Internet créé, il n'est pas possible de passer du type INTERNET_FQDN_PORT à INTERNET_IP_PORT, et inversement. Vous devez créer un autre NEG Internet et modifier votre service de backend pour utiliser le nouveau NEG Internet.

Lorsque vous utilisez un backend externe qui attend une valeur particulière pour l'en-tête Host de la requête HTTP, vous devez configurer le service de backend pour définir l'en-tête Host sur cette valeur attendue. Si vous ne configurez pas d'en-tête de requête défini par l'utilisateur, un service de backend préserve l'en-tête Host utilisé par le client pour se connecter à l'équilibreur de charge HTTP(S) externe Google Cloud. Pour obtenir des informations générales sur les en-têtes de requête définis par l'utilisateur, consultez la page Créer des en-têtes de requêtes définis par l'utilisateur. Pour obtenir un exemple spécifique, consultez la page Configurer Cloud CDN avec un backend externe.

Pour mettre automatiquement en cache les réponses statiques de votre origine, vous pouvez utiliser le paramètre mode de cache CACHE_ALL_STATIC.

Pour contrôler la mise en cache de chaque réponse à l'aide des instructions du cache HTTP, définissez le mode de cache sur "Utiliser les en-têtes de l'origine" (USE_ORIGIN_HEADERS). Pour en savoir plus sur les instructions de cache acceptées par Cloud CDN et sur les éléments non mis en cache par ce service, consultez les sections Contenu pouvant être mis en cache et Contenu ne pouvant pas être mis en cache.

Si votre origine ne diffuse aucun contenu dynamique par utilisateur, il peut être souhaitable de mettre en cache toutes les réponses issues de l'origine. Pour ce faire, utilisez le mode FORCE_CACHE_ALL. Ce mode met en cache toutes les réponses, quels que soient le type de contenu et les instructions de cache.

Si vous ne sélectionnez pas explicitement un mode de cache lorsque vous activez Cloud CDN sur un backend, l'API et l'outil de ligne de commande gcloud utilisent par défaut la valeur USE_ORIGIN_HEADERS, et Cloud Console prend la valeur par défaut CACHE_ALL_STATIC.

Utiliser des backends externes et des origines basées sur Google Cloud

La figure suivante montre un NEG Internet utilisé pour déployer un backend externe avec équilibrage de charge HTTP(S) et Cloud CDN.

Cloud CDN avec backends externes
Cloud CDN avec backends externes

Étape suivante