Amazon Route 53
開発者ガイド (API バージョン 2013-04-01)

加重エイリアスレコードの値

加重エイリアスレコードを作成するときは、以下の値を指定します。詳細については、「エイリアスレコードと非エイリアスレコードの選択」を参照してください。

名前

トラフィックをルーティングするドメインまたはサブドメインの名前を入力します。デフォルト値はホストゾーンの名前です。

注記

ホストゾーンと同じ名前のレコードを作成する場合は、[名前] フィールドに値 (@ 記号など) を入力しないでください。

加重レコードのグループで、すべてのレコードに同じ名前を入力します。

CNAME レコード

[タイプ] の値が [CNAME] であるレコードを作成する場合は、そのレコードの名前をホストゾーンの名前と同じものにできません。

CloudFront ディストリビューションと Amazon S3 バケットに対応するエイリアス

指定する値は、トラフィックをルーティングする AWS リソースによって一部異なります。

  • CloudFront ディストリビューション – ディストリビューションには、レコードの名前と一致する代替ドメイン名が含まれる必要があります。たとえば、レコード名が [acme.example.com] の場合、CloudFront ディストリビューションには代替ドメイン名の 1 つとして [acme.example.com] が含まれる必要があります。詳細については、Amazon CloudFront 開発者ガイド の「代替ドメイン名 (CNAMEs) を使用する」を参照してください。

  • Amazon S3 バケット – レコード名は、Amazon S3 バケット名と一致する必要があります。たとえば、バケット名が [acme.example.com] である場合、このレコード名も [acme.example.com] である必要があります。

    また、ウェブサイトホスティング用にバケットを設定する必要があります。詳細については、Amazon Simple Storage Service 開発者ガイド の「バケットをウェブサイトホスティング用に設定」を参照してください。

特殊文字

a~z、0~9、- (ハイフン) 以外の文字を指定する方法、および国際化されたドメイン名を指定する方法については、「DNS ドメイン名の形式」を参照してください。

ワイルドカード文字

名前にはアスタリスク (*) を使用できます。DNSは、名前の中の位置に応じて、「*」をワイルドカードまたはアスタリスク (ASCII 42) として処理します。詳細については、「ホストゾーンおよびレコード名のアスタリスク (*) を使用する」を参照してください。

タイプ

DNS レコードタイプ。詳細については、「サポートされる DNS レコードタイプ」を参照してください。

トラフィックをルーティングする AWS リソースに基づいて、適切な値を選択します。

API Gateway のカスタムリージョン API またはエッジ最適化 API

[A — IPv4 address] を選択します。

Amazon VPC インターフェイスエンドポイント

[A — IPv4 address] を選択します。

CloudFront ディストリビューション

[A — IPv4 address] を選択します。

ディストリビューションに対して IPv6 が有効になっている場合は、2 つのレコードを作成します。1 つは、[Type] の値として [A — IPv4 アドレス] を使います。もう 1 つは、値として [AAAA — IPv6 アドレス] を使います。

ローカル化されたサブドメインがある Elastic Beanstalk 環境

[A — IPv4 address] を選択します。

ELB ロードバランサー

[A — IPv4 address] または [AAAA — IPv6 address] を選択します。

Amazon S3 バケット

[A — IPv4 address] を選択します。

このホストゾーン内の別のレコード

エイリアスを作成するレコードのタイプを選択します。[NS] および [SOA] 以外のすべてのタイプがサポートされます。

注記

ホストゾーン (zone apex といいます) と同じ名前のエイリアスレコードを作成する場合、[タイプ] の値が [CNAME] のレコードにトラフィックをルーティングすることはできません。これは、トラフィックがルーティングされているレコードとエイリアスレコードのタイプが同じでなければならず、zone apex の CNAME レコードの作成はエイリアスレコードであってもサポートされていないためです。

加重レコードのグループ内のすべてのレコードに同じ値を選択します。

エイリアス

[Yes] を選択します。

エイリアス先

指定する値は、トラフィックをルーティングする AWS リソースによって異なります。

API Gateway のカスタムリージョン API とエッジ最適化 API

