レコードの作成/削除 (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:
    北米
    ホストには指定エリアからアクセスがあった場合に返す値を指定します。同じゾーン内で登録済のA/AAAAレコードが指定できます。

    ホストには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レコードの重みづけは、加重ラウンドロビン機能の重みづけとしては扱われません。
  • 補足
    • SRVレコード自体の仕様についてはRFC 2782を参照してください。