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 :
- Groupes d'instances
- Groupes de points de terminaison du réseau (NEG) zonaux
- Groupes de points de terminaison du réseau (NEG) sans serveur : un ou plusieurs services App Engine, Cloud Run ou Cloud Functions
- NEG Internet pour les backends externes
- Buckets dans Cloud Storage
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.
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.
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.
Étape suivante
- Pour en savoir plus sur le contenu mis en cache, consultez la page Présentation de la mise en cache.
- Pour résoudre les problèmes, consultez la section Résoudre les problèmes liés aux backends externes et aux NEG Internet.