API Gateway のカスタムリージョン API とエッジ最適化 API で、次のいずれかを行います。

  • 同じアカウントを使用して、Route 53 ホストゾーンと API を作成した場合 – [エイリアスターゲット] を選択し、リストから API を選択します。API が多数ある場合は、API エンドポイントの最初の数文字を入力してリストをフィルタリングすることができます。

    注記

    このレコードの名前は、API のカスタムドメイン名 (例: api.example.com) と一致している必要があります。

  • 別のアカウントを使用して、Route 53 ホストゾーンと API を作成した場合 – API の API エンドポイント (例: api.example.com) を入力します。

    1 つの AWS アカウントを使用して現在のホストゾーンを作成し、別のアカウントを使用して API を作成した場合、その API は [API Gateway API] の [Alias Targets] リストに表示されません。

    1 つのアカウントを使用して現在のホストゾーンを作成し、1 つ以上の別のアカウントを使用してすべての API を作成した場合、[Alias Targets] リストの [API Gateway API] に [ターゲットがありません] が表示されます。

CloudFront ディストリビューション

CloudFront ディストリビューションの場合は、次のいずれかの操作を実行します。

  • Route 53 ホストゾーンと CloudFront ディストリビューションを作成する際に同じアカウントを使用している場合 – [Alias Target] を選択し、リストからディストリビューションを選択します。ディストリビューションが多数ある場合は、ディストリビューションのドメイン名の最初の数文字を入力することでリストをフィルタ処理できます。

    ディストリビューションがリストに表示されていない場合は、次の点を確認してください。

    • このレコードの名前は、ディストリビューションの代替ドメイン名に一致する必要があります。

    • ディストリビューションに代替ドメイン名を追加した直後であれば、変更がすべての CloudFront エッジロケーションに伝達されるまでに 15 分程度かかる場合があります。変更が伝達されるまで、Route 53 は新しい代替ドメイン名を認識できません。

  • Route 53 ホストゾーンとディストリビューションを作成する際に異なるアカウントを使用している場合 – ディストリビューションの CloudFront ドメイン名を入力します (たとえば、d111111abcdef8.cloudfront.net)。

    1 つの AWS アカウントを使用して現在のホストゾーンを作成し、別のアカウントを使用してディストリビューションを作成した場合、ディストリビューションは [Alias Targets] リストに表示されません。

    1 つのアカウントを使用して現在のホストゾーンを作成し、1 つ以上の別のアカウントを使用してすべてのディストリビューションを作成した場合、[Alias Targets] リストの [CloudFront ディストリビューション] に [ターゲットがありません] が表示されます。

重要

すべてのエッジロケーションに伝達されていない CloudFront ディストリビューションにクエリをルーティングしないでください。その場合、ユーザーは該当するコンテンツにアクセスできません。

CloudFront ディストリビューションには、レコードの名前と一致する代替ドメイン名が含まれる必要があります。たとえば、レコード名が [acme.example.com] の場合、CloudFront ディストリビューションには代替ドメイン名の 1 つとして [acme.example.com] が含まれる必要があります。詳細については、Amazon CloudFront 開発者ガイド の「代替ドメイン名 (CNAME) を使用する」を参照してください。

ディストリビューションに対して IPv6 が有効になっている場合は、2 つのレコードを作成します。1 つは、[Type] の値として [A — IPv4 アドレス] を使います。もう 1 つは、値として [AAAA — IPv6 アドレス] を使います。

ローカル化されたサブドメインがある Elastic Beanstalk 環境

Elastic Beanstalk 環境のドメイン名に環境をデプロイしたリージョンが含まれている場合、トラフィックを環境にルーティングするエイリアスレコードを作成できます。たとえば、ドメイン名 my-environment.us-west-2.elasticbeanstalk.com はローカル化されたドメイン名です。

重要

2016 年の初め以前に作成された環境の場合、ドメイン名にはリージョンは含まれていません。これらの環境にトラフィックをルーティングするには、エイリアスレコードの代わりに CNAME レコードを作成する必要があります。ルートドメイン名に対して CNAME レコードを作成することはできないことに注意してください。たとえば、ドメイン名が example.com の場合、acme.example.com のトラフィックを Elastic Beanstalk 環境にルーティングするレコードは作成できますが、example.com のトラフィックを Elastic Beanstalk 環境にルーティングするレコードは作成できません。

ローカル化されたサブドメインがある Elastic Beanstalk 環境の場合は、次のいずれかを実行します。

  • Route 53 ホストゾーンと Elastic Beanstalk 環境を作成する際に同じアカウントを使用している場合 – [Alias Target] を選択し、リストから環境を選択します。環境が多数ある場合は、環境の CNAME 属性の最初の数文字を入力することでリストをフィルタ処理できます。

  • さまざまなアカウントを使用して Route 53 ホストゾーンおよび Elastic Beanstalk 環境を作成した場合 – Elastic Beanstalk 環境の CNAME 属性を入力します。

