IBM Cloud Docs
DNS レコードの管理

DNS レコードの管理

DNS レコードにより、人間が読める形式の名前と IP アドレスが関連付けられます。 以降のセクションでは DNS レコードの管理方法を説明します。 UI、CLI、またはAPIを使用してDNSレコードを管理します。

コンソールでDNSレコードを追加する

  1. DNS ゾーンのテーブルから、レコードを追加するゾーン名をクリックします。 選択したゾーンの詳細情報が表示されます。
  2. **「レコードの追加」**をクリックして、レコードを作成するためのパネルを表示します。

**「タイプ」**メニューを使用して、作成するレコードのタイプを選択できます。 各 DNS レコード・タイプには、関連付けられた名前と存続時間 (TTL) があります。

「名前」フィールドに名前を入力するときにドメイン・ネームを手動で入力しなかった場合は、ドメイン・ネームが自動的に追加されます。 例えば、「名前」フィールドに wwwwww.example.com のどちらを入力しようと、API は両方のエントリーを www.example.com として処理します。 「名前」フィールドに正確なドメイン・ネームを入力した場合は、そのドメイン・ネームにさらに付加されることはありません (例えば、example.comexample.com として処理されます)。 ただし、DNS レコードのリストには、ドメイン・ネームが追加されていない状態の名前だけが表示されます。 したがって、www.example.comwww と表示され、example.comexample.com と表示されます。

サポートされている最小 TTL 値は 1 minであり、最大値は 12 hoursです。 TTL のデフォルト値は 15 minですが、ユーザーが変更可能です。

コンソールでAタイプのレコードを追加する

このレコード・タイプを追加するには、**「名前」フィールドと「IPv4 アドレス (IPv4 Address)」**フィールドに有効な値がなければなりません。 TTL 値はリスト・メニューから指定します。デフォルト値は 15 minです。

必須フィールド

  • 名前
  • IPv4 アドレス
  • TTL (デフォルト値は 15 分)

コンソールでAAAAタイプのレコードを追加する

このレコード・タイプを追加するには、**「名前」フィールドと「IPv6 アドレス (IPv6 Address)」**フィールドに有効な値がなければなりません。 TTL 値はリスト・メニューから指定します。デフォルト値は 15 minです。

必須フィールド

  • 名前
  • IPv6 アドレス
  • TTL (デフォルト値は 15 分)

コンソールでCNAMEタイプのレコードを追加する

このレコード・タイプを追加するには、「名前」フィールドに有効な値、「ターゲット」 (FQDN) フィールドに完全修飾ドメイン・ネームが入っていなければなりません。 TTL もリスト・メニューから指定できます。デフォルト値は 15 minです。

必須フィールド

  • 名前
  • ターゲット (CNAME の場合)
  • TTL (デフォルト値は 15 分)

コンソールでMXタイプレコードを追加する

このレコード・タイプを追加するには、「名前」フィールドに有効な値、「メール・サーバー」 (FQDN) フィールドに完全修飾ドメイン・ネーム、**「優先度」**フィールドに有効な数値が入っていなければなりません。 TTL 値はリスト・メニューから指定します。デフォルト値は 15 minです。

必須フィールド

  • 名前
  • メール・サーバー
  • TTL (デフォルト値は 15 分)
  • 優先度 (デフォルト値は 1)

コンソールでPTRタイプのレコードを追加する

このレコード・タイプを追加するには、別の PTR レコードにまだ関連付けられていない既存の A レコードまたは AAAA レコードが必要です。 リスト・メニューから既存のレコードを選択します。 TTL 値はリスト・メニューから指定します。デフォルト値は 15 minです。

必須フィールド

  • 既存のレコードの選択
  • TTL (デフォルト値は 15 分)

コンソールでSRVタイプのレコードを追加する

このレコード・タイプを追加するには、「名前」「サービス名」、および**「ターゲット」の各フィールドに有効な値がなければなりません。 リスト・メニューを使用して「プロトコル (protocol)」** を選択します。このデフォルトは「UDP」プロトコルです。 また、「優先順位」「重みづけ」、および**「ポート」**を指定できます。 これら 3 つのフィールドのデフォルト値は 1 です。 TTL 値はリスト・メニューから指定します。デフォルト値は 15 minです。

