ホスト名タイプ
AWS は、プライベートとパブリックの 2 種類のホスト名を提供します。次の表は、解決方法、設定方法、およびそれぞれのタイプを使用すべき状況など、プライベートホスト名とパブリックホスト名の主な違いを比較したものです。
| プライベートホスト名 | パブリックホスト名 |
---|---|---|
DNS 解決 | プライベートホスト名は、パブリックインターネットからアクセスできないプライベート FQDN を有効にします。プライベートホスト名では、VPC 内のプライベート IPv4 および IPv6 GUA アドレスに解決するリクエストのみが許可されます。 | パブリックホスト名は、パブリックインターネットからアクセスできるパブリック FQDN を有効にします。パブリックホスト名を設定すると、VPC 内のプライベート IPv4 と IPv6 GUA、およびインターネット上のパブリック IP (スプリットホライズン DNS) へのリクエストを解決できます。 |
設定 | プライベートホスト名はインスタンスレベルで設定されます。 | パブリックホスト名は、ネットワークインターフェイスレベルで設定されます。 |
どのようなときに使うか |
|
|
パブリックホスト名
パブリックホスト名を使用すると、インスタンスのパブリック IPv4 アドレスまたは IPv6 アドレスに解決されるホスト名を使用して EC2 インスタンスにアクセスでき、IPv6 への移行がスムーズになります。
パブリックホスト名を使用すると、以下のメリットがあります。
IPv4 と IPv6 の両方を介して EC2 インスタンスにアクセスでき、リソースへの接続方法の柔軟性が高まる。
自分の好きなタイミングで IPv4 環境から IPv6 環境に移行できる。たとえば、データベースの移行とアプリケーションの移行を切り離して処理することで、複雑さとリスクを軽減できます。
複数のホスト名オプション (IPv4 のみ、IPv6 のみ、デュアルスタック) を使用することで、自動で適切な IP アドレスに解決できる。
VPC 内からクエリを実行するとホスト名がプライベート IP アドレスに解決される、つまりスプリットホライズン DNS
によるセキュリティ向上のメリットもあります。
パブリックホスト名のタイプと、それぞれのタイプを使用すべき状況
パブリックホスト名を使用するには、既存のネットワークインターフェイスを変更する必要があります。このセクションでは、3 つのパブリックホスト名タイプのオプションと、それぞれのタイプを使用すべき状況について説明します。
デュアルスタック – IP ベース名
これは、IPv4 から IPv6 に移行する場合、あるいは移行を計画している場合に最適なオプションです。このオプションを使用すると、IPv4 と IPv6 の両方を介した接続が可能になり、どちらか一つのプロトコルのみを使用しているクライアントも柔軟に接続できます。このオプションの場合、クライアントは IPv6 への移行中も同じホスト名を維持できます。
VPC 内からのリクエストは、ネットワークインターフェイスのプライベート IPv4 アドレスと IPv6 グローバルユニキャストアドレス (GUA) の両方に解決されます。インターネットからのリクエストは、ネットワークインターフェイスのパブリック IPv4 と IPv6 GUA アドレスの両方に解決されます。
-
例
このオプションを選択すると、このネットワークインターフェイス用にデュアルスタック FQDN が生成されます。こちらが、生成される FQDN の例です。
f5lnz-0khrm-nt2u3-gyqqt-nbdl5-q3cdpO.ap-southeast-2.ip.aws
コードの説明は以下のとおりです。
f5lnz-0khrm-nt2u3-gyqqt-nbdl5-q3cdpO は、ネットワークインターフェイス上のプライマリパブリック IPv6 アドレス (f5lnz-0khrm-nt2u3-gyqt-nbdl5) の base36
表現と、ネットワークインターフェイス上のプライマリパブリック IPv4 アドレス (q3cdpO) の base36 表現を組み合わせたホスト名です。 f5lnz-0khrm-nt2u3-gyqqt-nbdl5 は、Amazon DNS リゾルバーによって IPv6 GUA アドレス FFFF:1407:4:f000:81d:2689:1066:4489 に解決されます。これは、ネットワークインターフェイスに割り当てられた最初の IPv6 GUA です。
q3cdpO は IPv4 アドレス 52.54.55.56 に解決されます。これは、プライマリネットワークインターフェイスにアタッチされたパブリック IPv4 アドレスです。
ap-southeast-2 は、ネットワークインターフェイスが存在するサブネットのリージョンです。
ip.aws は、AWS が提供するドメインです。
IPv6 – IP ベースの名前
これは、すでに IPv6 に移行していて、IPv6 経由の接続のみを必要とする場合に適しています。
VPC 内またはインターネットからのリクエストは、ネットワークインターフェイスの IPv6 GUA に解決されます。
-
例
このオプションを選択すると、このネットワークインターフェイス用に FQDN が生成されます。こちらが、生成される FQDN の例です。
f5lnz-0khrm-nt2u3-gyqqt-nbdl5.ap-southeast-2.ip.aws
コードの説明は以下のとおりです。
f5lnz-0khrm-nt2u3-gyqqt-nbdl5 は、ネットワークインターフェイス上のプライマリパブリック IPv6 アドレスの base36 表現であるホスト名です。
f5lnz-0khrm-nt2u3-gyqqt-nbdl5 は、Amazon DNS リゾルバーによって IPv6 GUA アドレス FFFF:1407:4:f000:81d:2689:1066:4489 に解決されます。これは、ネットワークインターフェイスに割り当てられた最初の IPv6 GUA です。
ap-southeast-2 は、ネットワークインターフェイスが存在するサブネットのリージョンです。
ip.aws は、AWS が提供するドメインです。
IPv4 – IP ベースの名前
これは、このネットワークインターフェイスを使用するインスタンスが IPv6 への移行中に IPv4 アクセスを維持する必要がある場合、またはインスタンスで実行されているアプリケーションまたはシステムが IPv4 のみをサポートしている場合に適しています。これは、IPv4 接続のみの維持を必要としており、ワークロードには IPv6 サポートが必要ない場合に最適なオプションです。例えば、IPv6 への移行に際して、一部のアプリケーションを IPv4 に残してその他のアプリケーションを IPv6 に移行させたい場合があります。
VPC 内からのリクエストは、ネットワークインターフェイスのプライベートプライマリ IPv4 アドレスに解決されます。インターネットからのリクエストは、ネットワークインターフェイスのパブリック IPv4 アドレスに解決されます。
-
例
このオプションを選択すると、このネットワークインターフェイスに IPv4 対応のパブリックホスト名が生成されます。こちらは、生成される DNS 名の例です。
ec2-52-54-55-66.ap-southeast-2.compute.amazonaws.com
コードの説明は以下のとおりです。
ec2-52-54-55-66 は、ネットワークインターフェイスのプライマリパブリック IPv4 アドレスの base36 表現であるホスト名です。
ec2-52-54-55-66 は IPv4 アドレス 52.54.55.56 に解決されます。これは、プライマリネットワークインターフェイスにアタッチされたパブリック IPv4 アドレスです。
ap-southeast-2 は、ネットワークインターフェイスが存在するサブネットのリージョンです。
ip.aws は、AWS が提供するドメインです。
重要
上記の例では、ホスト名の生成に IP アドレスが使用されていることがわかります。プライマリプライベート IPv4 アドレスまたはネットワークインターフェイスに割り当てられた最初の IPv6 GUA を変更すると、ホスト名のうち IP アドレスに反映される部分が変更され、以前に生成されたパブリックホスト名は無効になります。さらに、プライマリ IPv4 パブリックアドレスを変更すると、「Amazon EC2 ユーザーガイド」で説明しているインスタンスメタデータサービス (IMDS) のダウンストリーム更新が強制されるため、EC2 インスタンス IMDS メタデータは自動的に更新されます。
パブリックホスト名を表示する
ネットワークインターフェイスがある VPC に EnableDnsHostnames および EnableDnsSupport の両方が有効になっていない場合、ホスト名タイプは定義または生成されません。
パブリックホスト名タイプを変更する
パブリックホスト名タイプのオプションは、ネットワークインターフェイスに関連付けられた IP アドレスによって異なります。
ネットワークインターフェイスにパブリック IPv4 アドレスのみがある場合、ホスト名タイプは IPv4 – IP ベースの名前である必要があります。
ネットワークインターフェイスに IPv6 アドレスのみがある場合、ホスト名タイプは IPv6 – IP ベースの名前である必要があります。
ネットワークインターフェイスにパブリック IPv4 アドレスおよび IPv6 アドレスの両方がある場合、ホスト名タイプはデュアルスタック – IP ベースの名前である必要があります。
前提条件
ネットワークインターフェイスは、関連付けられたパブリック IPv4 アドレスまたは IPv6 アドレスが必要です。
ネットワークインターフェイスが存在する VPC には、EnableDnsHostnames および EnableDnsSupport が有効になっている必要があります。「Amazon VPC ユーザーガイド」の「VPC の DNS 属性の表示と更新」を参照してください。
プライベートホスト名
このセクションでは、VPC サブネットでインスタンスを起動する際に使用できる Amazon EC2 インスタンスのプライベートホスト名について説明します。
ネットワーク上の EC2 インスタンスはプライベートホスト名によって区別されます。例えば、ネットワーク上の一部またはすべてのインスタンスと通信するスクリプトを実行する場合、インスタンスのプライベートホスト名を使用できます。
プライベートホスト名タイプ
EC2 インスタンスが VPC で起動されるときのゲスト OS ホスト名には、次の 2 つのプライベートホスト名タイプがあります。
-
[IP name] (IP 名):従来の命名スキームでは、インスタンスの起動時に、インスタンスのプライベート IPv4 アドレスがインスタンスのホスト名に含まれます。IP 名は EC2 インスタンスの存続中に存在します。プライベート DNS ホスト名として使用すると、プライベート IPv4 アドレス (A レコード) のみが返されます。
-
[Resource name] (リソース名): インスタンスを起動すると、EC2 インスタンス ID がインスタンスのホスト名に含まれます。リソース名はEC2 インスタンスの存続中に存在します。プライベート DNS ホスト名として使用すると、プライベート IPv4 アドレス (A レコード) と IPv6 グローバルユニキャストアドレス (AAAA レコード) の両方を返すことができます。
EC2 インスタンスのゲスト OS ホスト名 のタイプはサブネット設定によって異なります。
-
インスタンスが IPv4 専用サブネットで起動された場合、IP 名またはリソース名を選択できます。
-
インスタンスがデュアルスタック (IPv4+IPv6) サブネットで起動されている場合、IP 名またはリソース名を選択できます。
-
インスタンスが IPv6 専用サブネットで起動された場合、リソース名が自動的に使用されます。
IP 名
[IP name] (IP 名) の [Hostname type] (ホスト名タイプ) を使用して EC2 インスタンスを起動すると、ゲスト OS ホスト名がプライベート IPv4 アドレスを使用するように設定されます。
-
us-east-1 でのインスタンスのフォーマット:
private-ipv4-address
.ec2.internal -
例:
ip-10-24-34-0
.ec2.internal -
その他の AWS リージョンのインスタンスのフォーマット:
private-ipv4-address.region
.compute.internal -
例:
ip-10-24-34-0.us-west-2
.compute.internal
リソース名
EC2 インスタンスを IPv6 専用サブネットで起動すると、[Resource name] (リソース名) の[Hostname type] (ホスト名タイプ) がデフォルトで選択されます。IPv4 専用またはデュアルスタック (IPv4+IPv6) サブネットでインスタンスを起動すると、[Resource name] (リソース名) は選択できるオプションです。インスタンスを起動してから、ホスト名設定を管理できます。詳細については、Amazon EC2 のリソースベースの命名オプションを変更するを参照してください。
[Resource name] (リソース名) の [Hostname type] (ホスト名タイプ) を使用して EC2 インスタンスを起動すると、ゲスト OS ホスト名が EC2 インスタンス ID を使用するように設定されます。
-
us-east-1 でのインスタンスのフォーマット:
ec2-instance-id
.ec2.internal -
例:
i-0123456789abcdef
.ec2.internal -
その他の AWS リージョンのインスタンスのフォーマット:
ec2-instance-id.region
.compute.internal -
例:
i-0123456789abcdef.us-west-2
.compute.internal
IP 名とリソース名の違い
IP 名とリソース名の両方の DNS クエリが共存して、下位互換性を確保し、ホスト名に対する IP ベースの命名 からリソースベースの命名に移行できます。IP 名に基づくプライベート DNS ホスト名の場合、インスタンスの DNS A レコードクエリに応答するかどうかを設定することはできません。DNS A レコードクエリは、ゲスト OS ホスト名の設定に関係なく、常に応答されます。対照的に、リソース名に基づくプライベート DNS ホスト名の場合、インスタンスの DNS A または DNS AAAA クエリに応答するかどうかを設定できます。インスタンスの起動時またはサブネットの変更時に、レスポンスの動作を設定します。詳細については、「Amazon EC2 のリソースベースの命名オプションを変更する」を参照してください。
リソース名と IP 名を検索する場所
Amazon EC2 コンソールでホスト名のタイプ、リソース名、および IP 名を確認できます。
EC2 インスタンスを作成する場合
EC2 インスタンスを作成する際、選択したサブネットのタイプに応じて、[Resource name] (リソース名) の [Hostname type] (ホスト名タイプ) が使用可能になるか、または選択されて変更できない場合があります。このセクションでは、ホスト名タイプのリソース名と IP 名が表示されるシナリオについて説明します。
シナリオ 1
ウィザード (コンソールのインスタンス起動ウィザードを使用して EC2 インスタンスを起動するを参照) で EC2 インスタンスを作成し、詳細を設定するときに IPv6 専用に設定したサブネットを選択します。
この場合、[Resource name] (リソース名) の [Hostname type] (ホスト名タイプ) は自動的に選択され、変更できません。[Enable IP name IPv4 (A record) DNS requests] (IP 名 IPv4 (A レコード) DNS リクエストを有効にする) の [DNS Hostname] (DNS ホスト名) オプションと [Enable resource-based IPv4 (A record) DNS requests] (リソースベースの IPv4 (A レコード) DNS リクエストを有効にする) は自動的に選択解除され、変更できません。[Enable resource-based IPv6 (AAAA record) DNS requests] (リソースベースの IPv6 (AAAA レコード) DNS リクエストを有効にする) がデフォルトで選択されていますが、変更可能です。選択した場合、リソース名への DNS リクエストはこの EC2 インスタンスの IPv6 アドレス (AAAA レコード) に解決されます。
シナリオ 2
ウィザード (コンソールのインスタンス起動ウィザードを使用して EC2 インスタンスを起動するを参照) で EC2 インスタンスを作成し、詳細を設定するときに、IPv4 CIDR ブロックまたは IPv4 と IPv6 の両方の CIDR ブロック (「デュアルスタック」) で構成されたサブネットを選択します。
この場合、[Enable IP name IPV4 (A record) DNS requests] (IP 名 IPV4 (A レコード) DNS リクエストを有効にする) は自動的に選択され、変更できません。つまり、IP 名へのリクエストは、この EC2 インスタンスの IPv4 アドレス (A レコード) に解決されます。
オプションはサブネットの設定にデフォルト設定されますが、サブネットの設定に応じてこのインスタンスのオプションを変更できます。
-
[Hostname type] (ホスト名タイプ): EC2 インスタンスのゲスト OS ホスト名をリソース名 をリソース名または IP 名にするかを決定します。デフォルト値は [IP name] (IP 名) です。
-
[Enable resource-based IPv4 (A record) DNS requests] (リソースベースの IPv4 (A レコード) DNS リクエストを有効にする): リソース名へのリクエストが、この EC2 インスタンスのプライベート IPv4 アドレス (A レコード) に解決されるかどうかを決定します。このオプションはデフォルトで選択されていません。
-
[Enable resource-based IPv6 (AAAA record) DNS requests] (リソースベースの IPv6 (AAAA レコード) DNS リクエストを有効にする): リソース名へのリクエストが、この EC2 インスタンスの IPv6 GUA アドレス (AAAA レコード) に解決するかどうかを決定します。このオプションはデフォルトで選択されていません。
既存の EC2 インスタンスの詳細を表示する場合
既存の EC2 インスタンスのホスト名の値は、EC2 インスタンスの [Details] (詳細) タブで確認できます。
-
[Hostname type] (ホスト名タイプ): IP 名またはリソース名形式のホスト名
-
[Private IP DNS name (IPv4 only) ] (プライベート IP DNS 名 (IPv4 専用) ): インスタンスのプライベート IPv4 アドレスに常に解決される IP 名
-
[Private resource DNS name] (プライベートリソース DNS 名): このインスタンス用に選択された DNS レコードに解決されるリソース名
-
[Answer private resource DNS name] (プライベートリソース DNS 名に応答する): リソース名は IPv4 (A)、IPv6 (AAAA)、または IPv4 と IPv6 (A と AAAA) の DNS レコードに解決されます。
さらに、SSH 経由で直接 EC2 インスタンスに接続して、hostname
コマンドを入力すると、ホスト名が IP 名またはリソース名形式で表示されます。
リソース名と IP 名の選択
EC2 インスタンス (コンソールのインスタンス起動ウィザードを使用して EC2 インスタンスを起動するを参照) を起動する際に [Resource name] (リソース名) の [Hostname type] (ホスト名) を選んだ場合、EC2 インスタンスはリソース名形式のホスト名を使用して起動します。このような場合、この EC2 インスタンスの DNS レコードはリソース名を指すこともあります。これにより、そのホスト名はインスタンスの IPv4 アドレス、IPv6 アドレス、または IPv4 アドレスと IPv6 アドレスの両方に解決されるように選択する柔軟さを実現します。今後 IPv6 を使用する予定がある場合、あるいは現在デュアルスタックのサブネットを使用している場合、[Resource name] (リソース名) の [Hostname type] (ホスト名タイプ) の使用により、DNS レコード自体に変更を加えることなく、インスタンスのホスト名の DNS 解決を変更できます。リソース名を使用すると、EC2 インスタンスで IPv4 および IPv6 DNS リゾリューションを追加して削除できます。
代わりに [IP name] (IP 名) の [Hostname type] (ホスト名タイプ) を選択し、DNS ホスト名として使用する場合、インスタンスの IPv4 アドレスにのみ解決されます。インスタンスに IPv4 アドレスと IPv6 アドレスの両方が関連付けられている場合でも、インスタンスの IPv6 アドレスには解決されません。
Amazon EC2 のリソースベースの命名オプションを変更する
サブネットのホスト名タイプと DNS ホスト名の設定を変更する (そのサブジェクトの後続のすべてのインスタンス起動に影響を与えます) か、EC2 インスタンスの起動後にそのインスタンスの設定を変更することができます。
リソースベースの命名オプション
-
[ホスト名のタイプ]: サブネットで起動される EC2 インスタンスのゲスト OS ホスト名のデフォルト設定を決定します。これは、リソース名または IP 名です。
-
[DNS ホスト名 IPv4 (A レコード) リクエストを有効にする]: リソース名への DNS リクエスト/クエリがこの EC2 インスタンスのプライベート IPv4 アドレス (A レコード) に解決されるかどうかを決定します。
-
[DNS ホスト名 IPv6 (AAAA レコード) リクエストを有効にする]: リソース名への DNS リクエスト/クエリがこの EC2 インスタンスの IPv6 アドレス (AAAA レコード) に解決されるかどうかを決定します。
サブネット
サブネット設定を変更しても、サブネットですでに起動されている EC2 インスタンスの設定は変更されません。
EC2インスタンス
考慮事項
-
ホスト名タイプを変更するには、まずインスタンスを停止する必要があります。他の 2 つのオプションを変更するためにインスタンスを停止する必要はありません。
-
instance store-backed インスタンスを停止することはできないため、インスタンスの起動時にのみホスト名タイプと DNS ホスト名のオプションを設定できます。インスタンスストアボリュームをルートボリュームとしてサポートするインスタンスタイプは、C1、C3、D2、I2、M1、M2、M3、R3、X1 のみです。