ELB ロードバランサー

ELB ロードバランサーの場合は、次のいずれかの操作を実行します。

  • Route 53 ホストゾーンとロードバランサーを作成する際に同じアカウントを使用している場合 – [Alias Target] を選択し、リストからロードバランサーを選択します。ロードバランサーが多数ある場合は、DNS 名の最初の数文字を入力することでリストをフィルタ処理できます。

  • Route 53 ホストゾーンとロードバランサーを作成する際に異なるアカウントを使用している場合 – 「ELB ロードバランサーの DNS 名の取得」の手順で取得した値を入力します。

    1 つの AWS アカウントを使用して現在のホストゾーンを作成し、別のアカウントを使用してロードバランサーを作成した場合、ロードバランサーは [Alias Targets] リストに表示されません。

    1 つのアカウントを使用して現在のホストゾーンを作成し、1 つ以上の数種のアカウントを使用してすべてのロードバランサーを作成した場合、[Alias Targets] リストの [Elastic Load Balancers] に [ターゲットがありません] が表示されます。

どちらの場合も、コンソールで DNS 名に [dualstack.] が付加されます。ウェブブラウザなどのクライアントが、ドメイン名 (example.com) またはサブドメイン名 (www.example.com) の IP アドレスをリクエストする場合、クライアントは IPv4 アドレス (A レコード)、IPv6 アドレス (AAAA レコード)、または IPv4 アドレスと IPv6 アドレスの両方を (別のリクエストで) リクエストできます。dualstack. の指定により、Route 53 は、クライアントがリクエストした IP アドレス形式に基づいて、ロードバランサーに対する適切な IP アドレスで応答することができます。

Amazon S3 バケット

ウェブサイトエンドポイントとして設定された Amazon S3 バケットの場合、次のいずれかを実行します。

  • Route 53 ホストゾーンと Amazon S3 バケットを作成する際に同じアカウントを使用している場合 – [Alias Target] を選択し、リストからバケットを選択します。バケットが多数ある場合は、DNS 名の最初の数文字を入力することでリストをフィルタ処理できます。

    [Alias Target] の値が、バケットの Amazon S3 ウェブサイトエンドポイントに変更されます。

  • 別のアカウントを使って Route 53 ホストゾーンと Amazon S3 バケットを作成した場合 – S3 バケットを作成したリージョンの名前を入力します。アマゾン ウェブ サービス全般のリファレンス の「AWS のリージョンとエンドポイント」章に記載されている Amazon Simple Storage Service ウェブサイトエンドポイント表の [Website Endpoint] 列の値を使用します。

    現在のアカウント以外の AWS アカウントを使用して Amazon S3 バケットを作成した場合、バケットは [Alias Targets] リストに表示されません。

ウェブサイトホスティング用にバケットを設定する必要があります。詳細については、Amazon Simple Storage Service 開発者ガイド の「バケットをウェブサイトホスティング用に設定」を参照してください。

レコード名は、Amazon S3 バケット名と一致する必要があります。たとえば、Amazon S3 バケット名が [acme.example.com] である場合、このレコード名も [acme.example.com] である必要があります。

加重エイリアス、レイテンシーエイリアス、フェイルオーバーエイリアス、または位置情報エイリアスには、Amazon S3 バケットにクエリをルーティングするレコードを 1 つだけ作成できます。これは、レコード名はバケット名と一致する必要があり、バケット名はグローバルに一意である必要があるためです。

Amazon VPC インターフェイスエンドポイント

Amazon VPC インターフェイスエンドポイントで、以下のいずれかを行います。

  • Route 53 ホストゾーンとインターフェイスエンドポイントを使用している場合 – [Alias Target] を選択し、リストからインターフェイスエンドポイントを選択します。インターフェイスエンドポイントが多数ある場合は、DNS ホスト名の最初の数文字を入力することでリストをフィルタリングすることができます。

  • 別のアカウントを使用して Route 53 ホストゾーンとインターフェイスエンドポイントを作成した場合 – インターフェイスエンドポイントの DNS ホスト名 (例: vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com) を入力します。

    1 つの AWS アカウントを使用して現在のホストゾーンを作成し、別のアカウントを使用してインターフェイスエンドポイントを作成した場合、そのインターフェイスエンドポイントは [VPC エンドポイント] の [Alias Targets] リストに表示されません。

    1 つのアカウントを使用して現在のホストゾーンを作成し、1 つ以上の別のアカウントを使用してすべてのインターフェイスエンドポイントを作成した場合、[Alias Targets] リストの [VPC エンドポイント] に [ターゲットがありません] が表示されます。

