レコードの作成/削除 (POST v1.0/hostedzone/{ゾーンID}/rrset)
- レコードの作成、削除を行います。
- 登録できるレコード種別は、NS、A、AAAA、CNAME、MX、TXT、LBR(レイテンシベースルーティング用)、SRVです。
- SOAレコードは設定変更できません。
- 1つのリクエスト内で複数のレコード作成/削除操作を指定できます。それらは1つのトランザクション処理として扱われ、部分的に反映されることはありません。
- レコード作成/削除は即時反映ではないため、レスポンスには作成された更新リクエスト情報が含まれます。
これの反映ステータスがPENDINGからINSYNCに変わったタイミングが反映完了となります。
- 登録できるレコード数はゾーンごとに最大10000までです。
- 削除時は、Name、Type、Valueが一致するデータが削除されます。
- 同一ゾーン内でレコード作成或いは削除APIを同時刻に実行した場合、500 Internal Errorとなりますので、リトライを実施してください。
※ゾーンIDはゾーン名と同じ値です。
Request Headers
なし
Request Parameter
なし
Request Elements
ChangeResourceRecordSetsRequest
リクエストのエンベロープ
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
- | 1..1 | None | ChangeBatch |
ChangeBatch
レコード操作トランザクション処理のエンベロープ
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
- | 1..1 | ChangeResourceRecordSetsRequest | Comment Changes |
Comment
レコード操作トランザクション処理に対するコメント
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 0..1 | ChangeBatch | None |
Changes
変更内容リストのエンベロープ
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
- | 1..1 | ChangeBatch | Change |
Change
変更内容のエンベロープ
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
- | 1..n | Changes | Action ResourceRecordSet |
Action
レコード操作の種類。CREATEまたはDELETE
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 1..1 | Change | None |
ResourceRecordSet
レコード情報のエンベロープ
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
- | 1..1 | Change | Name
Type SetIdentifier Weight XniftyDefaultHost Failover XniftyHealthCheckConfig TTL ResourceRecords XniftyComment |
Name
レコード名
入力制限:
半角英数字(a~z、0~9)、ハイフン(-)、ワイルドカード(*)、アットマーク(@) 1文字以上63文字以内
ワイルドカード(*)設定可能(A、AAAA、MX、CNAME、TXTレコードのみ。ただし、WeightまたはFailoverを設定している場合は不可)
アットマーク(@)指定可能(A,AAAA,MX,TXTレコードのみ。ただし、Failoverを設定している場合は不可)
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 1..1 | ResourceRecordSet | None |
Type
レコード種別
NS、A、AAAA、CNAME、MX、TXT、LBR、SRV
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 1..1 | ResourceRecordSet | None |
SetIdentifier
レコード識別情報
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 0..1 | ResourceRecordSet | None |
Weight
重み付け値。0~100
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 0..1 | ResourceRecordSet | None |
XniftyDefaultHost
デフォルトホスト情報
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 0..1 | ResourceRecordSet | None |
Failover
フェイルオーバー種別。PRIMARYまたはSECONDARY
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 0..1 | ResourceRecordSet | None |
XniftyHealthCheckConfig
ヘルスチェック情報のエンベロープ
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
- | 0..1 | ResourceRecordSet | IPAddress Port Protocol ResourcePath FullyQualifiedDomainName |
IPAddress
ヘルスチェック先IPアドレス
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 1..1 | XniftyHealthCheckConfig | None |
Port
ヘルスチェック先ポート
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 1..1 | XniftyHealthCheckConfig | None |
Protocol
ヘルスチェック種別。HTTP、HTTPS、TCP
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 1..1 | XniftyHealthCheckConfig | None |
ResourcePath
ヘルスチェック先パス
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 0..1 | XniftyHealthCheckConfig | None |
FullyQualifiedDomainName
ヘルスチェック先ドメイン名
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 0..1 | XniftyHealthCheckConfig | None |
TTL
TTL値。60~86400秒。未設定時はゾーンのTTLが使用される。
レコード種別がLBRの場合は設定不要
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 0..1 | ResourceRecordSet | None |
ResourceRecords
レコードの応答情報一覧のエンベロープ
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
- | 1..1 | ResourceRecordSet | ResourceRecord |
ResourceRecord
レコードの応答情報のエンベロープ
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
- | 1..n | ResourceRecords | Value |
Value
レコード応答値。CNAME、MX、NSレコードはマルチバイトドメインの設定が可能。
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 1..1 | ResourceRecord | None |
XniftyComment
コメント。全角255文字以内
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 0..1 | ResourceRecordSet | None |
HTTP ステータス
ステータス
リクエストのステータスを返却する。
- 200:
- 正常終了
- 400:
- 入力パラメータ不正
- 404:
- ゾーンIDで指定したゾーンが存在しない。
Data Type | Cardinality |
---|---|
Int | 1..1 |
Response Elements(正常終了時)
ChangeResourceRecordSetsResponse
レスポンスのエンベロープ
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
- | 1..1 | None | ChangeInfo |
ChangeInfo
更新リクエスト情報のエンベロープ
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
- | 1..1 | ChangeResourceRecordSetsResponse | Id
Status SubmittedAt |
Id
更新リクエストID
GetChange APIで更新リクエスト情報の取得に使用します
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 1..1 | ChangeInfo | None |
Status
更新リクエストの現在の状態
PENDINGまたはINSYNC
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 1..1 | ChangeInfo | None |
SubmittedAt
更新リクエスト発行日時。形式:YYYY-MM-DDThh:mm:ss.SSSZ
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
xsd:string | 1..1 | ChangeInfo | None |
Example of Request
POST /hostedzone/example.com/rrset HTTP/1.1
Date: Fri, 06 Jun 2014 11:00:37 GMT
Content-Length: …
Host: dns.gls.cloud.global.fujitsu.com
Accept: application/xml
X-Auth-Token: MIIFvgY…
<?xml version="1.0" encoding="UTF-8"?>
< ChangeResourceRecordSetsRequest xmlns="http://docs.cloudcommunity.global.fujitsu.com/dns/api/v1.0/">
<ChangeBatch>
<Changes>
<Change>
<Action>CREATE</Action>
<ResourceRecordSet>
<Name>server.example.com</Name>
<Type>A</Type>
<TTL>60</TTL>
<ResourceRecords>
<ResourceRecord>
<Value>222.158.xxx.yyy</Value>
</ResourceRecord>
</ResourceRecords>
</ResourceRecordSet>
</Change>
</Changes>
</ChangeBatch>
</ChangeResourceRecordSetsRequest>
Example of Response
HTTP/1.1 200 OK
Date: Fri, 06 Jun 2014 11:00:38 GMT
Content-Length: …
Content-Type: application/xml
x-fj-request-id: d96bd874-9bf2-11e1-8ee7-c98a0037a2b6
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
< ChangeResourceRecordSetsResponse xmlns="http://docs.cloudcommunity.global.fujitsu.com/dns/api/v1.0/">
<ChangeInfo>
<Id>7a782d43939d7ff538ff1ee19dbdd5a0</Id>
<Status>INSYNC</Status>
<SubmittedAt>2014-06-06T11:00:38.178Z</SubmittedAt>
</ChangeInfo>
</ChangeResourceRecordSetsResponse>
フェイルオーバーの設定
- フェイルオーバーの設定
フェイルオーバーの設定はFailoverタグで指定します。A、AAAAレコードのみ利用可能です。
- PRIMARY:1レコードのみ設定できます。
- SECONDARY:複数の設定が可能です。
- ヘルスチェック
フェイルオーバーの設定ではヘルスチェックを登録します。
設定はXniftyHealthCheckConfigタグで設定します。
ヘルスチェックのルール
- レコード毎に指定されている個別のヘルスチェックを実行します。
- ヘルスチェックは5分間隔で行われます。
- ヘルスチェック時には、対象サーバに対してインターネット経由でパケットを送信することによりチェックします。
- フェイルオーバーの切り替え対象は、同ホストかつ同レコードタイプを1グループとして実行します。
- 同じグループのレコード名は全て同じ名前にしてください。
- 対象のIPアドレスはグローバルIPアドレスを設定してください。
- 対象のIPアドレスにパケットが届くように、ネットワークやOS(ファイアーウォールサービス、セキュリティグループルール、およびOSのファイアーウォールなど)を設定しておいてください。
- ResourcePathタグを設定した場合は、その値がヘルスチェック先パスとなります。設定しない場合は、”/”がヘルスチェック先パスとなります。
- FullyQualifiedDomainNameタグを設定した場合は、その値がHostヘッダの値となります。
- セカンダリが複数設定されている場合は、先に登録したレコードが優先されます。
- ヘルスチェックは通常、プライマリーに対してのみ行われます。
- プライマリーに対するヘルスチェックが異常であった場合、プライマリーとセカンダリの両方にヘルスチェックが行われるようになります。
- プライマリーとセカンダリのサーバ状態および振り分け先の関係は、IaaS機能説明書(ネットワーク - DNSサービス - フェイルオーバ機能)をご参照ください。
<XniftyHealthCheckConfig> <IPAddress>対象のIPアドレス</IPAddress> <Port>対象のポート番号</Port> <Protocol>対象のプロトコル </Protocol> <ResourcePath>対象となるURLのパス部分</ResourcePath> <FullyQualifiedDomainName>HTTPヘッダのホスト情報</FullyQualifiedDomainName> </XniftyHealthCheckConfig>
注意:フェイルオーバーを使用するときは、レコードのTTLを60秒にすることを推奨します。 - フェイルオーバーの設定サンプル(ResourceRecordSet)
<ResourceRecordSet> <Name>server.example.com</Name> <Type>A</Type> <Failover>PRIMARY</Failover> <XniftyHealthCheckConfig> <IPAddress>222.158.xxx.yyy</IPAddress> <Port>80</Port> <Protocol>HTTP</Protocol> </XniftyHealthCheckConfig> <ResourceRecords> <ResourceRecord> <Value>222.158.xxx.yyy</Value> </ResourceRecord> </ResourceRecords> </ResourceRecordSet> <ResourceRecordSet> <Name>server.example.com</Name> <Type>A</Type> <Failover>SECONDARY</Failover> <XniftyHealthCheckConfig> <IPAddress>222.158.xxx.zzz</IPAddress> <Port>80</Port> <Protocol>HTTP</Protocol> </XniftyHealthCheckConfig> <ResourceRecords> <ResourceRecord> <Value>222.158.xxx.zzz</Value> </ResourceRecord> </ResourceRecords> </ResourceRecordSet>
LBRの設定
- レイテイシーベースルーティング(LBR)の設定
LBRの設定はTypeに"LBR"タイプを指定します。
Valueタグにはエリアとホストを半角空白で区切って指定します。
エリアには最寄りのエリアを指定します。<Value>エリア ホスト<Value>
- 10:
- 日本
- 20:
- アジア
- 30:
- 北米
ホストにはFQDNではなく、サブドメイン表記で記載してください。
(LBR設定サンプルには、www.example.comをデフォルトゾーン&日本で登録し、www2.example.comをアジアで登録する例を記載しています。)
XniftyDefaultHostタグに指定エリア以外のアクセスがあった場合に返す値を指定します。
- LBRの設定サンプル(ResourceRecordSet)
<Changes> <Change> <Action>CREATE</Action> <ResourceRecordSet> <Name>server.example.com</Name> <Type>LBR</Type> <XniftyDefaultHost>www</XniftyDefaultHost> <ResourceRecords> <ResourceRecord> <Value>10 www,20 www2</Value> </ResourceRecord> </ResourceRecords> </ResourceRecordSet> </Change> </Changes>
重みづけラウンドロビンの設定
- 重みづけラウンドロビンの設定
重みづけはWeightタグで重みづけ値を指定します。A、AAAAレコードのみ利用可能です。
指定された重みづけ値に応じて、レコードのヒット率が変動します。
- 注意事項
- 重みづけの設定値で、100となる重みづけのレコードが1つも無い場合は、対象レコードが名前解決時に返却されない場合があります。
- 重みづけの設定値を、0に設定すると、ヒット率0となるので値を返しません。
- 通常のレコード登録で、同ホスト/同レコードタイプを登録した場合は、重みづけ値が100として扱われます。
- 重みづけラウンドロビンの設定サンプル(ResourceRecordSet)
<ResourceRecordSet> <Name>server.example.com</Name> <Type>A</Type> <Weight>100</Weight> <TTL>60</TTL> <ResourceRecords> <ResourceRecord> <Value>222.158.xxx.yyy</Value> </ResourceRecord> </ResourceRecords> </ResourceRecordSet> <ResourceRecordSet> <Name>server.example.com</Name> <Type>A</Type> <Weight>100</Weight> <TTL>60</TTL> <ResourceRecords> <ResourceRecord> <Value>222.158.xxx.zzz</Value> </ResourceRecord> </ResourceRecords> </ResourceRecordSet>
MXレコードの設定
- MXレコードの設定
ResourceRecordのValueタグにはプライオリティとホストを半角空白区切りで指定します。
<Value>プライオリティ ホスト</Value>
- MXレコードの設定サンプル
- プライオリティ:
- 10
- ホスト:
- mail.example.com
<ResourceRecordSet> <Name>@</Name> <Type>MX</Type> <TTL>60</TTL> <ResourceRecords> <ResourceRecord> <Value>10 mail.example.com</Value> </ResourceRecord> </ResourceRecords> </ResourceRecordSet>
PTRレコードの設定
- PTRレコードの設定
現在PTRレコードは設定できません。
SRVレコードの設定
- SRVレコードの設定
レコード名(Nameタグの値)には”_<サービス名>._<プロトコル名>”の形式でサービス名とプロトコル名を指定します(例:_ftp._tcp)。
また、値(Valueタグの値)には、SRVレコードのプライオリティ、重みづけ、ポート番号、ターゲットをこの順番に半角スペース区切りで指定します。
<Value>プライオリティ 重みづけ ポート番号 ターゲット</Value>
- SRVレコードの設定サンプル
- プライオリティ:
- 1
- 重みづけ:
- 2
- ポート番号:
- 21
- ターゲット:
- ftp-server-01.example.com
<ResourceRecordSet> <Name>_ftp._tcp</Name> <Type>SRV</Type> <TTL>3600</TTL> <ResourceRecords> <ResourceRecord> <Value>1 2 21 ftp-server-01.example.com</Value> </ResourceRecord> </ResourceRecords> </ResourceRecordSet>
- SRVレコードのドメイン名について
- SRVレコードのドメイン名にはAPIリクエスト発行時にURLに指定したゾーンIDが登録されます(例:example.com)。
- 注意事項
- ターゲット値は、"<同一ゾーンに存在するAレコードのレコード名>.<ドメイン名>"の形式で指定してください。
例えば、Aレコードのレコード名が"ftp-server-01"、ドメイン名が"example.com"の場合
"ftp-server-01.example.com"と設定してください。
- ターゲット値はマルチバイトドメインで指定できます。
- SRVレコードの重みづけは、加重ラウンドロビン機能の重みづけとしては扱われません。
- ターゲット値は、"<同一ゾーンに存在するAレコードのレコード名>.<ドメイン名>"の形式で指定してください。
- 補足
- SRVレコード自体の仕様についてはRFC 2782を参照してください。