必須フィールド

  • 名前
  • サービス名
  • ターゲット
  • TTL (デフォルト値は 15 分)
  • プロトコル (デフォルト値は UDP)
  • 優先度 (デフォルト値は 1)
  • 重み (デフォルト値は 1)
  • ポート (デフォルト値は 1)

コンソールにTXTタイプのレコードを追加する

このレコード・タイプを追加するには、**「名前」フィールドと「コンテンツ (Content)」**フィールドに有効な値がなければなりません。 TTL 値はリスト・メニューから指定します。デフォルト値は 15 minです。

セキュリティーとプライバシーの理由により、機密性の高いデータに対して TXT タイプのレコードを type 使用することは推奨されません。

必須フィールド

  • 名前
  • 内容
  • TTL (デフォルト値は 15 分)

コンソールでDNSレコードを更新する

各レコード行の**「編集」**アイコンをクリックすると、そのレコードを更新するためのパネルが表示されます。

コンソールでDNSレコードを削除する

各レコード行の**「削除」**アイコンをクリックすると、削除プロセスを確認するためのパネルが表示されます。

コンソールでリソースレコードをインポートする

リソース・レコードをインポートするには、以下のステップを実行します。

  1. DNS Services インスタンスから、レコードのインポート先のゾーンを選択します。

  2. 「ゾーンの詳細」セクションで 「レコードの選択」アクション をクリックし、レコードのインポート を選択します。

  3. 表示されるパネルにインポート・ファイルをドラッグ・アンド・ドロップするか、リンクをクリックしてコンピューターからアップロードすることができます。

    インポートファイルはプレーンテキスト形式で、8MBを超えることはできません

  4. **「レコードのインポート」**をクリックします

インポート・ファイルは、以下のサンプル・フォーマットに従う必要があります。

www.test.com.  900 IN  A   127.0.0.1
www.test.com.  900 IN  AAAA    ::1
w3.test.com.   900 IN  CNAME   mydomain.com.
www.test.com.  900 IN  MX  1 mail.example.com.
_service._tcp.www.sample.com.   900 IN  SRV 1 1 1 mydomain.com.
www.test.com.  900 IN  TXT "my content"

レコードがインポートされた後、正常にアップロードされたファイルの数やアップロードできなかったレコードの数など、インポート・ステータスの詳細を確認できます。 追加のファイルをアップロードする必要がある場合は、**「さらにファイルをアップロード」**をクリックして、インポート手順を繰り返します。 パネルの右上にある X アイコンをクリックして、インポート・パネルを閉じます。

コンソールでリソースレコードをエクスポートする

リソース・レコードをエクスポートするには、以下のステップを実行します。

  1. DNS Services インスタンスから、レコードのエクスポート元のゾーンを選択します。
  2. 「ゾーンの詳細」セクションで 「レコードの選択」アクション をクリックし、レコードのエクスポート を選択します。
  3. エクスポート・ファイルの名前を入力するか、デフォルト名の records.txt を受け入れます。
  4. **「ダウンロード」**をクリックします

エクスポートされたファイルは、ブラウザーで指定されたデフォルトのダウンロード場所にダウンロードされます。

CLIからのDNS再接続の管理

最初に、ibmcloud dns instance-target コマンドを使用して、ターゲットの作動している DNS Service インスタンスを設定します。

$ 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"

これ以降のコマンドでゾーン ID を毎回入力しなくても済むように、ゾーン ID を変数に格納します。 例えば、ゾーン ID を変数に格納するには以下のコマンドを実行します。

DNS_ZONE_ID="example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae"

CLIからタイプ「A リソースレコードを作成する

--type A オプションを持つ ibmcloud dns resource-record-create コマンドを使用して、タイプ A のリソース・レコードを作成します。--name および --ipv4 は必須オプションです。

$ ibmcloud dns resource-record-create $DNS_ZONE_ID --type A --name www --ipv4 192.168.1.100
Creating resource record in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID            A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6
Name          www.example.com
Type          A
Created On    2020-04-10 09:12:07.858707275 +0000 UTC
Modified On   2020-04-10 09:12:07.858707275 +0000 UTC
TTL           900
Data
    ip        192.168.1.100