このホストゾーン内のレコード

このホストゾーン内のレコードの場合は、[エイリアス先] を選択し、該当するレコードを選択します。レコードが多数ある場合は、名前の最初の数文字を入力することでリストをフィルタ処理できます。

ホストゾーンにデフォルトの NS および SOA レコードのみが含まれる場合、[Alias Targets] リストには [ターゲットがありません] が表示されます。

注記

ホストゾーン (zone apex といいます) と同じ名前のエイリアスレコードを作成する場合、[タイプ] の値が [CNAME] のレコードは選択できません。これは、トラフィックがルーティングされているレコードとエイリアスレコードのタイプが同じでなければならず、zone apex の CNAME レコードの作成はエイリアスレコードであってもサポートされていないためです。

[Alias Hosted Zone ID]

[Alias Target] で選択または入力した値に基づいて、値が自動的に表示されます。

ルーティングポリシー

[Weighted] を選択します。

重量

Route 53 が現在のレコードを使用して応答する DNS クエリの比率を決定する値。Route 53 は、同じ DNS 名とタイプの組み合わせがあるレコードの重みの合計を計算します。次に、Route 53 は、その合計に対するリソースの重みの比率に基づいてクエリに応答します。

[名前] および [タイプ] の値が加重レコードと同じである非加重レコードを作成することはできません。

0 ~ 255 の整数を入力します。リソースへのルーティングを無効にするには、[Weight] に 0 を設定します。グループ内のすべてのレコードに対して [Weight] を 0 に設定した場合、トラフィックは等しい確率ですべてのリソースにルーティングされます。これにより、加重レコードのグループのルーティングを誤って無効にする心配がなくなります。

加重レコードにヘルスチェックを割り当てる場合、[Weight] を 0 に設定した結果は異なります。詳細については、「ヘルスチェックが設定されている場合に Amazon Route 53 がレコードを選択する方法」を参照してください。

セット ID

加重レコードのグループ内で、このレコードを一意に識別する値を入力します。

ターゲットの正常性の評価

[エイリアス先] で指定されたリソースの正常性をチェックすることによってこのレコードを使用して DNS クエリに応答するかどうかを Route 53 が判断するように設定するには、[はい] を選択します。

次の点に注意してください。

API Gateway のカスタムリージョン API とエッジ最適化 API

エイリアスターゲットが API Gateway のカスタムリージョン API またはエッジ最適化 API である場合、[ターゲットの正常性の評価] を [はい] に設定するための特別な要件はありません。

CloudFront ディストリビューション

エイリアスターゲットが CloudFront ディストリビューションの場合は、[ターゲットの正常性の評価] を [はい] に設定できません。

ローカル化されたサブドメインがある Elastic Beanstalk 環境

Elastic Beanstalk 環境を [エイリアス先] で指定し、環境に ELB ロードバランサーが含まれている場合、Elastic Load Balancing はロードバランサーに登録されている正常な Amazon EC2 インスタンスのみにクエリをルーティングします。(環境に複数の Amazon EC2 インスタンスが含まれている場合、自動的に ELB ロードバランサーが含まれます)。 [Evaluate Target Health] が [はい] に設定されているときに、正常な Amazon EC2 インスタンスがない場合やロードバランサー自体が正常でない場合、Route 53 は、他の利用可能で正常なリソース (ある場合) にクエリをルーティングします。

環境に 1 つの Amazon EC2 インスタンスが含まれている場合、特別な要件はありません。

ELB ロードバランサー

