DNS ドメイン名の形式 - Amazon Route 53

DNS ドメイン名の形式

ドメイン名 (ドメイン、ホストゾーン、レコードの名前を含みます) は、ドットで区切られた一連のラベルから構成されます。各ラベルは、63 バイトまでの長さにすることができます。ドメイン名の全体の長さは、ドットを含めて 255 バイト以内にする必要があります。Amazon Route 53 では、有効なドメイン名がすべてサポートされています。

命名要件は、ドメイン名を登録するのか、それとも、ホストゾーンまたはレコードの名前を指定するのかによって異なります。該当するトピックを参照してください。

ドメイン名登録用のドメイン名の形式

ドメイン名登録の場合、ドメイン名に使用できる文字は、a~z、0~9、– (ハイフン) のみです。ラベルの先頭または末尾にハイフンを指定することはできません。

国際化ドメイン名 (IDN) の登録方法については、「国際化ドメイン名の形式」を参照してください。

ホストゾーンとレコード用のドメイン名の形式

ホストゾーンおよびレコードの場合、ドメイン名には、次の印刷可能な任意の ASCII 文字を使用することができます (スペースを除く)。

  • a~z

  • 0-9

  • - (ハイフン)

  • ! " # $ % & ' ( ) * + , - / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ .

大文字または小文字を指定するか、あるいはエスケープコードで対応する文字を指定するかどうかに関係なく、Amazon Route 53 は英字を小文字 (a~z) として格納します。

ドメイン名が以下の文字を含む場合は、エスケープコードを使って、\3 桁の 8 進コードという形式で文字を指定する必要があります。

  • 8 進数で文字 000~040 (10 進数で 0~32、16 進数で 0x20~0x00)

  • 8 進数で文字 177~377 (10 進数で 127~255、16 進数で 0xFF~0x7F)

  • . (ピリオド)。8 進数では文字 056 になります (10 進数で 46、16 進数で 0x2E)。ピリオドを区切り記号ではなく、ドメイン名の文字として使用する場合です。. をラベルの間の区切り記号として使用する場合は、エスケープコードを使用する必要はありません。

ドメイン名に、a~z、0~9、ハイフン (-)、アンダースコア (_) 以外の文字が含まれている場合、Route 53 API アクションはその文字をエスケープコードとして返します。これは、エンティティの作成時に文字を文字として指定した場合も、エスケープコードとして指定した場合も同様です。Route 53 コンソールでは、文字はエスケープコードとしてでなく文字として表示されます。

ASCII 文字および対応する 8 進コードのリストについては、インターネットで「ascii テーブル」を検索してください。

国際化ドメイン名 (IDN) を指定するには、名前を Punycode に変換します。詳細については、「国際化ドメイン名の形式」を参照してください。

ホストゾーンおよびレコード名のアスタリスク (*) を使用する

「*」を名前に含むホストゾーンおよびレコードを作成できます。

ホストゾーン

  • 「*」をドメイン名の左端のラベルに含めることはできません。例えば、*.example.com はできません。

  • 「*」を他の位置に含める場合、DNS はこれをワイルドカードとしてではなく、アスタリスク文字 (ASCII 42) として扱います。

レコード