CLIから'SRV'タイプのリソースレコードを作成する

--type SRV オプションを持つ ibmcloud dns resource-record-create コマンドを使用して、タイプ SRV のリソース・レコードを作成します。--name--service--protocol、および --target は必須オプションです。

$ ibmcloud dns resource-record-create $DNS_ZONE_ID --type SRV --name video --service _sip --protocol tcp --priority 10 --weight 10 --port 953 --target media.example.com
Creating resource record in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID             SRV:c7c8938b-87c7-4aee-95fa-63f28452c8d4
Name           _sip._tcp.video.example.com
Type           SRV
Created On     2020-04-10 09:15:56.940189115 +0000 UTC
Modified On    2020-04-10 09:15:56.940189115 +0000 UTC
TTL            900
Data
    port       953
    priority   10
    target     media.example.com
    weight     10

CLIから'TXT'タイプのリソース・レコードを作成する

--type TXT オプションを持つ ibmcloud dns resource-record-create コマンドを使用して、タイプ TXT のリソース・レコードを作成します。--name および --text は必須オプションです。

$ ibmcloud dns resource-record-create $DNS_ZONE_ID --type TXT --name text --text "This is a text record."
Creating resource record in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID            TXT:92648285-c7e5-49ef-bf8b-a5be91d5c5d3
Name          text.example.com
Type          TXT
Created On    2020-04-10 09:16:50.169135062 +0000 UTC
Modified On   2020-04-10 09:16:50.169135062 +0000 UTC
TTL           900
Data
    text      This is a text record.

CLIからタイプ'MX'リソースレコードを作成する

タイプ MX のリソース・レコードを作成するには、--type MX オプションを持つ ibmcloud dns resource-record-create コマンドを使用します。--name および --exchange は必須オプションです。

$ ibmcloud dns resource-record-create $DNS_ZONE_ID --type MX --name mail --preference 10 --exchange exchange.example.com
Creating resource record in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID               MX:900750bf-881d-402f-a482-20447f2e64a2
Name             mail.example.com
Type             MX
Created On       2020-04-10 09:18:08.299278244 +0000 UTC
Modified On      2020-04-10 09:18:08.299278244 +0000 UTC
TTL              900
Data
    preference   10
    exchange     exchange.example.com

CLIからタイプ「PTR」リソースレコードを作成する

タイプ PTR のリソース・レコードを作成するには、--type PTR オプションを持つ ibmcloud dns resource-record-create コマンドを使用します。--name および --ptrdname は必須オプションです。

$ ibmcloud dns resource-record-create $DNS_ZONE_ID --type PTR --name 192.168.1.100 --ptrdname www.example.com
Creating resource record in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID             PTR:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6
Name           192.168.1.100
Type           PTR
Created On     2020-04-10 09:34:49.722454606 +0000 UTC
Modified On    2020-04-10 09:34:49.722454606 +0000 UTC
TTL            900
Data
    ptrdname   www.example.com

CLIからタイプ'CNAME'リソースレコードを作成する

タイプ CNAME のリソース・レコードを作成するには、--type CNAME オプションを持つ ibmcloud dns resource-record-create コマンドを使用します。--name および --cname は必須オプションです。

$ ibmcloud dns resource-record-create $DNS_ZONE_ID --type CNAME --name web --cname www.example.com
Creating resource record in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID            CNAME:6e80f079-effd-409a-a520-b8c1b10f6e6e
Name          web.example.com
Type          CNAME
Created On    2020-04-10 09:36:13.186040793 +0000 UTC
Modified On   2020-04-10 09:36:13.186040793 +0000 UTC
TTL           900
Data
    cname     www.example.com

CLIからタイプ「AAAA」リソース・レコードを作成する

タイプ AAAA のリソース・レコードを作成するには、--type AAAA オプションを持つ ibmcloud dns resource-record-create コマンドを使用します。--name および --ipv6 は必須オプションです。

