AWS::Route53::RecordSet AliasTarget - AWS CloudFormation

AWS::Route53::RecordSet AliasTarget

エイリアスレコードのみ: CloudFront ディストリビューションやトラフィックのルーティング先となる Amazon S3 バケットなど AWS リソースに関する情報。

プライベートホストゾーンのレコードを作成するときは、以下の点に注意してください。

  • プライベートホストゾーンでの位置情報エイリアスレコードおよびレイテンシーエイリアスレコードの作成は許可されていますが、サポートされていません。

  • プライベートホストゾーンにフェイルオーバーレコードを作成する方法の詳細については、「プライベートホストゾーンのフェイルオーバーの設定」を参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

{ "DNSName" : String, "EvaluateTargetHealth" : Boolean, "HostedZoneId" : String }

YAML

DNSName: String EvaluateTargetHealth: Boolean HostedZoneId: String

プロパティ

DNSName

エイリアスレコードのみ: 指定する値 は、クエリをルーティングする場所によって異なります。

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

API に適切なドメイン名を指定してください。AWS CLI コマンド get-domain-names を使用して適切な値を取得できます。

  • リージョン API の場合は、regionalDomainName の値を指定します。

  • エッジ最適化 API の場合は、distributionDomainName の値を指定します。これは da1b2c3d4e5.cloudfront.net のような関連付け済み CloudFront ディストリビューションの名前です。

注記

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

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

vpce-123456789abcdef01-example-us-east-1a.elasticloadbalancing.us-east-1.vpce.amazonaws.com など、インターフェイスエンドポイントの API エンドポイントを入力します。エッジ最適化 API の場合、これは対応する CloudFront ディストリビューションのドメイン名です。AWS CLI コマンド describe-vpc-endpoints を使用して、DnsName の値を取得できます。

CloudFront 配信

ディストリビューションを作成したときに CloudFront が割り当てたドメイン名を指定してください。

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

トラフィックを CloudFront ディストリビューションにルーティングするためにプライベートホストゾーンにレコードを作成することはできません。

注記

フェイルオーバーエイリアスレコードの場合、プライマリレコードとセカンダリレコードの両方に CloudFront ディストリビューションを指定することはできません。ディストリビューションには、レコードの名前と一致する代替ドメイン名が含まれる必要があります。ただし、プライマリレコードとセカンダリレコードの名前は同じであり、複数のディストリビューションに同じ代替ドメイン名を含めることはできません。

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 環境の場合は、環境に CNAME 属性を指定します。以下のメソッドを使用して、CNAME 属性の値を取得します。

  • AWS マネジメントコンソール: コンソールを使用して値を取得する方法については、AWS Elastic Beanstalk 開発者ガイドの「AWS Elastic Beanstalk でのカスタムドメインの使用」を参照してください。

  • Elastic Beanstalk API: DescribeEnvironments アクションを使用し、CNAME 属性の値を取得します。詳細については、AWS Elastic Beanstalk API リファレンスの「DescribeEnvironments」を参照してください。

  • AWS CLI: describe-environments コマンドを使用して、CNAME 属性の値を取得します。詳細については、AWS コマンドラインインターフェイスリファレンスの 「describe-environment」を参照してください。

ELB ロードバランサー

ロードバランサーに関連付けられている DNS 名を指定します。AWS マネジメントコンソール、ELB API、または AWS CLI を使用して DNS 名を取得します。

  • AWS マネジメントコンソール: EC2 ページに移動し、ナビゲーションペインでロードバランサー、ロードバランサー、説明タブを選択して、DNS 名フィールドの値を取得します。

    トラフィックを Classic Load Balancer にルーティングしている場合は、dualstack で始まる値を取得します。トラフィックを別のタイプのロードバランサーにルーティングしている場合は、レコードタイプ A または AAAA に適用される値を取得します。

  • Elastic Load Balancing API: DescribeLoadBalancers を使って DNSName の値を取得します。詳細については、該当するガイドを参照してください。

  • CloudFormation Fn::GetAtt 組み込み関数: Fn::GetAtt 組み込み関数を使用して、DNSName の値を取得します。

  • AWS CLI: DNSName の値を取得するには、describe-load-balancers を使用します。詳細については、該当するガイドを参照してください。

AWS Global Accelerator アクセラレーター

アクセラレーターの DNS 名を指定します。

静的ウェブサイトとして設定された Amazon S3 バケット

バケットを作成した Amazon S3 ウェブサイトエンドポイントのドメイン名を、たとえば s3-website.us-east-2.amazonaws.com のように指定します。有効値の詳細については、アマゾンウェブサービス全般の参照の「Amazon S3 ウェブサイトエンドポイント」の表を参照してください。ウェブサイトでの S3 バケットの使用の詳細については、Amazon Route 53 開発者ガイドの「Amazon Route 53 の開始方法」を参照してください。

別の Route 53 レコード

