すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud DNS:API を使用した Cloud DNS インスタンスの購入、更新、アップグレード

最終更新日:Jul 08, 2025

このトピックでは、API を使用して、有料の Cloud DNS インスタンスを購入、更新、自動更新の有効化、およびアップグレードする方法について説明します。デモ内の一部の パラメーター値 は参照用です。実際に API を呼び出すときは、ドメイン や InstanceId などの実際のデータを提供する必要があります。

SDK

  • Maven 依存関係:

<dependencies>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-bssopenapi</artifactId>
        <version>1.6.6</version>
    </dependency>

    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>4.4.6</version>
    </dependency>
</dependencies>

他の言語については、「SDK リスト」をご参照ください。

重要

中国サイトの場合、RegionId は cn-hangzhou に固定されています。国際サイトの場合、RegionId は ap-southeast-1 に固定されています。

1. 有料の Cloud DNS インスタンスを作成する

説明: CreateInstance を使用して、有料の Cloud DNS インスタンスを作成します。

API 名: CreateInstance

API リファレンス: インスタンス作成サービス

API パラメーター

デモインスタンスパラメーター

パラメーター値の範囲

値の説明

Parameter.1.Code

parameters1.setCode

DNSSecurity

DNS セキュリティ。

Parameter.1.Value

parameters1.setValue

no; basic; advanced

不要。基本的な DNS 攻撃防御。完全な DNS 攻撃防御。

Parameter.2.Code

parameters2.setCode

DomainNumbers

ドメインの数。

Parameter.2.Value

parameters2.setValue

1-100

ドメイン数の値の範囲。

Parameter.3.Code

parameters3.setCode

Version

Cloud DNS バージョンの選択。

Parameter.3.Value

parameters3.setValue

version_personal;version_enterprise_advanced

パーソナル版。

エンタープライズ アルティメット版。

Parameter.4.Code

parameters4.setCode

Domain

バインドされたドメイン名。

Parameter.4.Value

parameters4.setValue

example.com

インスタンスにバインドする実際のドメイン名を入力します。複数のドメインの場合は、コンマで区切ります。

Parameter.5.Code

parameters5.setCode

InstanceType

インスタンスタイプ。

Parameter.5.Value

parameters5.setValue

HostedPublicZone;

CachedPublicZone

権威 DNS ホストドメイン。

権威 DNS プロキシドメイン。

よくある質問:

(1) ドメイン情報をバインドするパラメーター parameters4.setCode("Domain") については、最初の文字を大文字にする必要があります。そうでない場合、ドメインバインディングは失敗します

(2) バインドされたドメインは、インスタンスを購入するアカウントに存在する必要があります。Alibaba Cloud ドメインでない場合は、事前に Cloud DNS コンソールでドメインを追加するか、AddDomain API を呼び出して追加する必要があります。詳細については、「ドメイン名を追加する」をご参照ください。

デモリファレンス:

package alidnstest.domainmanager;

import com.alibaba.fastjson.JSON;
import com.aliyuncs.bssopenapi.model.v20171214.CreateInstanceRequest;
import com.aliyuncs.bssopenapi.model.v20171214.CreateInstanceResponse;
import com.aliyuncs.exceptions.ClientException;
import org.testng.annotations.Test;
import org.testng.collections.Lists;
import utils.AlidnsTestBase;

public class InstanceCreateRenewUpgrade extends AlidnsTestBase {

