Virtual Private Cloud (VPC) 内の Elastic Compute Service (ECS) インスタンスにプライベートドメイン名を割り当て、IP アドレスを使用せずにアクセスし、DNS レコードを自動で管理します。
ECS インスタンスのプライベートドメイン名
プライベートドメイン名とは、VPC 内の ECS インスタンスに割り当てられる、識別とアクセスのための内部ドメイン名です。DNS 名前解決サービスはこれらのドメイン名を生成し、IP アドレスに名前解決します。この機能は Private DNS に依存しており、システムによって割り当てられたサービスアドレス 100.100.2.136 と 100.100.2.138 を使用します。
ユースケース
ホスト名管理:IP アドレスベースまたはインスタンス ID ベースのホスト名を設定することで、VPC 内のインスタンスにホスト名でアクセスし、ホスト管理を簡素化します。
クラウドでのサービスインスタンス化:各クラウドサービスに対して VPC 内で権威ドメイン名を生成し、プライベート IP アドレスに名前解決することで、変化する IP アドレスの代わりに一貫したサービス参照を可能にします。
転送や再帰などのより高度な DNS 設定には、Private DNS を使用してください。パブリック DNS の名前解決には、Alibaba Cloud DNS を使用してください。
プライベートドメイン名の構造
プライベートドメイン名は、ピリオド (.) で区切られた 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です。詳細については、「リージョンとゾーン」をご参照ください。ホスト識別子:特定の ECS インスタンスを識別します。2 種類のホスト名タイプがサポートされています。
IP アドレスベースのホスト名:プライマリプライベート IPv4 アドレスに基づきます。例:
ip-172-16-0-89(プライマリプライベート IPv4 アドレス:172.16.0.89)。インスタンス ID ベースのホスト名:インスタンス ID に基づきます。例:
i-8ps2h6dsc74cuktb****(インスタンス ID:i-8ps2h6dsc74cuktb****)。IPv6 通信にはこのタイプを使用します。
プライベート DNS のレコードタイプ
ECS インスタンスのプライベートドメイン名は、4 種類の DNS レコードタイプをサポートしています。
タイプ | 説明 | 生成されるドメイン名 | 例 | ユースケース |
[IP アドレスベースのホスト名からプライマリプライベート IPv4 アドレスへの DNS 名前解決 (A レコード)] | IP アドレスベースのプライベートドメイン名をプライマリプライベート IPv4 アドレスにマッピングします。 |
|
| サービスアクセスのテスト:ドメイン名に IP アドレスが含まれるため、このタイプはテストシナリオに適しています。 |
[インスタンス ID ベースのホスト名からプライマリプライベート IPv4 アドレスへの DNS 名前解決 (A レコード)] | インスタンス ID ベースのプライベートドメイン名をプライマリプライベート IPv4 アドレスにマッピングします。 |
|
| 自動化されたデプロイと管理:操作中に IP アドレスが変更される可能性があります。インスタンス ID ベースのホスト名は、最新の IP アドレスを自動的にバインドするため、設定管理が簡素化されます。 |
[インスタンス ID ベースのホスト名からプライマリプライベート IPv6 アドレスへの DNS 名前解決 (AAAA レコード)] 注:インスタンスに IPv6 アドレスが割り当てられている場合にのみ利用可能です。 | インスタンス ID ベースのプライベートドメイン名を IPv6 アドレスにマッピングします。 |
|
| IPv6 ネットワーク接続:AAAA レコードにより、IPv6 対応クライアントは IPv6 アドレスを使用して接続でき、IPv6 のより大きなアドレス空間と向上した効率を活用できます。 |
[プライマリプライベート IPv4 アドレスから IP アドレスベースのホスト名への逆引き DNS 名前解決 (PTR レコード)] | プライマリプライベート IPv4 アドレスを IP アドレスベースのプライベートドメイン名にマッピングします。 |
|
| スパムフィルタリング:多くのメールサーバーは、送信者の正当性を検証するために逆引き DNS を使用します。有効な逆引きレコードがない場合、メールがスパムとしてフラグ付けされたり、拒否されたりする可能性があります。 ログ分析と追跡:逆引き DNS ルックアップは IP アドレスをドメイン名に変換し、ログファイル内のソース分析を簡素化します。 |
制限事項
プライベートドメイン名はシステムによって生成されます。カスタムドメイン名はサポートされていません。
プライベートドメイン名は単一の VPC 内でのみ機能します。VPC 間の名前解決はサポートされていません。
プライベートドメイン名は、プライマリネットワークインターフェースのプライマリプライベート IP アドレスにのみ名前解決されます。セカンダリプライベート IP アドレスはサポートされていません。
各 ECS インスタンスは、1 秒あたり最大 5,000 件の DNS クエリをサポートします。この制限を超えると、スロットリングがトリガーされる可能性があり、99.99% の可用性 SLA は保証されません。
プライベートドメイン名を使用した通信
ステップ1:DNS ホスト名機能の有効化
DNS ホスト名機能は、プライベート DNS 名前解決の主要な制御機能です。この機能を有効にすると、VPC 内に [regionID].ecs.internal (たとえば、マレーシア (クアラルンプール) リージョンの場合は ap-southeast-3.ecs.internal) というフォーマットの組み込み権威ゾーンが作成されます。このゾーンはその VPC 内でのみ有効です。詳細については、「VPCのプライベートドメイン名」をご参照ください。
プライベート DNS 名前解決の設定は、VPC の DNS ホスト名機能を有効にした後にのみ有効になります。
- VPC コンソールにログインします。
上部メニューで、対象の VPC があるリージョンを選択します。
[VPC] ページで、対象の VPC の ID をクリックします。[基本情報]セクションで、DNS ホスト名を有効にします。
ステップ2:プライベート DNS 名前解決の設定
インスタンスを作成するとき、または既存のインスタンスを変更するときに、プライベートドメイン名と IP アドレス間の DNS レコードマッピングを設定します。
インスタンス作成時
RunInstances API を呼び出す際に PrivateDnsNameOptions パラメーターを指定して、プライベート DNS 名前解決が設定されたインスタンスを作成することもできます。
操作手順
ECS インスタンス購入ページに移動します。
[カスタム購入] タブをクリックします。
課金方法や、リージョン、インスタンスタイプ、イメージなどを設定します。
詳細については、この文章の「 設定項目についての説明」 部分をご参照ください。
ページの下部にある [詳細設定 (オプション)] を展開し、[プライベート DNS 名前解決] を設定します。
希望するドメインと IP のマッピングを選択します。複数のオプションを選択できます。詳細については、「プライベート DNS のレコードタイプ」をご参照ください。
プライベート DNS 名前解決設定は、インスタンスが属する VPC で DNS ホスト名が有効になっている場合にのみ有効になります。[VPC の管理] をクリックして設定します。利用可能な名前解決レコード:
IP フォーマットのホスト名からプライマリプライベート IPv4 への DNS 名前解決 (A レコード) を有効にする
インスタンス ID フォーマットのホスト名からプライマリプライベート IPv4 への DNS 名前解決 (A レコード) を有効にする
インスタンス ID フォーマットのホスト名からプライマリプライベート IPv6 への DNS 名前解決 (AAAA レコード) を有効にする
プライマリプライベート IPv4 から IP フォーマットのホスト名への逆引き DNS 名前解決 (PTR レコード) を有効にする
インスタンス変更時
ModifyInstanceAttribute API を呼び出す際に PrivateDnsNameOptions パラメーターを指定することもできます。
操作手順
ECS コンソール - インスタンスに移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
目的の ECS インスタンスを見つけ、その ID をクリックします。すべての操作 列で、[...] インスタンスのプロパティ > 情報の変更 を選択します。
希望するドメインと IP のマッピングを選択します。複数のオプションを選択できます。詳細については、「プライベート DNS のレコードタイプ」をご参照ください。
利用可能なマッピング関係は次のとおりです。
IP フォーマットのホスト名からプライマリプライベート IPv4 への DNS 名前解決 (A レコード) を有効にする、例:
ip-172-16-0-91.ap-southeast-3.ecs.internalは172.16.0.91に名前解決されますインスタンス ID フォーマットのホスト名からプライマリプライベート IPv4 への DNS 名前解決 (A レコード) を有効にする
インスタンス ID フォーマットのホスト名からプライマリプライベート IPv6 への DNS 名前解決 (AAAA レコード) を有効にする
プライマリプライベート IPv4 から IP フォーマットのホスト名への逆引き DNS 名前解決 (PTR レコード) を有効にする、例:
172.16.0.91はip-172-16-0-91.ap-southeast-3.ecs.internalに名前解決されます
OK をクリックします。
ステップ3:設定の確認
インスタンスまたは同じ VPC 内の別のインスタンスでコマンドを実行して、プライベート DNS 名前解決を確認します。コマンドはオペレーティングシステムによって異なります。
Linux インスタンス
host コマンドは、ドメインと IP のマッピングや逆引きルックアップなど、DNS 情報をクエリするための Linux ユーティリティです。
host コマンドのインストール:
sudo yum install bind-utilsパッケージが必要です。存在しない場合はインストールしてください。クエリ例:
説明IP アドレスとインスタンス ID を実際の値に置き換えてください。
インスタンス ID:
i-8psi44j4o4yqoh2b****リージョン ID:
ap-southeast-3IPv4 アドレス:
172.16.0.89IPv6 アドレス:
240b:XXXX:41:b200:1ca9:f9bb:ae4:1ea0Linux インスタンスに接続します。詳細については、「パスワードまたはキーを使用してLinuxインスタンスに接続する」をご参照ください。
hostコマンドを実行して、有効になっている DNS レコードをクエリします。IP アドレスベースのドメイン名の IP アドレスをルックアップします ([A レコード]):
host ip-172-16-0-89.ap-southeast-3.ecs.internal[root@i-xxx ~]# host ip-172-16-0-89.ap-southeast-3.ecs.internal ip-172-16-0-89.ap-southeast-3.ecs.internal has address 172.16.0.89インスタンス ID ベースのドメイン名の IP アドレスをルックアップします ([A レコード]):
host i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal[root@i-xxx ~]# host i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal has address 172.16.0.89ドメイン名の IPv6 アドレスをルックアップします ([AAAA レコード]):
host -t AAAA i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal[root@xxx ~]# host -t AAAA i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal has IPv6 address 240b:xxx:9bb:ae4:1ea0逆引き DNS ルックアップを実行します ([PTR レコード]):
host 172.16.0.89[root@i-xxx ~]# host 172.16.0.89 89.0.16.172.in-addr.arpa domain name pointer ip-172-16-0-89.ap-southeast-3.ecs.internal.
Windows インスタンス
nslookup は、DNS レコードをクエリするために Windows にプリインストールされているツールです。
クエリ例:
説明IP アドレスとインスタンス ID を実際の値に置き換えてください。
インスタンス ID:
i-8ps2h6dsc74cfy02****リージョン ID:
ap-southeast-3IPv4 アドレス:
172.16.0.91IPv6 アドレス:
240b:XXXX:41:b200:1ca9:f9bb:ae4:1e9aWindows インスタンスに接続します。詳細については、「パスワードまたはキーを使用してWindowsインスタンスに接続する」をご参照ください。
有効になっている DNS レコードタイプに基づいて、適切な
nslookupコマンドを実行します。IP アドレスベースのドメイン名の IP アドレスをルックアップします ([A レコード]):
nslookup ip-172-16-0-91.ap-southeast-3.ecs.internalC:\Users\Administrator>nslookup ip-172-16-0-91.ap-southeast-3.ecs.internal Server: UnKnown Address: 100.100.2.136 非権威応答: Name: ip-172-16-0-91.ap-southeast-3.ecs.internal Address: 172.16.0.91インスタンス ID ベースのドメイン名の IP アドレスをルックアップします ([A レコード]):
nslookup i-8ps2h6dsc74cfy02****.ap-southeast-3.ecs.internalC:\Users\Administrator>nslookup i-8ps2h6dsc74cfy02****.ap-southeast-3.ecs.internal Server: UnKnown Address: 100.100.2.136 非権威応答: Name: i-8ps2h6dsc74cfy02****.ap-southeast-3.ecs.internal Addresses: 240b:xxx:41:b200:1ca9:f9bb:ae4:1e9a 172.16.0.91ドメイン名の IPv6 アドレスをルックアップします ([AAAA レコード]):
nslookup -type=AAAA i-8ps2h6dsc74cfy02****.ap-southeast-3.ecs.internalC:\Users\Administrator>nslookup -type=AAAA i-8ps2h6dsc74cfy02****.ap-southeast-3.ecs.internal Server: UnKnown Address: 100.100.2.136 非権威応答: Name: i-8ps2h6dsc74cfy02****.ap-southeast-3.ecs.internal Address: 240b:xxx:a9:f9bb:ae4:1e9a逆引き DNS ルックアップを実行します ([PTR レコード]):
nslookup 172.16.0.91C:\Users\Administrator>nslookup 172.16.0.91 Server: UnKnown Address: 100.100.2.136 Name: ip-172-16-0-91.ap-southeast-3.ecs.internal Address: 172.16.0.91
確認後、設定されたインスタンスは同じ VPC 内の他のインスタンスからアクセスできます。ping <プライベートドメイン名> を実行して接続性をテストします。たとえば、ping ip-172-16-0-91.ap-southeast-3.ecs.internal を実行します。
IPv6 接続をテストするには、ソースと宛先の両方のインスタンスに IPv6 アドレスを割り当てる必要があります。詳細については、「IPv6通信」をご参照ください。
関連操作
操作の影響
インスタンスの VPC の変更
インスタンスのプライベート DNS 名前解決が有効になっている場合は、宛先 VPC の DNS ホスト名機能も有効になっていることを確認してください。詳細については、「ECSインスタンスのVPCを変更」をご参照ください。
インスタンスのプライマリプライベート IP アドレスの変更
自動再マッピング:プライマリプライベート IPv4 または IPv6 アドレスが変更されると (たとえば、プライマリプライベート IPv4 アドレスを変更する場合)、DNS サービスは古いレコードを自動的に削除し、更新されたアドレスにマッピングする新しいレコードを作成します。
インスタンスのリリース
インスタンスがリリースされると、VPC の組み込み権威ゾーンにある関連するすべての DNS レコードが削除されます。インスタンスにはプライベートドメイン名でアクセスできなくなります。
プライベート DNS 設定の表示
コンソールで ECS インスタンスのプライベート DNS 名前解決設定を表示します。
DescribeInstances API を呼び出すこともできます。レスポンスの PrivateDnsNameOptions パラメーターにプライベート DNS 設定が含まれています。
ECS コンソール - インスタンスに移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
対象の ECS インスタンスを見つけ、その ID をクリックします。[プライベート DNS 名前解決]フィールドに、設定されているレコードの数が表示されます。
数字にカーソルを合わせると、ドメインと IP のマッピングが表示されます。
プライベートドメイン名のフォーマットには、プライマリプライベート IPv4 アドレスにのみ対応する
ip-{IP address}.{region}.ecs.internalと、プライマリプライベート IPv4 アドレス (A レコード) および IPv6 アドレス (AAAA レコード) の両方に対応する{instance ID}.{region}.ecs.internalがあります。
プライベート DNS 名前解決の無効化
特定のインスタンスのプライベート DNS 名前解決を無効にするには、ECS コンソールで設定済みのオプションの選択を解除します。詳細については、「ステップ2:プライベート DNS 名前解決の設定」をご参照ください。
[プライベート DNS 名前解決] 設定ページで、次のオプションの選択を解除します:
IP フォーマットのホスト名からプライマリプライベート IPv4 への DNS 名前解決 (A レコード) を有効にする、例:
ip-172-16-0-91.ap-southeast-3.ecs.internalは172.16.0.91に名前解決されますインスタンス ID フォーマットのホスト名からプライマリプライベート IPv4 への DNS 名前解決 (A レコード) を有効にする
インスタンス ID フォーマットのホスト名からプライマリプライベート IPv6 への DNS 名前解決 (AAAA レコード) を有効にする
プライマリプライベート IPv4 から IP フォーマットのホスト名への逆引き DNS 名前解決 (PTR レコード) を有効にする、例:
172.16.0.91はip-172-16-0-91.ap-southeast-3.ecs.internalに名前解決されます
VPC 内のすべてのインスタンスに対してプライベート DNS 名前解決を無効にするには、DNS ホスト名機能を無効にします。これにより、組み込みの権威ゾーンが削除され、VPC 内のすべてのプライベートドメイン名が無効になります。詳細については、「VPCのプライベートドメイン名」をご参照ください。
アプリケーションが IP アドレスの代わりにプライベートドメイン名を使用している場合、DNS ホスト名機能を無効にするとアクセスエラーが発生する可能性があります。