

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# DNS ドメイン名の形式
<a name="DomainNameFormat"></a>

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

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

## ドメイン名登録用のドメイン名の形式
<a name="domain-name-format-registration"></a>

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

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

## ホストゾーンとレコード用のドメイン名の形式
<a name="domain-name-format-hosted-zones"></a>

ホストゾーンおよびレコードの場合、ドメイン名には、次の印刷可能な任意の ASCII 文字を使用することができます (スペースを除く)。
+ a～z
+ 0-9
+ - (ハイフン)
+ \$1 " \$1 \$1 % & ' ( ) \$1 \$1 , - / : ; < = > ? @ [ \$1 ] ^ \$1 ` \$1 \$1 \$1 \$1 . 

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

ドメイン名が以下の文字を含む場合は、エスケープコードを使って、\$1*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、ハイフン (-)、アンダースコア (\$1) 以外の文字が含まれている場合、Route 53 API アクションはその文字をエスケープコードとして返します。これは、エンティティの作成時に文字を文字として指定した場合も、エスケープコードとして指定した場合も同様です。Route 53 コンソールでは、文字はエスケープコードとしてでなく文字として表示されます。

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

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

## ホストゾーンおよびレコード名のアスタリスク (\$1) を使用する
<a name="domain-name-format-asterisk"></a>

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

**ホストゾーン**
+ 「\$1」をドメイン名の左端のラベルに含めることはできません。例えば、\$1.example.com はできません。
+ 「\$1」を他の位置に含める場合、DNS はこれをワイルドカードとしてではなく、アスタリスク文字 (ASCII 42) として扱います。

**レコード**

DNSは、名前の中の位置に応じて、「\$1」をワイルドカードまたはアスタリスク (ASCII 42) として処理します。「\$1」をレコードの名前でワイルドカードとして使用する際は、以下の制約にご注意ください。
+ 「\$1」はドメイン名の左側、\$1.example.com、または \$1.acme.example.com のように配置する必要があります。prod.\$1.example.com のように「\$1」を他のどのような位置に含めても、DNS はこれをワイルドカードとしてではなく、アスタリスク文字 (ASCII 42) として扱います。
+ \$1 は、ラベル全体を置き換える必要があります。例えば、\$1prod.example.com や prod\$1.example.com と指定することはできません。
+ 特定のドメイン名が優先されます。例えば、\$1.example.com と acme.example.com のレコードを作成すると、Route 53 は常に acme.example.com レコードの値で acme.example.com の DNS クエリに応答します。
+ 「\$1」は、アスタリスクが含まれたサブドメインレベル、およびそのサブドメインのすべてのサブドメインの DNS クエリに適用されます。例えば、\$1.example.com という名前のレコードを作成すると、Route 53 では (該当する名前を持つレコードがない場合には) そのレコードの値を使用して zenith.example.com、acme.zenith.example.com、および pinnacle.acme.zenith.example.com の DNS クエリに応答します。

  \$1.example.com という名前のレコードを作成し、example.com レコードがない場合、Route 53 は `NXDOMAIN` により(存在しないドメインとして) example.com の DNS クエリに応答します。
**注記**  
AWS Certificate Manager で Route 53 を使用している場合、ACM ワイルドカード証明書は 1 つのサブドメインレベルのみを保護することに注意してください。例えば、\$1.example.com の ACM 証明書は login.example.com と test.example.com を保護しますが、test.login.example.com は保護しません。詳細については、「[AWS Certificate Manager 証明書の特性と制限](https://docs.aws.amazon.com/acm/latest/userguide/acm-certificate-characteristics.html)」を参照してください。
+ 同じレベルのすべてのサブドメインとドメイン名の両方の DNS クエリに対して、Route 53 が同じレスポンスを返すように設定できます。例えば、Route 53 が example.com レコードを使用して、acme.example.com や zenith.example.com などの DNS クエリに応答するように設定できます。以下のステップを実行します。

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

  1. サブドメインのエイリアスレコードを作成します (\$1.example.com など)。ステップ 1 で作成したレコードの名前を、エイリアスレコードのターゲットとして指定します。
+ NS タイプのあるレコードで「\$1」をワイルドカードとして使用することはできません。

## 国際化ドメイン名の形式
<a name="domain-name-format-idns"></a>

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

ドメイン名を登録する場合は、次の点に注意してください。
+ トップレベルドメイン (TLD) が IDN をサポートし、使用する言語をサポートしている場合にのみ、a～z、0～9、- (ハイフン) 以外の文字を使用できます。TLD がサポートしている言語を確認するには、「[Amazon Route 53 に登録できる最上位ドメイン](registrar-tld-list.md)」を参照してください。
+ 名前に 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 に登録できる最上位ドメイン](registrar-tld-list.md)」を参照してください。IDN をサポートしない TLD が注記されています。