Utilisez des 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.
Les termes origine personnalisée, point de terminaison externe et point de terminaison Internet sont souvent utilisés indifféremment étant donné qu'ils ont la même signification. Dans CDN, origine est le terme standard de l'industrie désignant une instance de backend qui diffuse du contenu Web. Ce document utilise le terme origine personnalisée.
Origines acceptées par 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 points de terminaison situés en dehors de Google Cloud (également appelés "origines personnalisées")
- Buckets dans Cloud Storage
Les groupes de points de terminaison du réseau Internet sont également appelés "origines personnalisées". Ils peuvent être hébergés sur une infrastructure sur site ou sur des origines fournies par des fournisseurs tiers. Les sections suivantes décrivent plus en détail les NEG Internet.
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 origines personnalisées 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 origines personnalisées, 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 l'origine personnalisée située à 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 une origine personnalisée
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 qu'origine personnalisée de Cloud CDN.
Pour spécifier l'origine personnalisée, 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 |
Nom de domaine complet pouvant être résolu publiquement et port facultatif, par exemple backend.example.com:443 (ports par défaut : 80 pour HTTP et 443 ) |
Utilisez ce point de terminaison lorsque votre origine externe peut être résolue à l'aide d'un nom de domaine complet avec DNS public. |
Adresse IP et port facultatif | INTERNET_IP_PORT |
Adresse IP publiquement accessible et port facultatif, par exemple 8.8.8.8 ou 8.8.8.8:443 (ports par défaut : 80 pour HTTP et 443 ) |
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 une origine personnalisée 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 une origine externe.
Pour mettre automatiquement en cache les réponses statiques de votre origine, vous pouvez utiliser le paramètre de mode de cache CACHE_ALL_STATIC
(version bêta).
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 cache lorsque vous activez Cloud CDN sur un backend, les valeurs par défaut suivantes s'appliquent :
Version bêta : L'API et l'outil de ligne de commande
gcloud
utilisentUSE_ORIGIN_HEADERS
par défaut si vous activez Cloud CDN sans spécifier de mode de cache. Cloud Console (si compatible) utiliseCACHE_ALL_STATIC
par défaut lorsque vous activez Cloud CDN sur un backend.Disponibilité générale : tous les nouveaux backends pour lesquels Cloud CDN est activé utilisent
CACHE_ALL_STATIC
par défaut, quelle que soit la méthode de configuration (Cloud Console, API ou outilgcloud
).
Utiliser des origines personnalisées et des origines basées sur Google Cloud
La figure suivante montre un NEG Internet utilisé pour déployer une origine personnalisée avec équilibrage de charge HTTP(S) et Cloud CDN.
Étapes suivantes
- 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 à l'origine personnalisée et aux NEG Internet.