    @Test
    public void createInstanceTest() {
        CreateInstanceRequest request = new CreateInstanceRequest();
        request.setProductCode("dns");
        request.setProductType("dns_dns_public_intl");
        request.setSubscriptionType("Subscription");
        request.setPeriod(1);
        CreateInstanceRequest.Parameter parameters1 = new CreateInstanceRequest.Parameter();
        parameters1.setCode("DNSSecurity");
        parameters1.setValue("no");

        CreateInstanceRequest.Parameter parameters2 = new CreateInstanceRequest.Parameter();
        parameters2.setCode("DomainNumbers");
        parameters2.setValue("1");

        CreateInstanceRequest.Parameter parameters3 = new CreateInstanceRequest.Parameter();
        parameters3.setCode("Version");
        parameters3.setValue("version_personal");

        CreateInstanceRequest.Parameter parameters4 = new CreateInstanceRequest.Parameter();
        parameters4.setCode("Domain");
        parameters4.setValue("example.taobao");

        CreateInstanceRequest.Parameter parameters5 = new CreateInstanceRequest.Parameter();
        parameters5.setCode("InstanceType");
        parameters5.setValue("HostedPublicZone");  
      
        request.setParameters(Lists.newArrayList(parameters1,parameters2,parameters3,parameters4,parameters5));
        try {
            CreateInstanceResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}

2. 有料の Cloud DNS インスタンスを更新する

説明: RenewInstance を使用して、有料の Cloud DNS インスタンスを更新します。

API 名: RenewInstance

API リファレンス: インスタンス更新サービス

デモリファレンス:

package alidnstest.domainmanager;

import com.alibaba.fastjson.JSON;
import com.aliyuncs.bssopenapi.model.v20171214.CreateInstanceRequest;
import com.aliyuncs.bssopenapi.model.v20171214.CreateInstanceResponse;
import com.aliyuncs.bssopenapi.model.v20171214.RenewInstanceRequest;
import com.aliyuncs.bssopenapi.model.v20171214.RenewInstanceResponse;
import com.aliyuncs.exceptions.ClientException;
import org.testng.annotations.Test;
import org.testng.collections.Lists;
import utils.AlidnsTestBase;

public class OrderCreateRenewUpgrade extends AlidnsTestBase {

    /**
     * Cloud DNS インスタンスを更新する
     */ //日本語コメント
    @Test
    public void renewInstanceTest() {
        RenewInstanceRequest request = new RenewInstanceRequest();
        // 実際に作成されたインスタンス ID を入力します
        request.setInstanceId("dns-cn-oew21y7****"); 
        request.setProductCode("dns");
        request.setRenewPeriod(3);
        try {
            RenewInstanceResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}

3. Cloud DNS インスタンスの自動更新

説明: SetRenewal を使用して、有料の Cloud DNS インスタンスの更新方法 (手動更新、自動更新、または更新なし) を設定します。

API 名: SetRenewal

API リファレンス: インスタンスの自動更新サービスを設定する

自動更新サイクルパラメーターの説明:

API パラメーター

値の範囲

説明

RenewalPeriodUnit

値: M: 月。Y: 年。

自動更新サイクル単位。

RenewalPeriod

RenewalPeriodUnit が年の場合、値の範囲: 1、2、3。RenewalPeriodUnit が月の場合、値の範囲: 1、2、3、6。

自動更新期間。

よくある質問:

(1) ProductCode は必須パラメーターです。

(2) RenewalStatus = AutoRenewal の場合、RenewalPeriodUnit と RenewalPeriod が必須です。

デモリファレンス:

package alidnstest.domainmanager;

import com.alibaba.fastjson.JSON;
import com.aliyuncs.bssopenapi.model.v20171214.*;
import com.aliyuncs.exceptions.ClientException;
import org.testng.annotations.Test;
import org.testng.collections.Lists;
import utils.AlidnsTestBase;

public class OrderCreateRenewUpgrade extends AlidnsTestBase {

    /**
     * Cloud DNS インスタンスの自動更新
     */ //日本語コメント
    @Test
    public void setRenewalTest() {
        SetRenewalRequest request = new SetRenewalRequest();
        // 実際に作成されたインスタンス ID を入力します
        request.setInstanceIDs("dns-cn-oew21y7****"); 
        request.setRenewalStatus("AutoRenewal");
        request.setProductCode("dns");
        request.setRenewalPeriodUnit("M");
        request.setRenewalPeriod(1);
        try {
            SetRenewalResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ClientException e){
            e.printStackTrace();
        }
    }
}

4. Cloud DNS インスタンスをアップグレードする

説明: ModifyInstance を使用して、有料の Cloud DNS インスタンスをアップグレードします。現在、Cloud DNS は有料インスタンスのダウングレードをサポートしていません。

API 名: ModifyInstance

API リファレンス: インスタンス変更サービス

説明

Parameter.N.Code と Parameter.N.Value の説明:

Parameter.N.Code には、Version を入力します。

Parameter.N.Value (Cloud DNS 有料インスタンスバージョン) の値の範囲:

  • version_personal: パーソナル版。

  • version_enterprise_advanced: エンタープライズ アルティメット版。

よくある質問:

(1) Cloud DNS 有料インスタンスは現在、ダウングレードをサポートしていません。

(2) InstanceId と ProductType は必須パラメーターです。

デモリファレンス:

package alidnstest.domainmanager;

import com.alibaba.fastjson.JSON;
import com.aliyuncs.bssopenapi.model.v20171214.*;
import com.aliyuncs.exceptions.ClientException;
import org.testng.annotations.Test;
import org.testng.collections.Lists;
import utils.AlidnsTestBase;

public class OrderCreateRenewUpgrade extends AlidnsTestBase {

    /**
     * Cloud DNS インスタンスのアップグレード
     */ //日本語コメント
    @Test
    public void modifyInstanceTest() {
        ModifyInstanceRequest request = new ModifyInstanceRequest();
        request.setModifyType("Upgrade");
        ModifyInstanceRequest.Parameter parameters = new ModifyInstanceRequest.Parameter();
        parameters.setCode("Version");
        parameters.setValue("version_enterprise_advanced");
        request.setParameters(Lists.newArrayList(parameters));
        request.setProductCode("dns");
        request.setProductType("dns_dns_public_intl");
        request.setSubscriptionType("Subscription");
        // 実際に作成されたインスタンス ID を入力します
        request.setInstanceId("dns-cn-oew21y7****"); 
        try {
            ModifyInstanceResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}

5. 有料 DNS 製品インスタンスの詳細を取得する

有料 DNS 製品インスタンスの詳細を取得する を使用して、インスタンス ID によって上記で作成された有料 Cloud DNS 製品インスタンスの詳細情報を取得します。

デモリファレンス:

package alidnstest.domainmanager;

import com.alibaba.fastjson.JSON;
import com.aliyuncs.alidns.model.v20150109.DescribeDnsProductInstanceRequest;
import com.aliyuncs.alidns.model.v20150109.DescribeDnsProductInstanceResponse;
import com.aliyuncs.bssopenapi.model.v20171214.*;
import com.aliyuncs.exceptions.ClientException;
import org.testng.annotations.Test;
import org.testng.collections.Lists;
import utils.AlidnsTestBase;

public class OrderCreateRenewUpgrade extends AlidnsTestBase {

    /**
     * Cloud DNS 有料インスタンスの詳細を取得する
     */ //日本語コメント

    @Test
    public void describeDnsProductInstanceTest() {
        DescribeDnsProductInstanceRequest request = new DescribeDnsProductInstanceRequest();
        // 実際に作成されたインスタンス ID を入力します
        request.setInstanceId("dns-cn-oew21y7****"); 
        try {
            DescribeDnsProductInstanceResponse response = client.getAcsResponse(request);
            System.out.println(JSON.toJSON(response));
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}