ヘルスチェックの動作はロードバランサーのタイプによって異なります。

  • クラシックロードバランサー – [エイリアス先] に ELB クラシックロードバランサーを指定すると、Elastic Load Balancing は、ロードバランサーに登録されている正常な Amazon EC2 インスタンスにのみクエリをルーティングします。[ターゲットの正常性の評価] が [はい] に設定されているときに、正常な EC2 インスタンスがない場合やロードバランサー自体が正常でない場合、Route 53 は、他のリソースにクエリをルーティングします。

  • アプリケーションとNetwork Load Balancer – ELB アプリケーションまたはNetwork Load Balancerを指定し、[ターゲットの正常性の評価] を [はい] に設定すると、Route 53 は、ロードバランサーに関連付けられているターゲットグループの正常性に基づいて、クエリをロードバランサーにルーティングします。

    • アプリケーションまたはNetwork Load Balancerを正常であると見なすには、ターゲットを含むすべてのターゲットグループに少なくとも 1 つの正常なターゲットが含まれている必要があります。ターゲットグループに異常なターゲットのみが含まれている場合、ロードバランサーは異常であるとみなされ、Route 53 はクエリを他のリソースにルーティングします。

    • 登録されたターゲットを持たないターゲットグループは異常であるとみなされます。

注記

ロードバランサーを作成するときは、Elastic Load Balancing ヘルスチェックの設定を行います。これは Route 53 ヘルスチェックではありませんが、同様の機能を実行します。ELB ロードバランサーに登録する EC2 インスタンスに対しては Route 53 ヘルスチェックを作成しないでください。

S3 バケット

エイリアスターゲットが S3 バケットである場合、[ターゲットの正常性の評価] を [はい] に設定するための特別な要件はありません。

Amazon VPC インターフェイスエンドポイント

エイリアスターゲットが Amazon VPC インターフェイスエンドポイントである場合、[ターゲットの正常性の評価] を [はい] に設定するための特別な要件はありません。

同じホストゾーンの他のレコード

[エイリアスターゲット] に指定した AWS リソースが、別のエイリアスレコードではなく、レコードまたはレコードのグループ(たとえば、加重レコードのグループ)の場合は、エイリアスターゲットのすべてのレコードにヘルスチェックを関連付けることをお勧めします。詳細については、「ヘルスチェックを省略するとどうなるか」を参照してください。

ヘルスチェックとの関連付け/関連付けるヘルスチェック

Route 53 で指定されたエンドポイントの正常性をチェックし、エンドポイントが正常であるときにのみ、このレコードを使用して DNS クエリに応答する場合は、[はい] を選択します。その後で、このレコードに対して Route 53 で実行するヘルスチェックを選択します。

Route 53 は、レコード内の指定されたエンドポイント、たとえば、[] フィールドの IP アドレスで指定されたエンドポイントの正常性はチェックしません。Route 53 は、レコードのヘルスチェックを選択したとき、ヘルスチェックで指定されたエンドポイントの正常性をチェックします。エンドポイントが正常であるかどうかを、Route 53 がどのように判断するかについては、「Amazon Route 53 がヘルスチェックの正常性を判断する方法」を参照してください。

ヘルスチェックをレコードに関連付けることに意味があるのは、Route 53 が複数のレコードの中から選択して DNS クエリに応答しており、その選択の一部をヘルスチェックのステータスに基づいて行うように Route 53 を設定する必要がある場合だけです。以下の設定でのみ、ヘルスチェックを使用してください。

  • 名前、種類、およびルーティングポリシー (フェイルオーバーレコードや加重レコードなど) が同じレコードのグループ内のすべてのレコードの正常性をチェックしており、そして、すべてのレコードの正常性チェック ID を指定しています。レコードのヘルスチェックが正常ではないエンドポイントを特定した場合、Route 53 はそのレコードの値を使用しているクエリへの応答を停止します。

  • フェイルオーバーエイリアス、位置情報エイリアス、レイテンシーエイリアスまたは加重エイリアスレコードのグループのエイリアスリソースレコードセットまたはレコードで、[ターゲットの正常性の評価] に [はい] を選択してください。エイリアスレコードが同じホストゾーン内の非エイリアスレコードを参照する場合、参照先レコードのヘルスチェックも指定する必要があります。

ヘルスチェックでドメイン名によってのみエンドポイントを指定する場合、エンドポイントごとにヘルスチェックを作成することをお勧めします。たとえば、www.example.com のコンテンツを配信する各 HTTP サーバーについて、ヘルスチェックを作成します。[ドメイン名] の値には、レコードの名前 (example.com) ではなく、サーバーのドメイン名 (us-east-2-www.example.com など) を指定します。

重要

この構成で、[ドメイン名] の値がレコードの名前と一致するヘルスチェックを作成し、それらのレコードにヘルスチェックを関連付けた場合、ヘルスチェックで予想できない結果が生じます。