Ejemplo 1: Creación de una zona pública
Escenarios
Después de registrar un nombre de dominio y configurar un sitio web, cree una zona pública y configure los registros para que apunten el nombre de dominio a la dirección IP del servidor web donde se despliega el sitio web para que los visitantes puedan usar el nombre de dominio para acceder a su sitio web a través de Internet.
En este tema se describe cómo crear una zona pública invocando a la API de Creación de una zona pública y crear un conjunto de registros invocando a la API de Creación de un conjunto de registros. Para obtener más información sobre cómo invocar a las API, consulta Llamada a APIs.
El token obtenido de IAM es válido por solo 24 horas. Si desea utilizar un token para la autenticación, puede almacenarlo en caché para evitar invocar con frecuencia a la API de IAM.
Prerrequisitos
- Ha registrado el nombre de dominio example.com con un registrador de terceros.
- Ha desplegado un servidor web y ha obtenido su dirección IP.
Las API involucradas
Necesita obtener un token y agregar X-Auth-Token al encabezado de solicitud de las invocaciones a la API.
- API de IAM para obtener un token
- API de DNS para crear una zona pública
- API de DNS para crear un conjunto de registros
Procedimiento
- Obtén el token haciendo referencia a Autenticación.
- Agregue Content-Type y X-Auth-Token en el encabezado de solicitud.
- Especifique los siguientes parámetros en el cuerpo de la solicitud:
{ "name": "example.com.", // Zone name (mandatory, string) "description": "This is an example zone.", // Description of the zone (optional, string) "zone_type": "public", // Zone type (optional) "email": "xx@example.org" // Email address of the domain name administrator (optional, string) "ttl": 300, // Default caching duration of the SOA record (optional, string) }
- Envíe una solicitud POST https://DNS endpoint/v2/zones.
- Compruebe la respuesta de la solicitud.
- El resultado de la solicitud puede tener éxito o fallar en la respuesta.
- Si la solicitud falla, se devuelve un código de error y la información de error. Para obtener más información, véase Código de error.
- Para obtener más información acerca de los parámetros de la respuesta, consulte Creación de una zona pública.
- Para obtener más información sobre los códigos de retorno generales en la respuesta, consulte Código de estado.
A continuación se muestra un ejemplo de respuesta de una solicitud correcta:
STATUS CODE 200
{ "id": "2c9eb155587194ec01587224c9f90149", "name": "example.com.", "description": "This is an example zone.", "email": "xx@example.com", "ttl": 300, "serial": 1, "masters": [], "status": "PENDING_CREATE", "links": { "self": "https://Endpoint/v2/zones/2c9eb155587194ec01587224c9f90149" }, "pool_id": "00000000570e54ee01570e9939b20019", "project_id": "e55c6f3dc4e34c9f86353b664ae0e70c", "zone_type": "public", "created_at": "2016-11-17T11:56:03.439", "updated_at": null, "record_num": 0 }
- Agregue Content-Type y X-Auth-Token en el encabezado de solicitud.
- Especifique los siguientes parámetros en el cuerpo de la solicitud:
{ "name": "example.com.", // Zone name (mandatory, string) "description": "This is an example record set.", // Description of the record set (optional, string) "type": "A", // Record set type (mandatory, string) "ttl": 3600, // Caching duration of the record set (optional, integer) "records": [ "192.168.10.1", "192.168.10.2" ] // Values of the record set (mandatory, list<string>) }
- Envíe una solicitud POST https://DNS endpoint/v2/zones/{zone_id}/recordsets, donde zone_id es el ID de la zona a la que se va a agregar el conjunto de registros.
- Compruebe la respuesta de la solicitud.
STATUS CODE 200
{ "id": "2c9eb155587228570158722b6ac30007", "name": "example.com.", "description": "This is an example record set.", "type": "A", "ttl": 300, "records": [ "192.168.10.1", "192.168.10.2" ], "status": "PENDING_CREATE", "links": { "self": "https://Endpoint/v2/zones/2c9eb155587194ec01587224c9f90149/recordsets/2c9eb155587228570158722b6ac30007" }, "zone_id": "ff8080825b8fc86c015b94bc6f8712c3", "zone_name": "example.com.", "create_at": "2017-04-22T08:17:08.997", "update_at": null, "default": false, "project_id": "e55c6f3dc4e34c9f86353b664ae0e70c" }