En esta página se muestra cómo configurar un espacio de nombres de Directorio de servicios, registrar un servicio en el espacio de nombres y añadir endpoints a un servicio. Puedes crear un espacio de nombres al registrar un servicio o antes de registrarlo.
Antes de ejecutar los comandos que se indican en esta página, familiarízate con los conceptos que se explican en la descripción general de Service Directory y los términos clave relacionados con Service Directory.
Configurar el proyecto
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Service Directory API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Service Directory API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
En la Google Cloud consola, ve a la página Espacios de nombres de Service Directory.
- Haz clic en Crear espacio de nombres.
- En la lista Región, selecciona una región para tu espacio de nombres.
- En el campo Nombre del espacio de nombres, asigna un nombre al espacio de nombres.
- Haz clic en Crear.
Crear un espacio de nombres
gcloud service-directory namespaces create NAMESPACE \ --location REGION
Haz los cambios siguientes:
NAMESPACE
: el nombre del espacio de nombres que vas a crear.REGION
: la Google Cloud región que contiene el espacio de nombres.
Opcional: Define una política de gestión de identidades y accesos en tu espacio de nombres. De este modo, se asigna al usuario o al grupo especificado el rol indicado en este espacio de nombres y en todos los servicios que pertenecen a él.
gcloud service-directory namespaces add-iam-policy-binding NAMESPACE \ --member user:someone@example.com \ --role ROLE \ --location REGION
Haz los cambios siguientes:
NAMESPACE
: el nombre del espacio de nombres que has creado.ROLE
: el rol que vas a conceder.REGION
: la Google Cloud región que contiene el espacio de nombres.
- Los nombres de los servicios deben ser únicos en un espacio de nombres.
- Los nombres de los servicios deben seguir la convención de nomenclatura de las etiquetas DNS.
En la Google Cloud consola, ve a la página Service Directory.
- Haz clic en Registrar servicio.
- Haz clic en Estándar y, a continuación, en Siguiente.
- Elige una región en la que registrar tu servicio.
- Elige un espacio de nombres en el que registrar tu servicio.
Si no tienes un espacio de nombres, sigue estos pasos para crear uno:
- En el cuadro Espacio de nombres, haz clic en Crear espacio de nombres.
- Escribe el nombre del espacio de nombres.
- Haz clic en Crear.
- Introduce un nombre de servicio.
- Opcional: Si quieres añadir anotaciones al servicio, haz lo siguiente:
- Haz clic en Añadir anotación.
- Añada una clave y un valor.
- Para añadir más anotaciones, vuelve a hacer clic en Añadir anotación.
- Haz clic en Crear.
Crea un servicio en un espacio de nombres.
gcloud service-directory services create SERVICE \ --annotations KEY_1=VALUE_1,KEY_2=VALUE_2 \ --namespace NAMESPACE \ --location REGION
Haz los cambios siguientes:
SERVICE
: el nombre del servicio que vas a crear.NAMESPACE
: el nombre del espacio de nombres que contiene tu servicio.REGION
: la Google Cloud región que contiene el espacio de nombres.KEY_1
,VALUE_1
,KEY_2
,VALUE_2
: conjunto de cadenas de clave y valor en pares.
Opcional: Define una política de gestión de identidades y accesos en tu servicio. De esta forma, el usuario o grupo especificado obtiene el rol indicado para este servicio y todos los endpoints que le pertenecen.
gcloud service-directory services add-iam-policy-binding SERVICE \ --member user:someone@example.com \ --role ROLE \ --namespace NAMESPACE \ --location REGION
Haz los cambios siguientes:
SERVICE
: el nombre que le has dado a tu servicio.NAMESPACE
: el nombre del espacio de nombres que contiene tu servicioROLE
: el rol que vas a conceder.REGION
: la Google Cloud región que contiene el espacio de nombres.
En la Google Cloud consola, ve a la página Service Directory.
- Haz clic en un servicio.
- Haz clic en Añadir endpoint.
- Proporciona un nombre de endpoint.
- Introduce una dirección IP IPv4 o IPv6.
- Introduce un número de puerto.
- Opcional: Si quieres añadir anotaciones al endpoint, haz lo siguiente:
- En Anotaciones, haz clic en Añadir anotación.
- Añada una clave y un valor.
- Para añadir más anotaciones, vuelve a hacer clic en Añadir anotación.
- Haz clic en Crear.
ENDPOINT
yENDPOINT2
: los nombres de los endpoints que vas a crear en tu servicio.IP_ADDRESS
yIP_ADDRESS2
: las direcciones IPv6 e IPv4 de los endpoints, respectivamente.PORT_NUMBER
yPORT_NUMBER2
: los puertos en los que se ejecutan los endpoints.SERVICE
: el nombre del servicio que contiene tu endpoint.NAMESPACE
: el nombre del espacio de nombres que contiene tu servicio.REGION
: la Google Cloud región que contiene el espacio de nombres.KEY_1
,VALUE_1
,KEY_2
,VALUE_2
: conjunto de cadenas de clave y valor en pares.SERVICE
: el nombre del servicio que estás resolviendo.NAMESPACE
: el nombre del espacio de nombres que contiene tu servicio.REGION
: la Google Cloud región que contiene el espacio de nombres.En la Google Cloud consola, ve a la página Service Directory.
- Haz clic en el servicio del que quieras eliminar el endpoint.
- Seleccione la casilla situada junto al endpoint que quiera eliminar.
- Haz clic en Eliminar.
- En el cuadro de diálogo de confirmación, haz clic de nuevo en Eliminar.
ENDPOINT
: el nombre del endpoint que vas a eliminar.SERVICE
: el nombre del servicio que contiene tu endpoint.NAMESPACE
: el nombre del espacio de nombres que contiene tu servicio.REGION
: la Google Cloud región que contiene el espacio de nombres.En la Google Cloud consola, ve a la página Service Directory.
- Marca la casilla situada junto al servicio que quieras eliminar.
- Haz clic en Eliminar.
- En el cuadro de diálogo de confirmación, haz clic de nuevo en Eliminar.
SERVICE
: el nombre del servicio que vas a eliminar.NAMESPACE
: el nombre del espacio de nombres que contiene tu servicio.REGION
: la Google Cloud región que contiene el espacio de nombres.En la Google Cloud consola, ve a la página Espacios de nombres de Service Directory.
- Seleccione la casilla situada junto al espacio de nombres que quiera eliminar.
- Haz clic en Eliminar.
- En el cuadro de diálogo de confirmación, haz clic de nuevo en Eliminar.
NAMESPACE
: el nombre del espacio de nombres que vas a eliminar.REGION
: la Google Cloud región que contiene el espacio de nombres.- Para configurar una zona de Directorio de servicios de forma que puedas consultar tu servicio mediante DNS, consulta Configurar una zona de Directorio de servicios.
- Para obtener una vista general de Service Directory, consulta el artículo Introducción a Service Directory.
- Para encontrar soluciones a los problemas habituales que pueden surgir al usar Service Directory, consulta Solución de problemas.
Configurar recursos de Service Directory
Para rellenar Directorio de servicios con servicios, crea un espacio de nombres y registra tu servicio en él.
Configurar un espacio de nombres
Crea un espacio de nombres en tu región para el proyecto. Esta región no tiene por qué ser la misma en la que se ejecutan todos tus servicios y endpoints, pero debe estar cerca, si es posible.
Puedes registrar tus servicios en cualquier región de Service Directory, ya que se pueden resolver en todo el mundo. En una región, los proyectos pueden tener varios espacios de nombres, y esos espacios de nombres pueden estar en diferentes regiones. Un solo espacio de nombres no puede abarcar varias regiones.
Consola
gcloud
Para usar Service Directory en la línea de comandos, primero instala o actualiza a la versión más reciente de la CLI de Google Cloud.
C#
Para ejecutar este código, primero debes configurar un entorno de desarrollo de C# e instalar el SDK de servicio de directorio de servicios.
Go
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Go e instalar el SDK de Go de Service Directory.
Java
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Java e instalar el SDK de Java de Service Directory.
Node.js
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Node.js e instalar el SDK de servicio de directorio de servicios de Node.js.
PHP
Para ejecutar este código, primero debes configurar un entorno de desarrollo de PHP e instalar el SDK de PHP de Service Directory.
Python
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Python e instalar el SDK de Python de Service Directory.
Ruby
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Ruby e instalar el SDK de servicio de directorio de servicios.
Configurar un servicio
Crea un servicio en el espacio de nombres. Un servicio consta de un nombre y anotaciones opcionales relacionadas con el servicio. Hay algunas restricciones en el formato de los nombres de servicio:
Para crear una regla de reenvío de Private Service Connect y registrarla como servicio en el Directorio de servicios, consulta Registrar un endpoint de Private Service Connect en el Directorio de servicios.
Para registrar un servicio estándar en Directorio de servicios, sigue estos pasos:
Consola
gcloud
Para usar Service Directory en la línea de comandos, primero instala o actualiza a la versión más reciente de la CLI de Google Cloud.
C#
Para ejecutar este código, primero debes configurar un entorno de desarrollo de C# e instalar el SDK de servicio de directorio de servicios.
Go
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Go e instalar el SDK de Go de Service Directory.
Java
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Java e instalar el SDK de Java de Service Directory.
Node.js
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Node.js e instalar el SDK de servicio de directorio de servicios de Node.js.
PHP
Para ejecutar este código, primero debes configurar un entorno de desarrollo de PHP e instalar el SDK de PHP de Service Directory.
Python
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Python e instalar el SDK de Python de Service Directory.
Ruby
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Ruby e instalar el SDK de servicio de directorio de servicios.
Configurar un endpoint
Una vez que hayas registrado el servicio, añade algunos endpoints. Un endpoint consta de un nombre único, una dirección IP y un puerto opcionales, y anotaciones de clave-valor. Si se especifica, la dirección IP debe ser una dirección IPv4 o IPv6 válida.
Consola
gcloud
Para usar Service Directory en la línea de comandos, primero instala o actualiza a la versión más reciente de la CLI de Google Cloud.
Una vez que hayas registrado el servicio, añade algunos endpoints.
gcloud service-directory endpoints create ENDPOINT \ --address IP_ADDRESS \ --port PORT_NUMBER \ --annotations KEY_1=VALUE_1,KEY_2=VALUE_2 \ --service SERVICE \ --namespace NAMESPACE \ --location REGION
gcloud service-directory endpoints create ENDPOINT2 \ --address IP_ADDRESS2 \ --port PORT_NUMBER2 \ --service SERVICE \ --namespace NAMESPACE \ --location REGION
Haz los cambios siguientes:
C#
Para ejecutar este código, primero debes configurar un entorno de desarrollo de C# e instalar el SDK de servicio de directorio de servicios.
Go
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Go e instalar el SDK de Go de Service Directory.
Java
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Java e instalar el SDK de Java de Service Directory.
Node.js
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Node.js e instalar el SDK de servicio de directorio de servicios de Node.js.
PHP
Para ejecutar este código, primero debes configurar un entorno de desarrollo de PHP e instalar el SDK de PHP de Service Directory.
Python
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Python e instalar el SDK de Python de Service Directory.
Ruby
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Ruby e instalar el SDK de servicio de directorio de servicios.
Resolver un servicio
Service Directory permite a los clientes resolver servicios mediante DNS, HTTP y gRPC. Al resolver el servicio, se devuelven todas sus propiedades, todos sus puntos finales y todas sus anotaciones.
gcloud
Para usar Service Directory en la línea de comandos, primero instala o actualiza a la versión más reciente de la CLI de Google Cloud.
gcloud service-directory services resolve SERVICE \ --namespace NAMESPACE \ --location REGION
Haz los cambios siguientes:
C#
Para ejecutar este código, primero debes configurar un entorno de desarrollo de C# e instalar el SDK de servicio de directorio de servicios.
Go
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Go e instalar el SDK de Go de Service Directory.
Java
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Java e instalar el SDK de Java de Service Directory.
Node.js
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Node.js e instalar el SDK de servicio de directorio de servicios de Node.js.
PHP
Para ejecutar este código, primero debes configurar un entorno de desarrollo de PHP e instalar el SDK de PHP de Service Directory.
Python
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Python e instalar el SDK de Python de Service Directory.
Ruby
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Ruby e instalar el SDK de servicio de directorio de servicios.
Eliminar recursos
Si no necesitas un recurso, puedes eliminarlo del directorio de servicios.
Eliminar un endpoint de un servicio
Consola
gcloud
Para usar Service Directory en la línea de comandos, primero instala o actualiza a la versión más reciente de la CLI de Google Cloud.
gcloud service-directory endpoints delete ENDPOINT \ --service=SERVICE \ --namespace=NAMESPACE \ --location=REGION
Haz los cambios siguientes:
C#
Para ejecutar este código, primero debes configurar un entorno de desarrollo de C# e instalar el SDK de servicio de directorio de servicios.
Go
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Go e instalar el SDK de Go de Service Directory.
Java
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Java e instalar el SDK de Java de Service Directory.
Node.js
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Node.js e instalar el SDK de servicio de directorio de servicios de Node.js.
PHP
Para ejecutar este código, primero debes configurar un entorno de desarrollo de PHP e instalar el SDK de PHP de Service Directory.
Python
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Python e instalar el SDK de Python de Service Directory.
Ruby
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Ruby e instalar el SDK de servicio de directorio de servicios.
Eliminar un servicio de un espacio de nombres
Puedes eliminar un servicio que tenga endpoints. Cuando se elimina un servicio, también se eliminan todos sus endpoints.
Puedes eliminar un servicio que tenga una zona de Service Directory que apunte a él. Las consultas DNS posteriores de ese servicio devuelven NXDOMAIN
.
Consola
gcloud
Para usar Service Directory en la línea de comandos, primero instala o actualiza a la versión más reciente de la CLI de Google Cloud.
gcloud service-directory services delete SERVICE \ --namespace=NAMESPACE \ --location=REGION
Haz los cambios siguientes:
C#
Para ejecutar este código, primero debes configurar un entorno de desarrollo de C# e instalar el SDK de servicio de directorio de servicios.
Go
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Go e instalar el SDK de Go de Service Directory.
Java
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Java e instalar el SDK de Java de Service Directory.
Node.js
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Node.js e instalar el SDK de servicio de directorio de servicios de Node.js.
PHP
Para ejecutar este código, primero debes configurar un entorno de desarrollo de PHP e instalar el SDK de PHP de Service Directory.
Python
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Python e instalar el SDK de Python de Service Directory.
Ruby
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Ruby e instalar el SDK de servicio de directorio de servicios.
Eliminar un espacio de nombres
Puedes eliminar un espacio de nombres que tenga servicios y endpoints. Cuando se elimina un espacio de nombres, también se eliminan todos sus servicios y endpoints.
Puedes eliminar un espacio de nombres que tenga una zona de Directorio de servicios que apunte a él. Las consultas de DNS posteriores (sin incluir las solicitudes de SOA o NS del origen de la zona) devuelven NXDOMAIN
.
Consola
gcloud
Para usar Service Directory en la línea de comandos, primero instala o actualiza a la versión más reciente de la CLI de Google Cloud.
gcloud service-directory namespaces delete NAMESPACE \ --location=REGION
Haz los cambios siguientes:
C#
Para ejecutar este código, primero debes configurar un entorno de desarrollo de C# e instalar el SDK de servicio de directorio de servicios.
Go
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Go e instalar el SDK de Go de Service Directory.
Java
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Java e instalar el SDK de Java de Service Directory.
Node.js
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Node.js e instalar el SDK de servicio de directorio de servicios de Node.js.
PHP
Para ejecutar este código, primero debes configurar un entorno de desarrollo de PHP e instalar el SDK de PHP de Service Directory.
Python
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Python e instalar el SDK de Python de Service Directory.
Ruby
Para ejecutar este código, primero debes configurar un entorno de desarrollo de Ruby e instalar el SDK de servicio de directorio de servicios.