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

Virtual Private Cloud:DHCP オプションセットと DNS ホスト名

最終更新日:Apr 01, 2026

動的ホスト構成プロトコル(DHCP)オプションセットを使用すると、関連付けられた仮想プライベートクラウド(VPC)内のすべての Elastic Compute Service(ECS)インスタンスに対して、Domain Name System(DNS)サーバーの IP アドレスおよび検索ドメインを設定できます。固定 IP アドレスに依存せず、インスタンスはホスト名または完全修飾ドメイン名(FQDN)で相互にアクセスできます。

仕組み

ECS インスタンスが起動すると、その VPC に関連付けられた DHCP オプションセットを使用してネットワーク構成(具体的には DNS サーバーの IP アドレスおよび検索ドメイン)を取得します。この構成は、インスタンスのシステムファイル(例:Linux の場合 /etc/resolv.conf)に書き込まれます。

image
手順説明
1ECS インスタンスは DHCP オプションセットを使用して、ドメイン名および DNS サーバーの IP アドレスを含むネットワーク構成を取得します。この構成は各 ECS インスタンスのシステム構成に埋め込まれます。
2ECS インスタンスが DNS サーバーにクエリを送信すると、DNS ホスト名に対応する IP アドレスが取得されます。
3インスタンスは、解決された IP アドレスを使用してターゲットに接続します。

検索ドメインとホスト名の名前解決

完全なプライベートドメイン名は、ホスト名とドメイン名で構成されます。たとえば、host01.host.prvz の場合、host01 がホスト名、host.prvz がドメイン名です。

DHCP オプションセットでドメイン名を設定すると、関連付けられた VPC 内のすべての ECS インスタンスが DHCP 経由でそのドメイン名を受信し、DNS 検索ドメインとして使用します(/etc/resolv.conf に書き込まれます)。この状態で ping host01 を実行すると、host01.host.prvz に自動的に解決されます。完全なドメイン名を入力したり、各インスタンスを手動で構成したりする必要はありません。

DNS 方式の選択

設定を開始する前に、以下の表を参照して適切な方式を選択してください。