$ ibmcloud dns resource-record-create $DNS_ZONE_ID --type AAAA --name www --ipv6 2019::2020
Creating resource record in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID            AAAA:37e1e701-e549-4ca1-8c22-86574bf4aaed
Name          www.example.com
Type          AAAA
Created On    2020-04-10 09:37:15.063814601 +0000 UTC
Modified On   2020-04-10 09:37:15.063814601 +0000 UTC
TTL           900
Data
    ip        2019::2020

CLIからリソースレコードを取得する

リソース・レコードの詳細を取得するには、ibmcloud dns resource-record コマンドを使用し、その後にゾーン ID とリソース・レコード ID を指定します。

$ ibmcloud dns resource-record $DNS_ZONE_ID A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6
Getting resource record 'A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6' in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID            A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6
Name          www.example.com
Type          A
Created On    2020-04-10 09:12:07.858707275 +0000 UTC
Modified On   2020-04-10 09:34:49.986883927 +0000 UTC
TTL           900
Data
    ip        192.168.1.100

CLIからリソース・レコードをリストする

すべてのリソース・レコードをリストするには、ibmcloud dns resource-records コマンドを使用し、その後にゾーン ID を指定します。

$ ibmcloud dns resource-records $DNS_ZONE_ID
Listing resource records in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK
ID                                           Name                          Type    TTL
AAAA:37e1e701-e549-4ca1-8c22-86574bf4aaed    www.example.com               AAAA    900
CNAME:6e80f079-effd-409a-a520-b8c1b10f6e6e   web.example.com               CNAME   900
MX:900750bf-881d-402f-a482-20447f2e64a2      mail.example.com              MX      900
TXT:92648285-c7e5-49ef-bf8b-a5be91d5c5d3     text.example.com              TXT     900
SRV:c7c8938b-87c7-4aee-95fa-63f28452c8d4     _sip._tcp.video.example.com   SRV     900
A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6       www.example.com               A       900
PTR:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6     192.168.1.100                 PTR     900

CLIからリソース・レコードを更新する

リソース・レコードを更新するには、ibmcloud dns resource-record-update コマンドを使用し、その後にゾーン ID とリソース・レコード ID を指定します。

$ ibmcloud dns resource-record-update $DNS_ZONE_ID A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6 --name www --ipv4 10.10.1.1
Updating resource record 'A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6' in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

ID            A:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6
Name          www.example.com
Type          A
Created On    2020-04-10 09:12:07.858707275 +0000 UTC
Modified On   2020-04-10 09:40:55.204076727 +0000 UTC
TTL           900
Data
    ip        10.10.1.1

CLIからリソース・レコードを削除する

リソース・コマンドを削除するには、ibmcloud dns resource-record-delete コマンドを使用し、その後にゾーン ID とリソース・レコード ID を指定します。

$ ibmcloud dns resource-record-delete $DNS_ZONE_ID PTR:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6
Really delete resource record 'PTR:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6' in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km'? [y/N]> y
Deleting resource record 'PTR:f20cfe91-b936-4bad-a8d1-f7afa4ac32a6' in zone 'example.com:f7f40364-a5e6-48f7-9fc9-387434c579ae' for service instance 'DNS Services-km' ...
OK

APIでDNSレコードを管理する

まずは、API 要求で API エンドポイントの完全な URL を入力しなくても済むように、API エンドポイントを変数に保管してください。 例えば、実動エンドポイントを変数に保管するには、以下のコマンドを実行します。

DNSSVCS_ENDPOINT=https://api.dns-svcs.cloud.ibm.com

この変数が保存されたことを確認するために、echo $DNSSVCS_ENDPOINT を実行し、応答が空でないことを確かめてください。

APIでタイプ「A リソースレコードを作成する

要求

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records \
  -H "Authorization: $TOKEN" \
  -d '{
    "name":"www.example.com",
    "type":"A",
    "rdata": {
            "ip":"1.2.6.7"
        },
    "ttl":300
}'

応答

{
    "id": "fa57d5d0-7729-4770-af27-6d7f8dce860c",
    "created_on": "2019-08-12 08:03:03.910471016 +0000 UTC",
    "modified_on": "2019-08-12 08:03:03.910471016 +0000 UTC",
    "rtype": "A",
    "ttl": 300,
    "name": "www.example.com",
    "id": "A:fa57d5d0-7729-4770-af27-6d7f8dce860c",
    "rdata": {
        "ip": "1.2.6.7"
    }
}

