À propos des cookies sur ce site Pour fonctionner correctement, nos sites Internet nécessitent certains cookies (requis). En outre, d'autres cookies peuvent être utilisés avec votre consentement pour analyser l'utilisation d'un site, améliorer l'expérience des utilisateurs et à des fins publicitaires. Pour plus informations, passez en revue vos options de préférences en. En visitant notre site Web, vous acceptez que nous traitions les informations comme décrit dans ladéclaration de confidentialité d’IBM. Pour faciliter la navigation, vos préférences en matière de cookie seront partagées dans les domaines Web d'IBM énumérés ici.
Gestion des zones DNS
Gérer les zones DNS à l'aide de l'interface utilisateur, du CLI ou de l'API.
Pour pouvoir gérer des zones DNS, vous devez avoir une instance IBM Cloud® DNS Services. Pour plus d'informations, consultez Créer une instance DNS Services.
Une zone peut comporter un nombre arbitraire de niveaux, mais ce nombre ne doit pas être inférieur à deux. Par exemple, ibm.austin.texas.example.com
est un nom de zone valide, contrairement à com
.
Vous pouvez disposer de plusieurs zones dont l'une est le suffixe d'une autre zone. Par exemple, sub.domain.example.com
et domain.example.com
peuvent coexister.
Vous pouvez également définir des sous-domaines au sein d'une zone ajoutée. Par exemple, tous les noms suivants sont valides au sein de la zone domain.example.com
.
subdomain.domain.example.com
hostname.domain.example.com
hostname.subdomain.domain.example.com
Le nom host.sub.domain.example.com
peut correspondre à host.sub
dans la zone domain.example.com
. Il peut également correspondre à host.sub.domain
dans la zone example.com
. Les deux
peuvent coexister et sont distincts.
Limitations connues
Le programme de résolution DNS recherche toujours un enregistrement à partir de la zone la plus longue correspondante, même si l'enregistrement n'existe pas forcément dans cette zone mais se trouve dans une autre zone correspondante qui n'est pas la plus longue.
Prenons par exemple deux zones, domain.example.com
et example.com
.
Enregistrements pour example.com
{
myhost.domain.example.com A 1.1.1.1
me.domain.example.com A 8.8.8.8
}
Enregistrements pour domain.example.com
{
myhost.domain.example.com A 2.2.2.2
}
Si un utilisateur effectue une requête sur la zone myhost.domain.example.com
, le résultat attendu (soit 2.2.2.2) doit provenir de la zone domain.example.com
, car domain.example.com
est la correspondance
la plus longue dans la requête de l'utilisateur.
S'il effectue la requête sur la zone me.domain.example.com
à la place, le programme de résolution recherche uniquement la zone correspondante la plus longue. Comme la zone me.domain.example.com
n'existe pas dans domain.example.com
,
le résultat est l'erreur NXDOMAIN
.
Pour plus d'informations, voir Problèmes connus et limitations.
Création d'une zone DNS dans la console
- A partir de la page des ressources, sélectionnez l'instance DNS Services voulue.
- Cliquez sur Créer une zone dans la page Zones DNS.
- Dans le champ Nom du panneau qui apparaît, entrez un nom pour votre zone. Au besoin, complétez les champs Etiquette et Description. Pour savoir quels noms sont à proscrire, consultez [Noms de zone DNS interdits(#restricted-dns-zone-names).
- Cliquez sur Créer une zone.
Si la création de la zone réussit, vous êtes redirigé vers la page de ses détails.
Les zones ajoutées récemment sont à l'état en attente jusqu'à ce que vous leur ajoutiez des réseaux permis. Une zone devient active dès que des réseaux permis sont ajoutés.
En cas d'échec de la création de la zone, une erreur vous sera notifiée, accompagnée d'informations sur ce qui l'a provoquée.
Noms de zone DNS interdits
Les sous-domaines de zones restreintes à deux niveaux sont interdits. Par exemple, my.host.ibm.com
est un sous-domaine de ibm.com
. Par conséquent, my.host.ibm.com
constitue également une zone restreinte.
Les noms de zone DNS suivants sont interdits.
ibm.com
softlayer.com
bluemix.net
softlayer.local
mybluemix.net
networklayer.com
ibmcloud.com
pdnsibm.net
appdomain.cloud
compass.cobaltiron.com
uptycs.io
Modifier une zone DNS dans la console
- Dans la page Zones DNS, sélectionnez votre zone. Les options Etiquette et Description apparaissent.
- Cliquez sur l'icône d'édition du champ Etiquette, entrez l'étiquette voulue et cliquez sur Enregistrer.
- Cliquez sur l'icône d'édition du champ Description, entrez la description voulue et cliquez sur Enregistrer.
Supprimer une zone DNS dans la console
- Dans la page Zones DNS, cliquez sur l'icône Supprimer de la ligne correspondant à la zone que vous souhaitez supprimer. Une boîte de dialogue de confirmation s'affiche.
- Cliquez sur Supprimer.
Gérer les zones DNS à partir de la CLI
Suivez ces instructions pour installer le plug-in de l'interface de ligne de commande de DNS Services.
Utilisez d'abord la commande ibmcloud dns instances
pour obtenir la liste des instances DNS Services, puis utilisez la commande ibmcloud dns instance-target
pour définir l'instance DNS Services opérationnelle de la cible.
$ ibmcloud dns instances
Retrieving service instances for service 'dns-svcs' ...
OK
Name ID Location State Service Name
DNS Services-km ffffffff-b042-41fd-885e-000000000000 global active dns-svcs
$ ibmcloud dns instance-target "DNS Services-km"
Créer une zone DNS à partir de l'interface de programmation
Utilisez la commande ibmcloud dns zone-create
suivie du nom de la zone pour créer une zone.
$ ibmcloud dns zone-create example.com
Creating zone 'example.com' for service instance 'DNS Services-km' ...
OK
ID example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae
Name example.com
Description
Label
State PENDING_NETWORK_ADD
Created On 2020-04-10 07:21:51.774444868 +0000 UTC
Modified On 2020-04-10 07:21:51.774444868 +0000 UTC
Pour les futures commandes se référant à cette zone, la valeur "ID" obtenue dans la sortie est utilisée en tant que variable DNS_ZONE_ID
. Exécutez cette commande pour la stocker dans la variable DNS_ZONE_ID
:
DNS_ZONE_ID="example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae"
Obtenir une zone DNS à partir de la CLI
Utilisez la commande ibmcloud dns zone
suivie de l'ID de zone pour obtenir les détails d'une zone existante.
$ ibmcloud dns zone $DNS_ZONE_ID
Getting zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK
ID example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae
Name example.com
Description
Label
State PENDING_NETWORK_ADD
Created On 2020-04-10 07:21:51.774444868 +0000 UTC
Modified On 2020-04-10 07:21:51.774444868 +0000 UTC
Mettre à jour une zone DNS à partir de la CLI
Utilisez la commande ibmcloud dns zone-update
suivie de l'ID de zone pour mettre à jour une zone. Spécifiez -d, --description
pour mettre à jour la description et/ou -l, --label
pour mettre à jour l'étiquette
d'une zone.
$ ibmcloud dns zone-update $DNS_ZONE_ID -d "example zone" -l "us-south"
Updating zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK
ID example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae
Name example.com
Description example zone
Label us-south
State PENDING_NETWORK_ADD
Created On 2020-04-10 07:21:51.774444868 +0000 UTC
Modified On 2020-04-10 07:38:36.712131819 +0000 UTC
Liste des zones DNS à partir de l'interface de gestion
Utilisez la commande ibmcloud dns zones
pour lister toutes les zones.
$ ibmcloud dns zones
Listing zones for service instance 'DNS Services-km' ...
OK
ID Name Status
example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae example.com PENDING_NETWORK_ADD
Supprimer une zone DNS à partir de la CLI
Utilisez la commande ibmcloud dns zone-delete
suivie de l'ID de zone pour supprimer une zone.
ibmcloud dns zone-delete $DNS_ZONE_ID
Gérer les zones DNS avec l'API
Stockez d'abord le point d'extrémité de l'API dans une variable afin de pouvoir l'utiliser dans les demandes d'API sans avoir à taper à chaque fois l'URL complète. Par exemple, pour stocker le point d'extrémité de production dans une variable, exécutez cette commande :
DNSSVCS_ENDPOINT=https://api.dns-svcs.cloud.ibm.com
Pour vérifier que cette variable a été enregistrée, exécutez echo $DNSSVCS_ENDPOINT
et assurez-vous que la réponse ne soit pas vide.
Authentification
L'en-tête d'autorisation est obligatoire pour tous les appels API. Cet en-tête est le jeton bearer de l'utilisateur qui peut être extrait depuis IAM (par exemple, à l'aide de la commande ibmcloud iam oauth-tokens
).
Vous devez obtenir un jeton IAM et l'exporter dans $TOKEN
pour l'instance DNS Services.
Créer une zone DNS avec l'API
Pour créer une nouvelle zone, utilisez la commande curl
suivante :
Demande
curl -X POST \
$DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones \
-H "Authorization: $TOKEN" \
-d '{
"name": "example.com",
"description": "Example zone"
}'
Réponse
{
"success": true,
"result": {
"id": "ed10e4b2-8a64-4afa-a4e2-9e60a766d079",
"created_on": "2019-07-24 12:30:58.357201205 +0000 UTC",
"modified_on": "2019-07-24 12:30:58.357201205 +0000 UTC",
"instance_id": "1a34bda8-9c94-4232-bea7-7df163b21d23",
"name": "example.com",
"description": "Example zone",
"state": "PENDING_NETWORK_ADD",
"tag": "example.com:ed10e4b2-8a64-4afa-a4e2-9e60a766d079"
},
"errors": [],
"messages": []
}
Pour les futures commandes se référant à cette zone, la valeur de l'attribut "id" obtenue dans la réponse ci-dessus sera utilisée comme valeur de la variable DNSZONE_ID
.
Obtenir une zone DNS avec l'API
Utilisez la commande suivante pour obtenir une zone existante.
Demande
curl -X GET \
$DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID \
-H "Authorization: $TOKEN"
Réponse
{
"success": true,
"result": {
"id": "example.com:ed10e4b2-8a64-4afa-a4e2-9e60a766d079",
"created_on": "2019-07-24 12:30:58.357201205 +0000 UTC",
"modified_on": "2019-07-24 12:30:58.357201205 +0000 UTC",
"instance_id": "1a34bda8-9c94-4232-bea7-7df163b21d23",
"name": "example.com",
"description": "Example zone",
"state": "PENDING_NETWORK_ADD"
},
"errors": [],
"messages": []
}
Mise à jour d'une zone DNS avec l'API
Utilisez la commande suivante pour mettre à jour une zone existante.Vous pouvez mettre à jour les champs de la description et de l'étiquette. Tous les autres champs sont en lecture seule.
Demande
curl -X PATCH \
$DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID \
-H 'Content-Type: application/json' \
-H "Authorization: $TOKEN" \
-d '{
"description": "The DNS zone is used for VPCs in us-east region",
"label": "us-east"
}'
Réponse
{
"created_on": "2019-01-01T05:20:00.12345Z",
"description": "The DNS zone is used for VPCs in us-east region",
"id": "example.com:2d0f862b-67cc-41f3-b6a2-59860d0aa90e",
"instance_id": "1407a753-a93f-4bb0-9784-bcfc269ee1b3",
"label": "us-east",
"modified_on": "2019-01-01T05:20:00.12345Z",
"name": "example.com",
"state": "PENDING_NETWORK_ADD"
}
Liste des zones DNS avec l'API
Pour lister les zones de votre domaine (y compris s'il n'y en a qu'une), utilisez la commande curl
suivante :
Demande
curl -X GET \
$DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones \
-H "Authorization: $TOKEN"
Réponse
{
"success": true,
"result": [
{
"id": "example.com:ed10e4b2-8a64-4afa-a4e2-9e60a766d079",
"created_on": "2019-07-24 12:30:58.357201205 +0000 UTC",
"modified_on": "2019-07-24 12:30:58.357201205 +0000 UTC",
"instance_id": "1a34bda8-9c94-4232-bea7-7df163b21d23",
"name": "example.com",
"description": "Example zone",
"state": "PENDING_NETWORK_ADD"
}
],
"errors": [],
"messages": []
}
Supprimer une zone DNS avec l'API
Demande
curl -X DELETE \
$DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID \
-H "Authorization: $TOKEN"
Réponse
HTTP/2 204 No Content