同一の VPC 内では、IP アドレスの代わりにプライベートドメイン名を使用して、ECS インスタンス上のサービスと通信したりアクセスしたりできます。この方法では、トラフィックをパブリックインターネットから分離できるため、セキュリティと分離性が向上します。ECS インスタンスのプライベートドメイン名機能では、インスタンスにプライベートドメイン名を割り当て、DNS レコードを自動的に管理します。これにより、手動での更新が不要になります。
ECS インスタンスのプライベートドメイン名
プライベートドメイン名とは、VPC 内での識別およびアクセスのために VPC 内の ECS インスタンスに割り当てられる内部ドメイン名です。DNS 名前解決サービスがこれらのドメイン名を生成し、IP アドレスに名前解決します。この機能は Private DNS に依存しており、システムによって割り当てられたサービスアドレス 100.100.2.136 および 100.100.2.138 を使用します。
ユースケース
-
ホスト名管理:IP アドレスまたはインスタンス ID に基づいてホスト名を構成し、VPC 内でホスト名を使用して ECS インスタンスにアクセスできます。これにより、日常的なホスト管理が簡素化されます。
-
クラウドサービスのインスタンス化:クラウドにデプロイされたサービスは、多くの場合、相互に通信する必要があります。プライベート DNS 名前解決を使用すると、各クラウドサービスに対して VPC 内に権威ドメイン名を生成できます。このドメイン名は特定の ECS インスタンスのプライベート IP アドレスに名前解決され、サービス間通信の安定したエンドポイントを提供します。
DNS フォワーディングや再帰など、より高度な DNS 構成が必要な場合は、Private DNS を使用できます。パブリック DNS 名前解決については、Alibaba Cloud は安全で高速かつ安定した権威 DNS サービスである Alibaba Cloud DNS を提供しています。
プライベートドメイン名の構造
ECS インスタンスのプライベートドメイン名は、ピリオド (.) で区切られた 4 つの階層で構成されます。例として、i-8ps2h6dsc74cuktb****.ap-southeast-3.ecs.internal や ip-172-16-0-89.ap-southeast-3.ecs.internal があります。各要素は次のとおりです。
-
トップレベルドメイン (
.internal):ECS プライベートネットワークの内部ドメインです。 -
セカンドレベルドメイン (
.ecs):ECS の製品識別子です。 -
サブドメイン (
.[regionID]):インスタンスが存在するリージョンの ID です。たとえば、マレーシア (クアラルンプール) リージョンを選択した場合、リージョン ID はap-southeast-3です。リージョン ID の詳細については、「リージョンとゾーン」をご参照ください。 -
ホスト識別子:特定の ECS インスタンスを指します。ECS は、IP アドレスベースのホスト名とインスタンス ID ベースのホスト名をサポートします:
-
IP アドレスベースのホスト名:インスタンスのプライマリプライベート IPv4 アドレスの形式のホスト名です。たとえば
ip-172-16-0-89(プライマリプライベート IPv4 アドレスが172.16.0.89のインスタンス) のようになります。 -
インスタンス ID ベースのホスト名:ECS インスタンスの ID をホスト名として使用します。たとえば
i-8ps2h6dsc74cuktb****のようになります。IPv6 通信には、インスタンス ID ベースのホスト名が必要です。
-
プライベート DNS レコードタイプ
DNS 名前解決サービスは、ドメイン名と IP アドレスの対応関係を保存します。ドメイン名にアクセスすると、DNS 名前解決サービスは対応する IP アドレスに名前解決します。ECS インスタンスのプライベート DNS 名前解決は、次の 4 つのレコードタイプをサポートします。
|
レコードタイプ |
説明 |
生成されるプライベートドメイン名 |
名前解決の例 |
ユースケース |
|
[IP アドレスベースのホスト名からプライマリプライベート IPv4 アドレスへの DNS 名前解決 (A レコード)] |
生成された IP アドレスベースのプライベートドメイン名を、インスタンスのプライマリプライベート IPv4 アドレスにマッピングします。 |
|
|
サービスアクセスのテスト:IP アドレスベースのホスト名を IPv4 アドレスにマッピングすると、ドメイン名に IP アドレスが表示されるため、テストに役立ちます。 |
|
[インスタンス ID ベースのホスト名からプライマリプライベート IPv4 アドレスへの DNS 名前解決 (A レコード)] |
生成されたインスタンス ID ベースのプライベートドメイン名を、インスタンスのプライマリプライベート IPv4 アドレスにマッピングします。 |
|
|
自動デプロイと管理:ECS インスタンスの IP アドレスは、頻繁な運用により変更される場合があります。インスタンス ID ベースのホスト名に基づく DNS 名前解決では、最新の IP アドレスがホスト名に自動的に関連付けられます。これにより、構成管理と運用が簡素化されます。 |
|
[インスタンス ID ベースのホスト名からプライマリプライベート IPv6 アドレスへの DNS 名前解決 (AAAA レコード)] 注:このオプションは、インスタンスに IPv6 アドレスが割り当てられている場合にのみ選択できます。 |
生成されたインスタンス ID ベースのプライベートドメイン名を、インスタンスの IPv6 アドレスにマッピングします。 |
|
|
IPv6 ネットワーク接続:ホストまたはサービスが IPv4 と IPv6 の両方をサポートしている場合、AAAA レコードにより、IPv6 対応クライアントは IPv6 アドレスを使用して接続できます。これにより、より広いアドレス空間と、IPv6 ネットワークの通信効率向上を活用できます。 |
|
[プライマリプライベート IPv4 アドレスから IP アドレスベースのホスト名への逆引き DNS 名前解決 (PTR レコード)] |
インスタンスのプライマリプライベート IPv4 アドレスを、生成された IP アドレスベースのプライベートドメイン名にマッピングします。 |
|
|
スパムフィルタリング:多くのメールサーバーは、送信元サーバーの正当性を確認するために逆引き DNS を使用します。逆引きで IP アドレスをドメイン名に名前解決できない場合、メールサーバーがメールをスパムとして判定したり、拒否したりすることがあります。 ログ分析と追跡:ネットワークセキュリティやシステム管理では、逆引きによって IP アドレスをより理解しやすいドメイン名に変換できます。これにより、ログファイルの分析や発信元の追跡が容易になります。 |
制限事項
-
ECS インスタンスのプライベートドメイン名はシステムによって生成されます。カスタムドメイン名はサポートされていません。
-
プライベートドメイン名は単一の VPC 内でのみ有効です。プライベートドメイン名を使用した VPC 間通信はサポートされていません。
-
プライベートドメイン名は、プライマリネットワークインターフェイスのプライマリプライベート IP アドレスにのみ名前解決され、セカンダリプライベート IP アドレスには名前解決されません。
-
VPC 内の各 ECS インスタンスには、DNS クエリのしきい値として 1 秒あたり 5,000 クエリ (QPS) が設定されています。インスタンスのピーク QPS がこの制限を超えると、スロットリングが発生する可能性があり、99.99% の可用性 SLA は保証されません。
プライベートドメイン名による通信
手順 1:DNS ホスト名機能の有効化
VPC の DNS ホスト名機能を有効にすると、ECS インスタンスのプライベート DNS 名前解決機能を制御できます。この機能を VPC で有効にすると、当該 VPC の ECS インスタンスのプライベートドメイン名が有効になります。次に、DNS 名前解決サービスは [regionID].ecs.internal 形式の組み込みの権威ゾーンを作成します。たとえば、マレーシア (クアラルンプール) リージョンで VPC を作成し DNS ホスト名機能を有効にすると、サービスによって ap-southeast-3.ecs.internal という名前の組み込みの権威ゾーンが作成されます。このドメイン名は、この VPC 内でのみ有効です。詳細については、「VPC のプライベートドメイン名」をご参照ください。
ECS インスタンスのプライベート DNS 名前解決設定は、VPC で DNS ホスト名機能を有効にした後にのみ有効になります。
- VPC コンソールにログインします。
-
上部メニューで、対象 VPC が存在するリージョンを選択します。
-
VPC ページで対象の VPC の ID をクリックし、[基本情報] セクションで DNS ホスト名を有効にします。