タイプ「SRV」リソースレコードをAPIで作成する

要求

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records \
  -H "Authorization: $TOKEN" \
  -d '{
    "type": "SRV",
    "name": "example.com",
    "service": "srv",
    "protocol": "udp",
    "rdata": {
        "priority": 100,
        "weight": 100,
        "port": 8000,
        "target": "siphost.com"
    }
}'

応答

{
    "created_on": "2019-08-16 08:07:41.113606 +0000 UTC",
    "modified_on": "2019-08-16 08:07:41.113606 +0000 UTC",
    "rtype": "SRV",
    "ttl": 60,
    "name": "example.com",
    "id": "SRV:7562b1f9-1a6a-4189-b794-dd84c91d6a28",
    "rdata": {
        "priority": 100,
        "weight": 100,
        "port": 8000,
        "target": "siphost.com"
    },
    "service": "srv",
    "protocol": "udp"
}

APIで'TXT'タイプのリソースレコードを作成する

要求

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records \
  -H "Authorization: $TOKEN" \
  -d '{
    "type": "TXT",
    "name": "txt.example.com",
    "rdata": {
        "txtdata": "txt strings"
    }
}'

応答

{
    "created_on": "2019-08-16 08:15:53.360664 +0000 UTC",
    "modified_on": "2019-08-16 08:15:53.360664 +0000 UTC",
    "rtype": "TXT",
    "ttl": 60,
    "name": "txt.example.com",
    "id": "TXT:c6221d5f-69d7-4717-9951-4f69b2680fd4",
    "rdata": {
        "txtdata": "txt strings"
    }
}

APIでタイプ'MX'リソースレコードを作成する

要求

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records \
  -H "Authorization: $TOKEN" \
  -d '{
    "type": "MX",
    "name": "mx1.example.com",
    "rdata": {
        "exchange": "mailserver.example.com",
        "preference": 10
    }
}'

応答

{
    "created_on": "2019-08-16 08:21:20.308716 +0000 UTC",
    "modified_on": "2019-08-16 08:21:20.308716 +0000 UTC",
    "rtype": "MX",
    "ttl": 60,
    "name": "mx1.example.com",
    "id": "MX:8e1b201e-00dd-46a0-a3ec-46573f908870",
    "rdata": {
        "preference": 10,
        "exchange": "mailserver.example.com"
    }
}

APIで'PTR'タイプのリソースレコードを作成する

要求

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records \
  -H "Authorization: $TOKEN" \
  -d '{
    "type": "PTR",
    "name": "192.168.10.100",
    "rdata": {
       "ptrdname": "www1.example.com"
    }
}'

応答

{
    "created_on": "2019-08-30 06:48:16.971764628 +0000 UTC",
    "modified_on": "2019-08-30 06:48:16.971764628 +0000 UTC",
    "rtype": "PTR",
    "ttl": 60,
    "name": "100.10.168.192.in-addr.arpa",
    "id": "PTR:a47dd63a-e65a-4280-8f53-3cdb433cc78a",
    "rdata": {
        "ptrdname": "www1.example.com"
    }
}

APIで'CNAME'リソースレコードを作成する

要求

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records \
  -H "Authorization: $TOKEN" \
  -d '{
    "type": "CNAME",
    "name": "cname.example.com",
    "rdata": {
       "cname": "clientinterface.com"
    }
}'

応答

{
    "created_on": "2019-08-16 08:29:36.710416 +0000 UTC",
    "modified_on": "2019-08-16 08:29:36.710416 +0000 UTC",
    "rtype": "CNAME",
    "ttl": 60,
    "name": "cname.example.com",
    "id": "CNAME:c95916ba-5504-499a-943a-21f5befe92b5",
    "rdata": {
        "cname": "clientinterface.com"
    }
}

APIを使用してタイプ「AAAA」リソース・レコードを作成する

