Vous pouvez utiliser un domaine personnalisé pour votre service Cloud Run for Anthos.
Pour que votre service utilise un domaine personnalisé, vous devez mapper ce service au domaine personnalisé, puis mettre à jour vos enregistrements DNS. Vous pouvez mapper un service à un domaine, tel que example.com
, ou à un sous-domaine, tel que subdomain.example.com
.
Si vous utilisez HTTPS, vous devez utiliser la fonctionnalité de certificats TLS gérés ou fournir vos propres certificats pour que les mappages de domaine fonctionnent.
Vous pouvez mapper plusieurs domaines personnalisés au même service Cloud Run pour Anthos.
Avant de commencer
Vous devez posséder ou acheter le domaine que vous souhaitez mapper à vos services. Vous pouvez utiliser n'importe quel service d'enregistrement de noms de domaine, mais si vous faites appel à Google Domains ou à Cloud Domains, le domaine est automatiquement validé pour Cloud Run pour Anthos. Ainsi, vous n'aurez pas à passer par le processus de validation du domaine.
Si vous souhaitez enregistrer un domaine avec Cloud Domains, consultez la section Enregistrer un domaine avec Cloud Domains dans la console Cloud Run for Anthos.
Si vous utilisez WebSockets dans Cloud Run pour Anthos, vous devez d'abord activer la compatibilité WebSocket en exécutant la commande
kubectl
suivante afin de créer un objet Istio EnvoyFilter avecallow_connect: true
:cat <<EOF | kubectl apply -f - apiVersion: networking.istio.io/v1alpha3 kind: EnvoyFilter metadata: name: allowconnect-cluser-local-gateway namespace: gke-system spec: workloadSelector: labels: app: cluster-local-gateway configPatches: - applyTo: NETWORK_FILTER match: listener: portNumber: 80 filterChain: filter: name: "envoy.http_connection_manager" patch: operation: MERGE value: typed_config: "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager" http2_protocol_options: allow_connect: true EOF
Mapper un domaine personnalisé à un service
Vous pouvez utiliser la console Google Cloud ou l'outil Google Cloud CLI pour mapper un domaine personnalisé à un service.
Console
Ouvrez la page "Mappages de domaines" dans la console Google Cloud :
Accéder aux mappages de domaines
Sachez que si votre fenêtre d'affichage est trop petite, le bouton Mapper les domaines personnalisés ne s'affiche pas. Vous devrez donc cliquer sur l'icône d'ellipse verticale à trois points située à droite de cette page.
Sur la page Mappages de domaine, cliquez sur Add mapping (Ajouter un mappage).
Dans la liste déroulante du formulaire Add mapping (Ajouter un mappage), sélectionnez le service vers lequel vous mappez le domaine personnalisé :
Saisissez le nom du domaine. Le mappage du chemin de base n'est pas disponible. Le terme chemin de base fait référence au nom de chemin d'URL situé après le nom du domaine. Par exemple,
users
est le chemin de base deexample.com/users
. Cloud Run pour Anthos vous permet uniquement de mapper un domaine à/
, et non à un chemin de base spécifique. Ainsi, tout routage de chemin d'accès doit être géré à l'aide d'un routeur à l'intérieur du conteneur du service ou à l'aide de Firebase Hosting.Cliquez sur Continuer.
Validez la propriété de votre domaine avant d'essayer de l'utiliser dans votre projet Google Cloud, sauf si vous avez acheté votre domaine personnalisé auprès de Google Domains. Par exemple, si vous souhaitez mapper
subdomain.example.com
à un service, vous devez valider la propriété du domaineexample.com
. Pour en savoir plus sur le processus de validation de la propriété d'un domaine, consultez l'aide du Centre pour les webmasters.Mettez à jour vos enregistrements DNS sur le site Web de votre service d'enregistrement de noms de domaine avec les enregistrements DNS affichés à l'étape précédente. Vous pouvez afficher les enregistrements à tout moment en cliquant sur DNS Records (Enregistrements DNS) dans le menu d'actions "..." d'un mappage de domaine.
Cliquez sur OK.
Ligne de commande
Validez la propriété de votre domaine avant d'essayer de l'utiliser dans votre projet Google Cloud, sauf si vous avez acheté votre domaine personnalisé auprès de Google Domains. Vous pouvez déterminer si le domaine personnalisé que vous souhaitez utiliser a été validé à l'aide de la commande suivante :
gcloud domains list-user-verified
Si vous devez valider la propriété de votre domaine, ouvrez la page de validation du Centre pour les webmasters :
gcloud domains verify BASE-DOMAIN
où BASE-DOMAIN est le domaine de base que vous souhaitez valider. Par exemple, si vous souhaitez mapper
subdomain.example.com
, vous devez valider la propriété deexample.com
.Dans le Centre pour les webmasters, effectuez le processus de validation de propriété de domaine. Pour en savoir plus, consultez l'aide du Centre pour les webmasters.
Mappez votre service avec le domaine personnalisé :
gcloud run domain-mappings create --service SERVICE --domain DOMAIN
Remplacez :
SERVICE
par le nom de votre service.DOMAIN
par votre domaine personnalisé. Le mappage du chemin de base n'est pas disponible. Le terme chemin de base fait référence au nom de chemin d'URL situé après le nom du domaine. Par exemple,users
est le chemin de base deexample.com/users
. Cloud Run pour Anthos vous permet uniquement de mapper un domaine à/
, et non à un chemin de base spécifique. Ainsi, tout routage de chemin d'accès doit être géré à l'aide d'un routeur à l'intérieur du conteneur du service ou à l'aide de Firebase Hosting.Facultatif : Si
DOMAIN
est déjà mappé avec un autre service, vous pouvez ajouter l'option--force-override
. Cette option supprime le mappage du service précédent et le remplace par un nouveau mappage entreDOMAIN
etSERVICE
.
Réservez l'adresse IP de l'équilibreur de charge pour le service de passerelle d'entrée Istio en tant qu'adresse IP statique :
gcloud compute addresses create ADDRESS-NAME --addresses EXTERNAL-IP --region REGION
Remplacez :
- ADDRESS-NAME par le nom que vous souhaitez donner à votre adresse IP statique.
- EXTERNAL-IP par l'adresse IP de l'enregistrement
A
obtenu à l'aide de la commandegcloud run domain-mapping describe
. - REGION par la région que vous utilisez.
Passerelle d'entrée Istio de Cloud Run pour Anthos
Pour obtenir l'adresse IP externe de la passerelle d'entrée Istio, exécutez la commande suivante :kubectl get svc istio-ingress -n gke-system
où le résultat ressemble à ce qui suit :
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) istio-ingress LoadBalancer XX.XX.XXX.XX pending 80:32380/TCP,443:32390/TCP,32400:32400/TCP
La valeur EXTERNAL-IP de l'équilibreur de charge est l'adresse IP que vous devez utiliser.
Ajouter des enregistrements DNS à votre compte de service d'enregistrement de noms de domaine
Une fois que vous avez mappé votre service à un domaine personnalisé dans Cloud Run pour Anthos, vous devez mettre à jour les enregistrements DNS auprès de votre service d'enregistrement de noms de domaine. Pour plus de commodité, Cloud Run pour Anthos génère et affiche les enregistrements DNS que vous devez saisir. Pour que le mappage soit effectif, vous devez ajouter ces enregistrements qui pointent vers le service Cloud Run pour Anthos au niveau de votre service d'enregistrement de noms de domaine.
Si vous utilisez Cloud DNS comme fournisseur DNS, consultez la section Ajouter un enregistrement.
Récupérez les informations d'enregistrement DNS correspondant à votre mappage de domaine en utilisant les méthodes suivantes :
Console
Accédez à la page "Mappages de domaines" de Cloud Run for Anthos :
Cliquez sur l'icône d'ellipse verticale à trois points située à droite de votre service, puis cliquez sur DNS RECORDS (Enregistrements DNS) pour afficher tous les enregistrements DNS :
Ligne de commande
gcloud run domain-mappings describe --domain DOMAIN
Remplacez DOMAIN par votre domaine personnalisé, par exemple
example.com
ousubdomain.example.com
.Vous avez besoin de tous les enregistrements renvoyés sous l'en-tête
resourceRecords
.Connectez-vous au compte que vous avez créé auprès du service d'enregistrement de noms de domaine, puis ouvrez la page de configuration DNS.
Recherchez la section des enregistrements d'hôtes sur la page de configuration de votre domaine, puis ajoutez chacun des enregistrements de ressources que vous avez reçus lorsque vous avez mappé votre domaine à votre service Cloud Run pour Anthos.
Lorsque vous ajoutez chacun des enregistrements DNS ci-dessus au compte au niveau du fournisseur DNS, procédez comme suit :
- Sélectionnez le type renvoyé dans l'enregistrement DNS à l'étape précédente :
A
,AAAA
ouCNAME
. - Utilisez le nom
www
pour le mappage avecwww.example.com
. - Utilisez le nom
@
pour le mappage avecexample.com
.
- Sélectionnez le type renvoyé dans l'enregistrement DNS à l'étape précédente :
Enregistrez les modifications dans la page de configuration DNS du compte du domaine. Dans la plupart des cas, ces modifications prennent effet en quelques minutes seulement, mais dans certains cas, cela peut prendre plusieurs heures. Tout dépend du bureau d'enregistrement et de la valeur TTL (Time To Live) des enregistrements DNS précédents pour votre domaine. Vous pouvez utiliser un outil
dig
, tel que la version en ligne dedig
, pour vérifier que les enregistrements DNS ont bien été mis à jour.Vérifiez si la procédure a été exécutée correctement en accédant à votre service via sa nouvelle URL (par exemple,
https://www.example.com
). Notez que l'émission du certificat SSL géré peut prendre plusieurs minutes.
Ajouter des propriétaires de domaine validés à d'autres utilisateurs ou comptes de service
Lorsqu'un utilisateur valide un domaine, ce dernier est validé seulement pour le compte de cet utilisateur. Cela signifie que seul cet utilisateur peut ajouter d'autres mappages utilisant ce domaine. Par conséquent, pour permettre à d'autres utilisateurs d'ajouter des mappages utilisant ce domaine, vous devez les ajouter en tant que propriétaires validés.
Si vous devez ajouter des utilisateurs ou des comptes de service en tant que propriétaires validés de votre domaine, vous pouvez ajouter une autorisation via la page de Search Console :
Dans votre navigateur Web, accédez à l'adresse suivante :
Sous Propriétés, cliquez sur le domaine pour lequel vous souhaitez ajouter un utilisateur ou un compte de service.
Faites défiler l'écran vers le bas jusqu'à la liste Propriétaires validés, cliquez sur Ajouter un propriétaire, puis saisissez l'adresse e-mail du compte Google ou l'ID du compte de service.
Pour afficher la liste de vos comptes de service, ouvrez la page "Comptes de service" dans la console Google Cloud :
Enregistrer un domaine avec Cloud Domains dans la console Cloud Run for Anthos
Pour enregistrer un domaine avec Cloud Domains à partir de la console Cloud Run for Anthos, procédez comme suit :
Accédez à la page "Mappages de domaines" de Cloud Run for Anthos :
Cliquez sur Enregistrer le domaine.
Suivez le processus d'enregistrement en suivant les instructions pour enregistrer un domaine.
Mappez votre domaine à Cloud Run pour Anthos et ajoutez des enregistrements DNS au niveau de votre service d'enregistrement de noms de domaine.