手順 2:プライベート DNS 名前解決の構成
各 ECS インスタンスに対して、プライベート DNS 名前解決レコード (プライベートドメイン名と IP アドレスのマッピング) を構成する必要があります。要件に応じて、インスタンスの作成時、または既存インスタンスの変更時にこれらのマッピングを構成できます。以降のセクションでは、手順例を示します。
新規インスタンスの場合
RunInstances API を呼び出して複数のインスタンスを一括で作成し、インスタンスのプライベート DNS 名前解決を構成する際に、PrivateDnsNameOptions に関連するパラメーターも指定できます。
操作手順
ECS インスタンス購入ページに移動します。
[カスタム購入] タブをクリックします。
課金方法や、リージョン、インスタンスタイプ、イメージなどを設定します。
詳細については、この文章の「 設定項目についての説明」 部分をご参照ください。
-
ページの下部で、[詳細オプション (オプション)] を展開し、プライベート DNS 名前解決 を設定します。
ビジネスシナリオに基づき、プライベートドメイン名と IP アドレス間の必要なマッピングのチェックボックスを選択します。複数選択できます。名前解決レコードの詳細については、「プライベート DNS レコードタイプ」をご参照ください。

既存インスタンスの場合
ModifyInstanceAttribute API を呼び出してインスタンス属性を変更し、PrivateDnsNameOptions に関連するパラメーターを指定することで、インスタンスのプライベート DNS 名前解決を構成できます。
操作手順
ECS コンソール - インスタンスに移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
-
目的の ECS インスタンスを見つけ、インスタンス ID をクリックしてインスタンス詳細ページに移動します。すべての操作 列で、> インスタンスのプロパティ > 情報の変更 を選択します。[インスタンスプロパティの変更] ダイアログボックスが表示されます。
-
ビジネスシナリオに基づき、プライベートドメイン名と IP アドレス間の必要なマッピングのチェックボックスを選択します。複数選択できます。名前解決レコードの詳細については、「プライベート DNS レコードタイプ」をご参照ください。