要求

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records \
  -H "Authorization: $TOKEN" \
  -d '{
    "type": "AAAA",
    "name": "test.example.com",
    "rdata": {
       "ip": "8000::2000"
    }
}'

応答

{
    "created_on": "2019-08-16 08:34:38.311539 +0000 UTC",
    "modified_on": "2019-08-16 08:34:38.311539 +0000 UTC",
    "rtype": "AAAA",
    "ttl": 60,
    "name": "test.example.com",
    "id": "AAAA:894e165b-f066-434d-9b58-4afc2dca62c9",
    "rdata": {
        "ip": "8000::2000"
    }
}

APIでリソースレコードを取得する

要求

curl -X GET \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records/$RECORD_ID \
  -H "Authorization: $TOKEN"

応答

{
    "created_on": "2019-08-12 08:03:03.910471016 +0000 UTC",
    "modified_on": "2019-08-12 08:03:32.875065176 +0000 UTC",
    "rtype": "A",
    "ttl": 300,
    "name": "www.example.com",
    "id": "A:fa57d5d0-7729-4770-af27-6d7f8dce860c",
    "rdata": {
        "ip": "9.4.6.7"
    }
}

APIを使用してリソースレコードをリストする

要求

curl -X GET \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records?limit=50&offset=0 \
  -H "Authorization: $TOKEN"

応答

{
    "offset": 0,
    "limit": 50,
    "total_count": 1,
    "first": {
      "href": "https://api.dns-svcs.cloud.ibm.com/v1/instances/ec0c4ee2-5d1f-4066-bcf2-dc9f3122c638/dnszones/example.com:4759caa4-d4fa-4fb9-7848-f463de19b392/resource_records?limit=50"
    },
    "resource_records": [
        {
            "created_on": "2019-08-30 04:10:25.092468565 +0000 UTC",
            "modified_on": "2019-08-30 04:10:25.092468565 +0000 UTC",
            "rtype": "A",
            "ttl": 60,
            "name": "www.example.com",
            "id": "A:ec0c4ee2-5d1f-4066-bcf2-dc9f3122c639",
            "rdata": {
                "ip": "192.168.10.100"
            }
        }
    ]
}

APIでリソースレコードを更新する

要求

curl -X PUT \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records/$RECORD_ID \
  -H "Authorization: $TOKEN" \
  -d '{
    "name":"www",
    "rdata": {
            "ip":"7.7.7.7"
        },
    "ttl":300
}'

応答

{
    "created_on":"2019-09-10 20:03:25.249355942 +0000 UTC",
    "modified_on":"2019-09-11 16:13:17.350043736 +0000 UTC",
    "rtype":"A",
    "ttl":300,
    "name":"www",
    "id":"A:139eb9f3-c646-4eb6-92fa-3ddabfb1b84f",
    "rdata":{
        "ip":"7.7.7.7"
    }
}

APIでリソースレコードを削除する

要求

curl -X DELETE \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/resource_records/$RECORD_ID \
  -H "Authorization: $TOKEN"

応答

HTTP 204 is returned, no content in response.

APIを使用してDNSゾーンファイルからリソースレコードを一括インポートする

要求

curl -X POST \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/import_resource_records --form "file=@./bind.cfg" \
  -H "Authorization: $TOKEN"

応答

{
    "total_records_parsed": 17,
    "records_added": 17,
    "records_failed": 0,
    "records_added_by_type": {
        "A": 10,
        "AAAA": 2,
        "CNAME": 4,
        "SRV": 0,
        "TXT": 0,
        "MX": 0,
        "PTR": 1
    },
    "records_failed_by_type": {
        "A": 0,
        "AAAA": 0,
        "CNAME": 0,
        "SRV": 0,
        "TXT": 0,
        "MX": 0,
        "PTR": 0
    },
    "message": null,
    "errors": null
}

APIを使用してDNSゾーンファイルにリソースレコードを一括エクスポートする

要求

curl -X GET \
  $DNSSVCS_ENDPOINT/v1/instances/$INSTANCE_ID/dnszones/$DNSZONE_ID/export_resource_records -o dns_records.cfg \
  -H "Authorization: $TOKEN"

応答

HTTP 200 is returned with zone file content in byte format