IBM Cloud Docs
DNS 레코드 관리

DNS 레코드 관리

DNS 레코드는 사람이 읽을 수 있는 이름과 IP 주소 사이의 연결을 만듭니다. 다음 절에서는 DNS 레코드를 관리하는 방법을 다룹니다. UI, CLI 또는 API를 사용하여 DNS 레코드를 관리합니다.

콘솔에서 DNS 레코드 추가하기

  1. DNS 구역 테이블에서 레코드를 추가할 구역 이름을 클릭하십시오. 선택한 구역에 대한 세부사항이 표시됩니다.
  2. 레코드 추가를 클릭하여 레코드를 작성할 수 있는 패널을 표시하십시오.

유형 메뉴를 사용하여 작성할 레코드 유형을 선택할 수 있습니다. 각 DNS 레코드 유형에는 이 레코드와 연관된 TTL(Time-To-Live) 및 이름이 있습니다.

이름 필드에 이름을 입력할 때, 도메인 이름을 직접 추가하지 않은 경우 이 도메인 이름이 자동으로 추가됩니다. 예를 들어, 이름 필드에 www 또는 www.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 주소 필드에 있어야 합니다. 목록 메뉴에서 TTL 값(기본값 15 min)을 지정하십시오.

필수 필드

  • 이름
  • IPv4 주소
  • TTL(기본값 15 min)

콘솔에서 AAAA 유형 레코드 추가하기

이 레코드 유형을 추가하려면 올바른 값이 이름IPv6 주소 필드에 있어야 합니다. 목록 메뉴에서 TTL 값(기본값 15 min)을 지정하십시오.

필수 필드

  • 이름
  • IPv6 주소
  • TTL(기본값 15 min)

콘솔에서 CNAME 유형 레코드 추가하기

이 레코드 유형을 추가하려면 올바른 값이 이름 필드에 있어야 하고 완전한 도메인 이름은 대상(FQDN) 필드에 있어야 합니다. 목록 메뉴에서도 TTL을 지정할 수 있습니다(기본값 15 min).

필수 필드

  • 이름
  • 대상(CNAME용)
  • TTL(기본값 15 min)

콘솔에서 MX 유형 레코드 추가

이 레코드 유형을 추가하려면 올바른 값이 이름 필드에 있어야 하고 완전한 도메인 이름은 메일 서버(FQDN) 필드에 있어야 하며 올바른 숫자가 우선순위 필드에 있어야 합니다. 목록 메뉴에서 TTL 값(기본값 15 min)을 지정하십시오.

필수 필드

  • 이름
  • 메일 서버
  • TTL(기본값 15 min)
  • 우선순위(기본값 1)

콘솔에서 PTR 유형 레코드 추가하기

이 레코드 유형을 추가하려면 다른 PTR 레코드와 아직 연관되지 않은 기존 A 또는 AAAA 레코드가 있어야 합니다. 목록 메뉴에서 기존 레코드를 선택하십시오. 목록 메뉴에서 TTL 값(기본값 15 min)을 지정하십시오.

필수 필드

  • 기존 레코드 선택
  • TTL(기본값 15 min)

콘솔에서 SRV 유형 레코드 추가하기

이 레코드 유형을 추가하려면 올바른 값이 이름, 서비스 이름대상 필드에 있어야 합니다. 목록 메뉴를 사용하여 프로토콜을 선택하십시오. 기본값은 UDP 프로토콜입니다. 또한 우선순위, 가중치포트를 지정할 수 있습니다. 이 세 필드의 기본값은 1입니다. 목록 메뉴에서 TTL 값(기본값 15 min)을 지정하십시오.

필수 필드

  • 이름
  • 서비스 이름
  • 대상
  • TTL(기본값 15 min)
  • 프로토콜(기본값 UDP)
  • 우선순위(기본값 1)
  • 가중치(기본값 1)
  • 포트(기본값 1)

콘솔에서 TXT 유형 레코드 추가하기

이 레코드 유형을 추가하려면 올바른 값이 이름컨텐츠 필드에 있어야 합니다. 목록 메뉴에서 TTL 값(기본값 15 min)을 지정하십시오.

보안 및 개인정보 보호의 이유로 민감하고 기밀인 데이터의 경우에는 TXT 유형 레코드를 사용하지 않는 것이 좋습니다.

필수 필드

  • 이름
  • 컨텐츠
  • TTL(기본값 15 min)

콘솔에서 DNS 레코드 업데이트

각 레코드 행에서 편집 아이콘을 클릭하여 레코드를 업데이트할 수 있는 패널을 여십시오.

콘솔에서 DNS 레코드 삭제

각 레코드 행에서 삭제 아이콘을 클릭하여 삭제 프로세스를 확인할 수 있는 패널을 여십시오.

콘솔에서 리소스 레코드 가져오기

리소스 레코드를 가져오려면 다음 단계를 수행하십시오.

  1. DNS 서비스 인스턴스에서 레코드를 가져올 구역을 선택하십시오.

  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 서비스 인스턴스에서 레코드를 내보낼 구역을 선택하십시오.
  2. 구역 세부사항 섹션에서 레코드 조치 선택을 클릭하고 레코드 내보내기를 선택하십시오.
  3. 내보낸 파일의 이름을 입력하거나 records.txt의 기본 이름을 승인하십시오.
  4. 다운로드를 클릭하십시오.

내보낸 파일이 브라우저에서 지정한 기본 다운로드 위치로 다운로드됩니다.

CLI에서 DNS 재연결 관리하기

대상 운영 DNS 서비스 인스턴스를 설정하려면 먼저 ibmcloud dns instance-target 명령을 사용하십시오.

$ 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를 저장하려면 다음 명령을 실행하십시오.

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

CLI에서 ' A 유형의 리소스 레코드를 생성합니다

ibmcloud dns resource-record-create 명령을 --type A 옵션과 함께 사용하여 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' 유형의 리소스 레코드 만들기

ibmcloud dns resource-record-create 명령을 --type SRV 옵션과 함께 사용하여 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' 유형 리소스 레코드 만들기

ibmcloud dns resource-record-create 명령을 --type TXT 옵션과 함께 사용하여 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' 유형 리소스 레코드 만들기

ibmcloud dns resource-record-create 명령을 --type MX 옵션과 함께 사용하여 MX 유형의 리소스 레코드를 작성하십시오. --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' 유형 리소스 레코드 만들기

ibmcloud dns resource-record-create 명령을 --type PTR 옵션과 함께 사용하여 PTR 유형의 리소스 레코드를 작성하십시오. --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' 유형 리소스 레코드 만들기

ibmcloud dns resource-record-create 명령을 --type CNAME 옵션과 함께 사용하여 CNAME 유형의 리소스 레코드를 작성하십시오. --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' 유형 리소스 레코드 만들기

ibmcloud dns resource-record-create 명령을 --type AAAA 옵션과 함께 사용하여 AAAA 유형의 리소스 레코드를 작성하십시오. --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를 사용하십시오.

$ 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를 사용하십시오.

$ 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 레코드 관리

먼저 전체 URL을 입력하지 않고도 API 요청에서 사용할 수 있도록 변수에 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"
    }
}

API를 사용하여 'SRV' 유형의 리소스 레코드 만들기

요청

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