-
OK をクリックして、ECS インスタンスのプライベート DNS 名前解決の設定を完了します。
手順 3:構成の検証
構成済みの ECS インスタンス上、または同一 VPC 内の別のインスタンス上でコマンドを実行して、プライベート DNS 名前解決が機能していることを検証できます。コマンドは OS によって異なります。次の例をご参照ください。
Linux インスタンス
host コマンドは、ドメインネームシステム (DNS) 情報を照会する Linux ユーティリティです。このコマンドを使用すると、ドメイン名に対応する IP アドレスを確認でき、逆引きによって IP アドレスに対応するドメイン名も確認できます。
-
host コマンドのインストール:host コマンドは、Linux インスタンスにデフォルトでは含まれていません。インストールするには、
sudo yum install bind-utilsコマンドを実行する必要があります。 -
照会例:
説明次のインスタンス情報をこの例で使用します。IP アドレスとインスタンス ID は実際の値に置き換えてください。
インスタンス ID:i-8psi44j4o4yqoh2b****
リージョン ID:ap-southeast-3
IPv4 アドレス:172.16.0.89
IPv6 アドレス:240b:XXXX:41:b200:1ca9:f9bb:ae4:1ea0
-
Linux インスタンスに接続します。
詳細については、「Workbench を使用した Linux インスタンスへの接続」をご参照ください。
-
有効にしたプライベート DNS レコードタイプに基づき、対応する
hostコマンドを実行して DNS 情報を照会します。-
IP アドレスベースのドメイン名に対応する IP アドレスを検索します ([IP アドレスベースのホスト名からプライマリプライベート IPv4 アドレスへの DNS 名前解決 (A レコード)]):
host ip-172-16-0-89.ap-southeast-3.ecs.internal
-
インスタンス ID ベースのドメイン名に対応する IP アドレスを検索します ([インスタンス ID ベースのホスト名からプライマリプライベート IPv4 アドレスへの DNS 名前解決 (A レコード)]):
host i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal
-
ドメイン名に対応する IPv6 アドレスを検索します ([インスタンス ID ベースのホスト名からプライマリプライベート IPv6 アドレスへの DNS 名前解決 (AAAA レコード)]):
host -t AAAA i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal
-
逆引き DNS を実行して、IP アドレスに関連付けられている IP アドレスベースのホスト名から生成されたドメイン名を照会します ([プライマリプライベート IPv4 アドレスから IP アドレスベースのホスト名への逆引き DNS 名前解決 (PTR レコード)]):
host 172.16.0.89
-
-
Windows インスタンス
nslookup コマンドは、DNS レコードを照会するための Windows のプリインストールツールです。
-
照会例:
説明次のインスタンス情報をこの例で使用します。IP アドレスとインスタンス ID は実際の値に置き換えてください。
インスタンス ID:i-8ps2h6dsc74cfy02****
リージョン ID:ap-southeast-3
IPv4 アドレス:172.16.0.91
IPv6 アドレス:240b:XXXX:41:b200:1ca9:f9bb:ae4:1e9a
-
Windows インスタンスに接続します。
詳細については、「Workbench を使用した Windows インスタンスへの接続」をご参照ください。
-
有効化されたプライベート DNS 解決レコードに基づいて、対応する nslookup コマンドを実行して DNS 情報をクエリします。
-
IP アドレスベースのドメイン名に対応する IP アドレスを検索します ([IP アドレスベースのホスト名からプライマリプライベート IPv4 アドレスへの DNS 名前解決 (A レコード)]):
nslookup ip-172-16-0-91.ap-southeast-3.ecs.internal
-
インスタンス ID ベースのドメイン名に対応する IP アドレスを検索します ([インスタンス ID ベースのホスト名からプライマリプライベート IPv4 アドレスへの DNS 名前解決 (A レコード)]):
nslookup i-8ps2h6dsc74cfy02****.ap-southeast-3.ecs.internal
-
ドメイン名に対応する IPv6 アドレスを検索します ([インスタンス ID ベースのホスト名からプライマリプライベート IPv6 アドレスへの DNS 名前解決 (AAAA レコード)]):
nslookup -type=AAAA i-8ps2h6dsc74cfy02****.ap-southeast-3.ecs.internal
-
逆引き DNS を実行して、IP アドレスに関連付けられている IP アドレスベースのホスト名から生成されたドメイン名を照会します ([プライマリプライベート IPv4 アドレスから IP アドレスベースのホスト名への逆引き DNS 名前解決 (PTR レコード)]):
nslookup 172.16.0.91
-
-
検証に成功した場合、同一 VPC 内の他の ECS インスタンスが、プライベートドメイン名を使用して構成済みインスタンスにアクセスできます。たとえば、これらのインスタンス上で ping <private-domain-name> コマンドを実行して接続性をテストできます。例:ping ip-172-16-0-91.ap-southeast-3.ecs.internal。
IPv6 アクセスをテストするには、テストインスタンスと宛先インスタンスの両方に IPv6 アドレスを割り当てる必要があります。詳細については、「IPv6 通信」をご参照ください。
関連操作
操作が DNS 名前解決に与える影響
-
インスタンスの VPC の変更
プライベート DNS 名前解決が有効な ECS インスタンスを移動する場合、移動先 VPC でも DNS ホスト名機能が有効になっていることを確認する必要があります。詳細については、「ECS インスタンスの VPC の変更」をご参照ください。