現在のホストゾーン内のレコードに Name 要素の値を指定します。

注記

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

必須: はい

タイプ: 文字列

最大: 1024

Update requires: No interruption

EvaluateTargetHealth

エイリアス、フェイルオーバーエイリアス、ジオロケーションエイリアス、レイテンシーエイリアス、および加重エイリアスリソースレコードセットにのみ適用されます。EvaluateTargetHealthtrue の場合、エイリアスリソースレコードセットは、ELB ロードバランサーやホストゾーン内の別のリソースレコードセットなど、参照先の AWS リソースの正常性を継承します。

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

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

エイリアスターゲットが CloudFront ディストリビューションの場合、EvaluateTargetHealthtrue に設定することはできません。

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

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

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

ELB ロードバランサー

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

  • Classic Load Balancers: DNSName で ELB Classic Load Balancer を指定した場合、Elastic Load Balancing は、ロードバランサーに登録されている正常な Amazon EC2 インスタンスにのみクエリをルーティングします。EvaluateTargetHealthtrue に設定し、EC2 インスタンスが正常でないか、ロードバランサー自体が異常である場合、Route 53 は他のリソースにクエリをルーティングします。

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

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

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

注記

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

S3 バケット

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

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

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

詳細な説明と例については、「Amazon Route 53 開発者ガイド」の「Amazon Route 53 ヘルスチェックと DNS フェイルオーバー」を参照してください。

必須: いいえ

タイプ: ブール値

Update requires: No interruption

HostedZoneId

エイリアスリソースレコードセットのみ: 使用される値は、トラフィックをルーティングする場所によって異なります。

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

API のホストゾーン ID を指定します。AWS CLI コマンド get-domain-names を使用して適切な値を取得できます。

  • リージョン API の場合は、regionalHostedZoneId の値を指定します。

  • エッジ最適化 API の場合は、distributionHostedZoneId の値を指定します。

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

インターフェイスエンドポイントのホストゾーン ID を指定します。AWS CLI コマンド describe-vpc-endpoints を使用して、HostedZoneId の値を取得できます。

CloudFront 配信

Z2FDTNDATAQYW2 を指定します。CloudFront ディストリビューションにトラフィックをルーティングするエイリアスレコードを作成する場合、これは常にホストゾーン ID となります。

注記

CloudFront のエイリアスレコードはプライベートゾーンに作成できません。

Elastic Beanstalk 環境

環境を作成したリージョンのホストゾーン ID を指定します。環境にはローカル化されたサブドメインが必要です。リージョンとそれに対応するホストゾーン ID の一覧については、「アマゾン ウェブ サービス全般のリファレンス」の「AWS リージョンとエンドポイント」の章の「AWS Elastic Beanstalk」を参照してください。

ELB ロードバランサー

ロードバランサーのホストゾーン ID の値を指定します。ホストゾーン ID を取得するには、次のメソッドを使用します。

  • アマゾン ウェブ サービス全般のリファレンスの「Elastic Load Balancing エンドポイントとクォータ」のトピックの「サービスエンドポイント」表: ロードバランサーを作成したリージョンに対応する値を使用します。Application Balancers と Classic Load Balancers、および Network Load Balancers には別々の列があります。

  • AWS マネジメントコンソール: Amazon EC2 ページに移動し、ナビゲーションペインでロードバランサーおよびロードバランサーを選択して、説明タブのホステッドゾーンフィールド の値を取得します。

  • Elastic Load Balancing API: DescribeLoadBalancers を使って適切な値を取得します。詳細については、該当するガイドを参照してください。

    • Classic Load Balancer: DescribeLoadBalancers を使用して CanonicalHostedZoneNameId の値を取得します。

    • アプリケーションおよびネットワークロードバランサー: DescribeLoadBalancers を使用して CanonicalHostedZoneId の値を取得します。

  • CloudFormation Fn::GetAtt 組み込み関数: Fn::GetAtt 組み込み関数を使用して該当する値を取得します。

  • AWS CLI: describe-load-balancers を使って適切な値を取得します。詳細については、該当するガイドを参照してください。

    • Classic Load Balancer: describe-load-balancers を使用して CanonicalHostedZoneNameId の値を取得します。

    • アプリケーションおよびネットワークロードバランサー: describe-load-balancers を使用して CanonicalHostedZoneId の値を取得します。

AWS Global Accelerator アクセラレーター

Z2BJ6XQ5FK7U4H を指定します。

静的ウェブサイトとして設定された Amazon S3 バケット

バケットを作成したリージョンのホストゾーン ID を指定します。有効値の詳細については、アマゾンウェブサービス全般の参照の「Amazon S3 ウェブサイトエンドポイント」の表を参照してください。

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

ホストゾーンのホストゾーン ID を指定します。(エイリアスレコードは、別のホストゾーンのレコードを参照することはできません)。

必須: はい

タイプ: 文字列

最大: 32

Update requires: No interruption

以下の資料も参照してください。