DNS 레코드 관리
DNS 레코드는 사람이 읽을 수 있는 이름과 IP 주소 사이의 연결을 만듭니다. 다음 절에서는 DNS 레코드를 관리하는 방법을 다룹니다. UI, CLI 또는 API를 사용하여 DNS 레코드를 관리합니다.
콘솔에서 DNS 레코드 추가하기
- DNS 구역 테이블에서 레코드를 추가할 구역 이름을 클릭하십시오. 선택한 구역에 대한 세부사항이 표시됩니다.
- 레코드 추가를 클릭하여 레코드를 작성할 수 있는 패널을 표시하십시오.
유형 메뉴를 사용하여 작성할 레코드 유형을 선택할 수 있습니다. 각 DNS 레코드 유형에는 이 레코드와 연관된 TTL(Time-To-Live) 및 이름이 있습니다.
이름 필드에 이름을 입력할 때, 도메인 이름을 직접 추가하지 않은 경우 이 도메인 이름이 자동으로 추가됩니다. 예를 들어, 이름 필드에 www
또는 www.example.com
을 입력하면 API가 두 항목을 모두 www.example.com
으로 처리합니다. 정확한 도메인 이름을 이름 필드에 입력하면 자동으로 추가되지 않습니다(예를 들어, example.com
은
example.com
으로 처리됨). 하지만 DNS 레코드 목록에는 도메인 이름이 추가되지 않고 이름만 표시됩니다. 그 결과 www.example.com
은 www
로 표시되고 example.com
은 example.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 레코드 삭제
각 레코드 행에서 삭제 아이콘을 클릭하여 삭제 프로세스를 확인할 수 있는 패널을 여십시오.
콘솔에서 리소스 레코드 가져오기
리소스 레코드를 가져오려면 다음 단계를 수행하십시오.
-
DNS 서비스 인스턴스에서 레코드를 가져올 구역을 선택하십시오.
-
구역 세부사항 섹션에서 레코드 조치 선택을 클릭하고 레코드 가져오기를 선택하십시오.
-
가져오기 파일을 표시된 패널로 끌어서 놓거나 링크를 클릭하여 컴퓨터에서 업로드할 수 있습니다.
가져오기 파일은 일반 텍스트 형식이어야 하며 8MB를 초과할 수 없습니다
-
레코드 가져오기를 클릭하십시오.
가져오기 파일은 다음 샘플 형식을 따라야 합니다.
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 아이콘을 클릭하여 가져오기 패널을 닫으십시오.
콘솔에서 리소스 레코드 내보내기
리소스 레코드를 내보내려면 다음 단계를 수행하십시오.
- DNS 서비스 인스턴스에서 레코드를 내보낼 구역을 선택하십시오.
- 구역 세부사항 섹션에서 레코드 조치 선택을 클릭하고 레코드 내보내기를 선택하십시오.
- 내보낸 파일의 이름을 입력하거나
records.txt
의 기본 이름을 승인하십시오. - 다운로드를 클릭하십시오.
내보낸 파일이 브라우저에서 지정한 기본 다운로드 위치로 다운로드됩니다.
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