-
インスタンスのプライマリプライベート IP アドレスの変更
自動再マッピング:インスタンスのプライマリプライベート IP アドレスが変更された場合 (たとえば、インスタンスのプライマリプライベート IPv4 アドレスの変更)、プライベート DNS 名前解決サービスは古い DNS レコードを自動的に削除し、IP アドレスベースのホスト名を新しいアドレスにマッピングする新しいレコードを作成します。
-
インスタンスのリリース
インスタンスをリリースすると、サービスは VPC の組み込みの権威ゾーンから当該インスタンスの DNS レコードをすべて削除します。以後、プライベートドメイン名を使用してインスタンスまたはそのサービスにアクセスできなくなります。
DNS 名前解決設定の表示
インスタンス詳細ページで、インスタンスのプライベート DNS 名前解決設定を表示できます。次のセクションでは、手順例を示します。
DescribeInstances API を呼び出して、インスタンスの詳細情報を照会することもできます。レスポンス内の PrivateDnsNameOptions パラメーターに、インスタンスのプライベート DNS 名前解決設定が含まれます。
ECS コンソール - インスタンスに移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
-
インスタンスリストで、ターゲット ECS インスタンスを見つけ、インスタンス ID をクリックしてインスタンス詳細ページに移動します。プライベート DNS 名前解決 フィールドには、現在設定されているプライベート DNS 解決レコードの数が表示されます。

-
**[Private DNS Records]** フィールドの数値にカーソルを合わせると、インスタンスに構成されているプライベートドメイン名のマッピングを表示できます。

プライベート DNS 名前解決の無効化
ECS インスタンスのプライベート DNS 名前解決を無効にするには、ECS コンソールで該当するチェックボックスをオフにします。詳細については、「手順 2:プライベート DNS 名前解決の構成」をご参照ください。

VPC 内のすべての ECS インスタンスのプライベート DNS 名前解決を無効にするには、その VPC の DNS ホスト名を無効にします。これにより、サービスは関連する権威ゾーンを削除し、VPC 内のすべてのプライベートドメイン名が無効になり、これらの名前を使用したリクエストは名前解決されなくなります。詳細については、「VPC のプライベートドメイン名」をご参照ください。
アプリケーションが、インスタンス IP アドレスの代わりにプライベートドメイン名を使用してリソースにアクセスしている場合、DNS ホスト名機能を無効にすると、アプリケーションがリソースにアクセスできなくなる可能性があります。
