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 クエリに応答するように設定できます。以下のステップを実行します。
ドメインのレコードを作成します (example.com など)。
サブドメインのエイリアスレコードを作成します (*.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 が注記されています。