DNSは、名前の中の位置に応じて、「*」をワイルドカードまたはアスタリスク (ASCII 42) として処理します。「*」をレコードの名前でワイルドカードとして使用する際は、以下の制約にご注意ください。

  • 「*」はドメイン名の左側、*.example.com、または *.acme.example.com のように配置する必要があります。prod.*.example.com のように「*」を他のどのような位置に含めても、DNS はこれをワイルドカードとしてではなく、アスタリスク文字 (ASCII 42) として扱います。

  • * は、ラベル全体を置き換える必要があります。例えば、*prod.example.com や prod*.example.com と指定することはできません。

  • 特定のドメイン名が優先されます。例えば、*.example.com と acme.example.com のレコードを作成すると、Route 53 は常に acme.example.com レコードの値で acme.example.com の DNS クエリに応答します。

  • 「*」は、アスタリスクが含まれたサブドメインレベル、およびそのサブドメインのすべてのサブドメインの DNS クエリに適用されます。例えば、*.example.com という名前のレコードを作成すると、Route 53 では (該当する名前を持つレコードがない場合には)そのレコードの値を使用して zenith.example.com、acme.zenith.example.com、および pinnacle.acme.zenith.example.com の DNS クエリに応答します。

    *.example.com という名前のレコードを作成し、example.com レコードがない場合、Route 53 は NXDOMAIN により(存在しないドメインとして) example.com の DNS クエリに応答します。

  • 同じレベルのすべてのサブドメインとドメイン名の両方の DNS クエリに対して、Route 53 が同じレスポンスを返すように設定できます。例えば、Route 53 が example.com レコードを使用して、acme.example.com や zenith.example.com などの DNS クエリに応答するように設定できます。以下のステップを実行します。

    1. ドメインのレコードを作成します (example.com など)。

    2. サブドメインのエイリアスレコードを作成します (*.example.com など)。ステップ 1 で作成したレコードの名前を、エイリアスレコードのターゲットとして指定します。

  • NS タイプのあるレコードで「*」をワイルドカードとして使用することはできません。

国際化ドメイン名の形式

新しいドメイン名の登録時、あるいは、ホストゾーンとレコードの作成時には、a~z 以外の文字 (フランス語の ç など)、他のアルファベット文字 (キリル文字やアラビア文字など)、 および中国語、日本語、韓国語の文字を指定できます。Amazon Route 53 では、これらの国際化ドメイン名 (IDN) を、Unicode 文字を ASCII 文字列として表現する Punycode で格納します。

ドメイン名を登録する場合は、次の点に注意してください。

  • トップレベルドメイン (TLD) が IDN をサポートし、使用する言語をサポートしている場合にのみ、a~z、0~9、- (ハイフン) 以外の文字を使用できます。TLD がサポートしている言語を確認するには、「Amazon Route 53 に登録できる最上位ドメイン」を参照してください。

  • 名前に a~z の文字しか含まれていない場合は、サポートされていない言語で名前を指定できます。例えば、TLD がフランス語をサポートしていないのに、使用する名前に発音区別符号のない文字 a~z のみが含まれている場合でも、その名前を使用できます。この例では、「c」を含む名前を使用できます。「ç」を含む名前は使用できません。

  • TLD が IDN をサポートしていない場合や、ドメイン名に使用する言語をサポートしていない場合、Punycode に a~z、0~9、- のみが含まれていても、Punycode で名前を指定することはできません。

以下の例は、国際化ドメイン名「中国.asia」の Punycode 表現を示しています:

xn--fiqs8s.asia

現代的なブラウザのアドレスバーに IDN を入力すると、ブラウザはそれを Punycode に変換した後、DNS クエリを送信するか、HTTP リクエストを実行します。

IDN の入力方法は、作成対象 (ドメイン名、ホストゾーン、レコード) とその作成方法 (API、SDK、Route 53 コンソール) によって変わります。

  • Route 53 API またはいずれかの AWS SDK を使用する場合は、プログラム的に Unicode 値から Punycode への変換が可能です。例えば、Java を使用する場合は、java.net.IDN ライブラリの toASCII メソッドを使って Unicode 値を Punycode に変換できます。

  • Route 53 コンソールを使ってドメイン名を登録する場合は、(Unicode 文字も含めて) 名前を名前フィールドに貼り付けることができ、この値は保存される前にコンソールにより Punycode に変換されます。

  • Route 53 コンソールを使ってホストゾーンまたはレコードを作成する場合は、ドメイン名を Punycode に変換した上で、名前を該当する [Name (名前)] フィールドに入力する必要があります。オンラインコンバーターについては、インターネットで「punycode コンバーター」を検索してください。

ドメイン名を登録する場合は、すべての最上位ドメイン (TLD) で IDN がサポートされているわけではないことに注意してください。Route 53 でサポートされる TLD の一覧については、「Amazon Route 53 に登録できる最上位ドメイン」を参照してください。IDN をサポートしない TLD が注記されています。