ディメンションDNS ホスト名(デフォルト)プライベートゾーンセルフマネージド DNS サーバー
DHCP オプションセットの種類デフォルト DHCP オプションセットカスタム DHCP オプションセットカスタム DHCP オプションセット
ドメイン名ECS 組み込みの権限のあるドメイン:[regionID].ecs.internal、デフォルト DNS サーバーカスタムドメイン名、デフォルト DNS サーバーカスタムドメイン名、セルフマネージド DNS サーバー
課金無料ドメイン名数および DNS クエリ数に応じて課金(料金が発生無料
クロス VPC およびハイブリッドクラウド間通信非対応対応対応
DNS クエリのパフォーマンスは、使用する DNS サーバーに依存します。プライベートゾーンのクエリパフォーマンス制限については、「プライベートゾーンの使用制限」をご参照ください。

DHCP オプションセットの管理

DHCP オプションセットには、2 つの設定可能なパラメーターが格納されます:ドメイン名(DNS 検索ドメイン)および DNS サーバーの IP アドレス(インスタンスがクエリを行う DNS サーバー)です。

DHCP オプションセットは、同一リージョン内の複数の VPC に関連付けることができます。一方、1 つの VPC には同時に 1 つの DHCP オプションセットのみを関連付けることができます。

DHCP オプションセットの作成

コンソール

VPC コンソール - DHCP オプションセット ページに移動し、[DHCP オプションセットの作成] をクリックします。[ドメイン名] および [DNS サーバーの IP アドレス] のパラメーターを設定します。

リージョン内の VPC で初めて DNS ホスト名を有効化すると、デフォルト DHCP オプションセットが自動的に作成され、その VPC に関連付けられます。デフォルト DHCP オプションセットは変更できません。

API

CreateDhcpOptionsSet を呼び出して DHCP オプションセットを作成します。

Terraform

# VPC のリージョンを指定します。
provider "alicloud" {
  region = "cn-hangzhou"
}

# DHCP オプションセットを作成します。
resource "alicloud_vpc_dhcp_options_set" "test_dhcp_options_set" {
  dhcp_options_set_name = "test_dhcp_options_set_name"
  domain_name           = "example.com"                 # ドメイン名を指定します。
  domain_name_servers   = "100.100.2.136,100.100.2.138" # DNS サーバーの IP アドレスを指定します。
}

リソース: alicloud_vpc_dhcp_options_set

VPC の関連付け

コンソール

VPC と DHCP オプションセットの関連付けは、以下の 2 か所から管理できます:

  • VPC の詳細ページの [DHCP オプションセット] セクションで、関連付けの作成、変更、または削除を行います。

  • DHCP オプションセットの詳細ページ、または [操作] 列で、[VPC の関連付け] を選択します。

関連付けが変更されると、新しい ECS インスタンスは自動的に更新された構成を使用します。既存の ECS インスタンスについては、DHCP プロセスを再起動して変更を適用します:

sudo dhclient -r eth0 && sudo dhclient eth0

ネットワークサービスの再起動コマンド

あるいは、インスタンスまたはそのネットワークサービスを再起動することもできます。OS ごとのネットワークサービス再起動コマンドは以下のとおりです:

オペレーティングシステムバージョンコマンド
CentOS6service network restart
CentOS7systemctl restart network
CentOS8systemctl restart NetworkManager
Debian8systemctl restart networking
Debian9systemctl restart networking
Debian10systemctl restart networking
Ubuntu14service networking restart
Ubuntu16systemctl restart networking
Ubuntu18systemctl restart systemd-networkd
Ubuntu20systemctl restart systemd-networkd
Alibaba Cloud Linux 22systemctl restart network
Alibaba Cloud Linux 33systemctl restart NetworkManager

関連付けが解除された場合、Alibaba Cloud は DHCP 経由で ECS インスタンスにデフォルト DNS サーバーを構成します。既存のインスタンスで新しい構成を確実に適用し、サービスへの影響を最小限に抑えるためには、インスタンスまたはそのネットワークサービスを再起動します。

VPC で 共有 VPC 機能が有効になっている場合、DHCP オプションセットは共有 VPC 内の ECS インスタンスにも適用されます。

API

Terraform

# DHCP オプションセットを VPC に関連付けます。
resource "alicloud_vpc_dhcp_options_set_attachment" "test_attachment_vpc" {
  vpc_id              = "vpc-8vbg******"                                       # 関連付ける VPC の ID を指定します。
  dhcp_options_set_id = alicloud_vpc_dhcp_options_set.test_dhcp_options_set.id # 関連付ける DHCP オプションセットの ID を指定します。
}

リソース:alicloud_vpc_dhcp_options_set_attachment

DHCP オプションセットの変更

変更可能なのはカスタム DHCP オプションセットのみです。ドメイン名および DNS サーバーの IP アドレスを更新できます。

変更後、関連付けられた VPC 内の新しい ECS インスタンスは自動的に新しい構成を使用します。既存のインスタンスについては、DHCP プロセスまたはネットワークサービスを再起動して変更を適用します。

コンソール

DHCP オプションセットの詳細ページ、または [操作] 列で、[編集] をクリックします。

API

UpdateDhcpOptionsSetAttribute を呼び出して構成を変更します。

DHCP オプションセットの削除

まず、DHCP オプションセットをすべての VPC から関連付けを解除します。その後、[操作] 列または詳細ページで、[削除] をクリックします。

API

DeleteDhcpOptionsSet を呼び出してセットを削除します。

DNS ホスト名の有効化

DNS ホスト名を有効化すると、VPC 内の ECS インスタンスは Alibaba Cloud が自動管理するプライベートドメイン名を使用して相互にアクセスできます。この VPC には、各インスタンスに ECS 組み込みの権限のあるドメイン名(形式:[regionID].ecs.internal)を割り当てるデフォルト DHCP オプションセットが関連付けられます。

リージョン内の VPC で初めて DNS ホスト名を有効化すると、デフォルト DHCP オプションセットが自動的に作成され、その VPC に関連付けられます。同一リージョン内の追加の VPC については、システムが同じデフォルト DHCP オプションセットを再利用します。
VPC がすでにカスタム DHCP オプションセットと関連付けられている場合、DNS ホスト名の有効化はその関連付けを置き換えません。必要に応じて、関連付けを手動で更新してください。
デフォルト DHCP オプションセットでは、プライベートドメイン名を使用したクロス VPC およびハイブリッドクラウド間通信はサポートされていません。

コンソール

DNS ホスト名の有効化

  1. VPC コンソール に移動します。対象 VPC の [基本情報] ページで、[DNS ホスト名] の横にある [有効化] をクリックします。

  2. ECS コンソール に移動し、各 ECS インスタンスについてプライベートドメイン解決を構成します。

    • 新規インスタンス:インスタンス作成時に [高度な設定(任意)] を展開し、[プライベート DNS 解決] を設定します。IP 形式のホスト名またはインスタンス ID 形式のホスト名をプライベート IPv4 アドレスの主アドレスに解決するかどうかを選択します。 [注]:インスタンス ID は変更できません。インスタンスの IP アドレスが変更された場合、DNS レコードは自動的に更新され、新しい IP 形式のホスト名が新しいアドレスにマップされます。IPv6 アドレスが割り当てられた後は、インスタンス ID 形式のホスト名をプライベート IPv6 アドレスの主アドレスに解決することもできます。

    • 既存のインスタンス[操作] 列で icon > [インスタンスのプロパティ] > [インスタンスのプロパティの編集] を選択し、プライベートドメイン名と IP アドレスのマッピングを選択します。

DNS ホスト名の無効化

対象 VPC の [基本情報] ページで、[DNS ホスト名] の横にある [無効化] をクリックします。Alibaba Cloud が割り当てたドメイン名は無効化され、ECS インスタンスのプライベートドメイン名は解決できなくなります。

システムは自動的に VPC をデフォルト DHCP オプションセットから関連付けを解除しますが、そのセットは削除しません。セットを削除するには、まずすべての VPC から関連付けを解除してください。

API

  • 既存の VPC について DNS ホスト名を有効化または無効化するには、ModifyVpcAttributeEnableDnsHostname パラメーターを設定します。

  • CreateVpc を使用して VPC を作成する際に、EnableDnsHostname を設定することで、作成時から DNS ホスト名を有効化できます。

  • RunInstances を使用してインスタンスを作成する際に、PrivateDnsNameOptions を指定してプライベートドメイン解決を構成できます。

  • 既存のインスタンスについてプライベートドメイン解決を変更するには、ModifyInstanceAttributePrivateDnsNameOptions を更新します。

Terraform

Terraform では、ECS インスタンスのプライベートドメイン解決の構成はサポートされていません。この例では、VPC に対する DNS ホスト名の有効化のみを示します。
# VPC を作成するリージョンを指定します。
provider "alicloud" {
  region = "cn-hangzhou"
}

# DNS ホスト名を有効化した VPC を作成します。
resource "alicloud_vpc" "test_vpc" {
  vpc_name            = "test_vpc_name"
  cidr_block          = "10.0.0.0/16"
  dns_hostname_status = "ENABLED" # DNS ホスト名を有効化します。
}

リソース:alicloud_vpcalicloud_vswitch

データソース:alicloud_zones

カスタムドメイン名の使用

DNS ホスト名によって生成されるプライベートドメイン名([regionID].ecs.internal)は Alibaba Cloud が管理しており、カスタマイズできません。独自のドメイン名を使用するには、Alibaba Cloud Private DNS(プライベートゾーン)またはセルフマネージド DNS サーバーを使用します。

プライベートゾーンの使用

Alibaba Cloud Private DNS(プライベートゾーン)は、ECS インスタンスの DNS レコードを管理し、クロス VPC 通信をサポートします。これは有料サービスであり、ドメイン名数および DNS クエリ数に応じて課金されます。

コンソール

  1. プライベートゾーン に移動し、[ゾーンの追加] をクリックします。カスタムドメイン名を構成し、[有効範囲] を対象 VPC に設定します。ゾーンの詳細ページで、[ECS ホスト名] タブに移動し、[ECS ホスト名の追加] をクリックします。システムは、選択されたリージョン内の ECS インスタンスのホスト名および IP アドレスに対応する DNS レコードを自動的に追加します。

    ホスト名が変更された場合、DNS レコードは自動的に更新されません。[自動同期] を有効化すると、システムが毎分 DNS レコードを追加および同期します。カスタムドメインプレフィックスを追加するには、[DNS レコード] タブに移動し、[ホストレコード] を追加します。
  2. VPC コンソール - DHCP オプションセット ページに移動し、[DHCP オプションセットの作成] をクリックします。[ドメイン名] をプライベートゾーンのドメイン名に設定します。

  3. 新しい DHCP オプションセットの [操作] 列で、[VPC の関連付け] を選択します。DNS レコードが設定された ECS インスタンスは、関連付けられた VPC 内の他のインスタンスからホスト名またはホストレコードでアクセス可能になります。

API

  1. AddZone を呼び出してプライベートゾーンを追加します。

  2. DNS レコードの追加 API を呼び出すか、UpdateSyncEcsHostTask を呼び出してホスト名の同期を構成します。

  3. CreateDhcpOptionsSet を呼び出して DHCP オプションセットを作成します。

  4. AttachDhcpOptionsSetToVpc を呼び出して DHCP オプションセットを VPC に関連付けます。

Terraform

ECS ホスト名レコードの自動追加はサポートされていません。カスタム DNS レコードを 1 つずつ追加してください。
# 対象 VPC のリージョンを指定します。
provider "alicloud" {
  region = "cn-hangzhou"
}

# プライベートゾーンを構成します。
resource "alicloud_pvtz_zone" "test_pvtz_zone" {
  zone_name = "example.com"
}

# ドメイン名の有効範囲を設定します。
resource "alicloud_pvtz_zone_attachment" "test_pvtz_zone_attachment" {
  zone_id = alicloud_pvtz_zone.test_pvtz_zone.id
  vpc_ids = ["vpc-8vba******"] # ドメイン名が有効になる VPC の ID を指定します。
}

# DNS レコードを追加します。
resource "alicloud_pvtz_zone_record" "test_pvtz_zone_record" {
  zone_id = alicloud_pvtz_zone.test_pvtz_zone.id
  rr      = "abc"         # ホストレコードを指定します。
  type    = "A"           # DNS レコードのタイプを指定します。
  value   = "192.168.0.4" # DNS レコードの値を指定します。
}

# DHCP オプションセットを作成します。
resource "alicloud_vpc_dhcp_options_set" "test_dhcp_options_set" {
  dhcp_options_set_name = "test_dhcp_options_set_name"
  domain_name           = "example.com"                 # ドメイン名を指定します。
  domain_name_servers   = "100.100.2.136,100.100.2.138" # Alibaba Cloud のデフォルト DNS サーバーの IP アドレスを指定します。
}

# DHCP オプションセットを VPC に関連付けます。
resource "alicloud_vpc_dhcp_options_set_attachment" "test_attachment_vpc" {
  vpc_id              = "vpc-8vba******"                                       # 関連付ける VPC の ID を指定します。
  dhcp_options_set_id = alicloud_vpc_dhcp_options_set.test_dhcp_options_set.id # 関連付ける DHCP オプションセットの ID を指定します。
}

リソース:alicloud_pvtz_zonealicloud_pvtz_zone_attachmentalicloud_pvtz_zone_recordalicloud_vpc_dhcp_options_setalicloud_vpc_dhcp_options_set_attachment

セルフマネージド DNS サーバーの使用

セルフマネージド DNS サーバーを使用すると、DNS 名前解決のロジックを完全に制御できます。たとえば、地理的位置、ネットワーク品質、サーバー負荷に基づいて最適な IP アドレスを動的に返すことが可能です。DNS レコードの管理およびサービスの信頼性確保は、お客様の責任となります。

以下の例では、BIND を使用してセルフマネージド DNS サービスをデプロイし、DHCP オプションセットを構成してインスタンスをそのサーバーに向けます。

ルールと考慮事項

カスタム DHCP オプションセットで DNS サーバーの IP アドレスを指定する前に、以下の点に注意してください:

  • セルフマネージド DNS サーバーの IP アドレスを最初に指定します。 Alibaba Cloud のデフォルト DNS サーバーの IP アドレス(100.100.2.136 および 100.100.2.138)が先頭に配置されている場合、カスタムドメイン名に対して NXDOMAIN 応答が返され、システムはクエリを完了したものと見なし、以降のサーバーにはクエリを送信しません。その結果、カスタムドメイン名は解決されません。

  • Alibaba Cloud のデフォルト DNS サーバーの IP アドレスはリストに含めておきます。 コンソールではこれらの IP アドレスが事前に入力されています。削除すると、Alibaba Cloud の基本サービスへのアクセスが失われる可能性があります。API を使用する場合は、明示的に含める必要があります。

  • セルフマネージド DNS サーバーへのトラフィックを許可します。 セキュリティグループ および ネットワーク ACL(設定済みの場合)の関連付けられた VPC に、セルフマネージド DNS サーバーの IP アドレスへのトラフィックを許可するインバウンドルールを追加します。これらのルールがないと、DNS クエリは失敗します。

  • カスタム DNS サーバーの IP アドレスとして IPv6 アドレスはサポートされていません。

BIND を使用したセルフマネージド DNS サーバーのデプロイ

同一 VPC 内の ECS インスタンスに BIND をデプロイします:

  1. BIND をインストールします:

    yum install -y bind bind-utils
  2. メイン構成ファイルを編集します:

    vim /etc/named.conf

    以下のオプションを設定します:

    listen-on port 53 { any; };  # すべてのネットワークインターフェースのポート 53 で待機します。
    allow-query     { any; };    # 任意の IP アドレスからの DNS クエリを許可します。
  3. ゾーンファイルを構成します:

    vim /etc/named.rfc1912.zones
    // カスタムドメイン名
    zone "example.com" IN {
          type master;
          file "example.com.zone";
    };
    
    zone "0.168.192.in-addr.arpa" IN {
          type master;
          file "0.168.192.zone";
    };
  4. 正引き DNS ルックアップファイルを構成します:

    cp -p /var/named/named.localhost /var/named/example.com.zone
    vim /var/named/example.com.zone
    $TTL 1D
    @       IN      SOA     example.com.  admin.example.com. (
                                                               1       ; シリアル
                                                               1D      ; リフレッシュ
                                                               1H      ; リトライ
                                                               1W      ; 有効期限切れ
                                                               3H )    ; 最小値
    
                  NS      dns.example.com.
    Web01         A       192.168.0.2;
    Web02         A       192.168.0.3;
  5. 逆引き DNS ルックアップファイルを構成します:

    cp -p /var/named/named.empty /var/named/0.168.192.zone
    vim /var/named/0.168.192.zone
    $TTL 3H
    @       IN      SOA     0.168.192.in-addr.arpa. admin.zjq.com. (
                                                               1       ; シリアル
                                                               1D      ; リフレッシュ
                                                               1H      ; リトライ
                                                               1W      ; 有効期限切れ
                                                               3H )    ; 最小値
    
                  NS      dns.example.com.
    2            PTR     Web01.example.com.
    3            PTR     Web02.example.com.
  6. BIND サービスを再起動します:

    systemctl restart named

転送ルールの構成

セルフマネージド DNS サーバーと Alibaba Cloud DNS サービスの両方を使用するには、BIND サーバーで転送ルールを構成し、他のドメイン名のクエリを Alibaba Cloud のデフォルト DNS サーバーに転送します:

vim /etc/named.conf
// デフォルト転送:他の要求をデフォルト DNS サーバーに転送します。
options {
    forwarders { 100.100.2.136; 100.100.2.138; };  # Alibaba Cloud VPC のデフォルト DNS サーバー
    forward only;
};
// セルフマネージド DNS サーバーの権威 DNS 解決を構成します。「example.com」をカスタムドメイン名に置き換えます。
zone "example.com" {
    type master;
    file "example.com.zone";  # DNS レコード構成ファイル
};

コンソール

  1. VPC コンソール - DHCP オプションセット ページに移動し、[DHCP オプションセットの作成] をクリックします。[ドメイン名] をカスタムドメイン名に設定し、[カスタムサーバーの IP] をクリックして、セルフマネージド DNS サーバーの IP アドレスをリストの先頭に配置します。

  2. [操作] 列で、[VPC の関連付け] を選択します。DNS レコードが構成された ECS インスタンスは、関連付けられた VPC 内の他のインスタンスからホスト名でアクセス可能になります。

API

  1. CreateDhcpOptionsSet を呼び出して、ドメイン名およびセルフマネージド DNS サーバーの IP アドレスを含むカスタム DHCP オプションセットを作成します。

  2. AttachDhcpOptionsSetToVpc を呼び出して、DHCP オプションセットを VPC に関連付けます。

Terraform

# VPC のリージョンを指定します。
provider "alicloud" {
  region = "cn-hangzhou"
}

# セルフマネージド DNS サーバーを含む DHCP オプションセットを作成します。
resource "alicloud_vpc_dhcp_options_set" "test_dhcp_options_set" {
  dhcp_options_set_name = "test_dhcp_options_set_name"
  domain_name           = "example.com"                              # ドメイン名を指定します。
  domain_name_servers   = "192.168.0.10,100.100.2.136,100.100.2.138" # セルフマネージド DNS サーバーの IP を先頭に配置します。
}

# DHCP オプションセットを VPC に関連付けます。
resource "alicloud_vpc_dhcp_options_set_attachment" "test_attachment_vpc" {
  vpc_id              = "vpc-8vbg******"                                       # 関連付ける VPC の ID を指定します。
  dhcp_options_set_id = alicloud_vpc_dhcp_options_set.test_dhcp_options_set.id # 関連付ける DHCP オプションセットの ID を指定します。
}

リソース:alicloud_vpc_dhcp_options_setalicloud_vpc_dhcp_options_set_attachment

使用制限

制限詳細
アカウントあたりの DHCP オプションセット数10(デフォルト DHCP オプションセットはこの制限に含まれません。調整不可)
DHCP オプションセットあたりの VPC 数10
VPC あたりの DHCP オプションセット数1
DHCP オプションセットあたりのドメイン名数1
DHCP オプションセットあたりの DNS サーバーの IP アドレス数4
デフォルト DHCP オプションセット変更できません
IPv6 DNS サーバーの IP アドレスカスタム DHCP オプションセットではサポートされていません
クロス VPC およびハイブリッドクラウド間通信デフォルト DHCP オプションセットではサポートされていません。プライベートゾーンまたはセルフマネージド DNS サーバーを使用してください

関連情報

課金

DHCP オプションセット機能は無料です。

対応リージョン

エリアリージョン
アジアパシフィック - 中国中国 (杭州)、中国 (上海)、中国 (青島)、中国 (北京)、中国 (張家口)、中国 (フフホト)、中国 (ウランチャブ)、中国 (深セン)、中国 (広州)、中国 (成都)、中国 (香港)
アジアパシフィック - その他日本 (東京)、韓国 (ソウル)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、フィリピン (マニラ)、タイ (バンコク)
ヨーロッパおよびアメリカドイツ (フランクフルト)、イギリス (ロンドン)、米国 (シリコンバレー)、米国 (バージニア)、メキシコ
中東UAE (ドバイ)、サウジアラビア (リヤド - パートナー運営)
重要

SAU (リヤド - パートナーリージョン) リージョンは、パートナーによって運営されています。