メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

AWS::Route53::RecordSet

AWS::Route53::RecordSet タイプは、スタンドアロンリソースとして、または AWS::Route53::RecordSetGroup タイプの埋め込みプロパティとして使用できます。AWS::Route53::RecordSet の一部のプロパティは、AWS::Route53::RecordSetGroup 内で使用したときにのみ有効となります。

各プロパティにおける制約と値の詳細については、「POST CreateHostedZone」 (ホストゾーン) および「POST ChangeResourceRecordSet」 (リソースレコードセット) を参照してください。

構文

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

JSON

Copy
{ "Type" : "AWS::Route53::RecordSet", "Properties" : { "AliasTarget" : AliasTarget, "Comment" : String, "Failover" : String, "GeoLocation" : GeoLocation, "HealthCheckId" : String, "HostedZoneId" : String, "HostedZoneName" : String, "Name" : String, "Region" : String, "ResourceRecords" : [ String ], "SetIdentifier" : String, "TTL" : String, "Type" : String, "Weight" : Integer } }

YAML

Copy
Type: "AWS::Route53::RecordSet" Properties: AliasTarget: AliasTarget Comment: String Failover: String GeoLocation: GeoLocation HealthCheckId: String HostedZoneId: String HostedZoneName: String Name: String Region: String ResourceRecords: - String SetIdentifier: String TTL: String Type: String Weight: Integer

プロパティ

AliasTarget

エイリアスリソースレコードセットのみ: トラフィックのリダイレクト先となるドメインに関する情報。

このプロパティを指定する場合、TTL プロパティは指定しないでください。エイリアスターゲットレコードからの TTL 値が使用されます。

エイリアスリソースレコードセットの詳細については、Amazon Route 53 開発者ガイドの「エイリアスリソースレコードセットの作成」および Amazon Route 53 API リファレンスの「POST ChangeResourceRecordSets」を参照してください。

Required: Conditionalエイリアスリソースレコードセットを作成する場合は必須です。

: AliasTarget

更新に伴う要件: 中断はありません。

Comment

ホストゾーンに関して追加するコメント。

重要

レコードセットがレコードセットグループの一部である場合、このプロパティは無効です。このプロパティを指定しないでください。

Required: No

Type: String

更新に伴う要件: 中断はありません。

Failover

レコードセットを、PRIMARY または SECONDARY フェイルオーバーレコードセットに指定します。同じ機能を実行する複数のリソースがある場合、リソースのヘルスをチェックし、DNS クエリに応答する正常なリソースのみを使用するように Amazon Route 53 を設定できます フェイルオーバーリソースレコードセットリソースと Name および Type の値が同じである非フェイルオーバーリソースレコードセットを作成することはできません。詳細については、Amazon Route 53 API Reference の「フェイルオーバー」の説明を参照してください。

このプロパティを指定する場合は、SetIdentifier プロパティを指定する必要があります。

Required: No

Type: String

更新に伴う要件: 中断はありません。

GeoLocation

クエリの地理的オリジンに基づいて Amazon Route 53 が DNS クエリに応答する方法を説明します。このプロパティは Region プロパティと互換性がありません。

Required: No

タイプ: Amazon Route 53 レコードセットの位置情報プロパティ

更新に伴う要件: 中断はありません。

HealthCheckId

このレコードセットに適用するヘルスチェック ID です。Amazon Route 53 はレコードセットが正常に動作している間にのみ、DNS クエリに応答してこのリソースレコードセットを返します。

Required: No

Type: String

更新に伴う要件: 中断はありません。

HostedZoneId

ホストゾーンの ID。

Required: Conditional。HostedZoneNameHostedZoneId のどちらかを指定する必要があります。両方を指定することはできません。このレコードセットがレコードセットの一部である場合は、このプロパティを指定しないでください。

Type: String

更新に伴う要件: 置換

HostedZoneName

レコードセットを追加するホストゾーンのドメインの名前。

スタックの作成時に AWS::Route53::RecordSet を指定する HostedZoneName が使用されると、AWS CloudFormation は、HostedZoneName と名前が一致するホストゾーンを検索しようと試みます。AWS CloudFormation が該当するドメイン名のホストゾーンを見つけられなかった場合や、指定されたドメイン名のホストゾーンが複数見つかった場合、AWS CloudFormation はスタックを作成しません。

同じドメイン名のホストゾーンが複数ある場合は、HostedZoneId を使用してホストゾーンを明示的に指定する必要があります。

Required: Conditional。HostedZoneNameHostedZoneId のどちらかを指定する必要があります。両方を指定することはできません。このレコードセットがレコードセットの一部である場合は、このプロパティを指定しないでください。

Type: String

更新に伴う要件: 置換

Name

ドメインの名前。最後のラベルを示すピリオドが末尾に付いた完全修飾ドメイン名を指定する必要があります。末尾のピリオドを省略した場合は、Amazon Route 53 によって追加されます。

Required: Yes

Type: String

更新に伴う要件: 置換

Region

レイテンシーリソースレコードセットのみ: このリソースレコードセットに指定されたリソースが存在する Amazon EC2 リージョン。リソースは通常、AWS リソース (Amazon EC2 インスタンス、Elastic Load Balancing ロードバランサーなど) であり、レコードタイプに応じて IP アドレスまたは DNS ドメイン名で参照されます。

Amazon Route 53 がレイテンシーリソースレコードセットが作成されているドメインの名前や種類を要求する DNS クエリを受け取ると、Amazon Route 53 は、エンドユーザーとそのユーザーに関連付けられている Amazon EC2 リージョンとの間でレイテンシーが最も小さいレイテンシーリソースレコードセットを選択します。そのうえで、Amazon Route 53 は選択したリソースレコードセットに関連付けられている値を返します。

以下の制限事項に従う必要があります。

  • 指定できるリソースレコードは、各レイテンシーリソースレコードセットにつき 1 つだけです。

  • 作成できるレイテンシーリソースレコードセットは、各 Amazon EC2 リージョンにつき 1 つだけです。

  • すべての Amazon EC2 リージョンに対してレイテンシーリソースレコードセットを作成する必要はありません。レイテンシーリソースレコードセットを作成したリージョンの中から、レイテンシーの最も小さいリージョンが Amazon Route 53 によって選択されます。

  • 加重リソースレコードセットとレイテンシーリソースレコードセットの両方を、Name 要素と Type 要素に同じ値を設定して作成することはできません。

  • このプロパティは GeoLocation プロパティと互換性がありません。

サービス別のリージョンのリストを表示するには、AWS General Referenceの「リージョンとエンドポイント」を参照してください。

ResourceRecords

追加するリソースレコードのリスト。各レコードは、Type プロパティで指定したレコードタイプの適切な形式になっている必要があります。各種レコードタイプとその形式については、Amazon Route 53 開発者ガイド の「基本リソースレコードセットの値」および「付録: ドメイン名の形式」を参照してください。

Required: Conditional。AliasTarget プロパティを指定しない場合は、このプロパティを指定する必要があります。エイリアスリソースレコードセットを作成する場合は、このプロパティを指定しないでください。

Type: List of String values

更新に伴う要件: 中断はありません。

SetIdentifier

DNS の名前とタイプの組み合わせが同じ複数のリソースレコードセットを区別する一意の識別子。

Required: Conditional。加重、レイテンシー、フェイルオーバー、または位置情報のリソースレコードセットを作成する場合は必須。

詳細については、Amazon Route 53 開発者ガイドの「SetIdentifier」の説明を参照してください。

Type: String

更新に伴う要件: 中断はありません。

TTL

リソースレコードキャッシュの有効期限 (TTL) (秒)。このプロパティを指定する場合、AliasTarget プロパティは指定しないでください。エイリアスターゲットレコードの場合、ターゲットの TTL 値が使用されます。

このプロパティを指定する場合は、ResourceRecords プロパティを指定する必要があります。

Required: Conditional。AliasTarget プロパティを指定しない場合は、このプロパティを指定する必要があります。エイリアスリソースレコードセットを作成する場合は、このプロパティを指定しないでください。

Type: String

更新に伴う要件: 中断はありません。

Type

追加するレコードのタイプ。有効な値については、Amazon Route 53 API Reference の「Type」の内容を参照してください。

AWS CloudFormation では、Amazon Route 53 によって自動的に作成されるホストゾーンの NS および SOA のレコードを変更することはできません。具体的には、ホストゾーンのルートドメインの NS または SOA レコードを作成または削除することはできませんが、サブドメインを委任するためにこれらを作成することはできます。たとえば、ホストゾーン mydomain.net の場合、mydomain.net の NS レコードを作成することはできませんが、委任のために nnnn.mydomain.net の NS レコードを作成することはできます。

Required: Yes

Type: String

更新に伴う要件: 中断はありません。

Weight

加重リソースレコードセットのみ: DNS の名前とタイプの組み合わせが同じであるリソースレコードセットのうち、現在のリソースレコードセットのどのトラフィック部分を、関連付けられている場所にルーティングするかを決定する値。

加重リソースレコードセットの詳細については、Amazon Route 53 開発者ガイドの「加重リソースレコードセットの設定」を参照してください。

Required: Conditional加重リソースレコードセットを作成する場合は必須です。

Type: Number Weight には整数値を指定します。

更新に伴う要件: 中断はありません。

戻り値

AWS::Route53::RecordSet 関数の引数として Ref タイプを指定した場合、AWS CloudFormation は、レコードセットのドメイン名の値を返します。

Ref 関数の使用方法の詳細については、「Ref」を参照してください。

Amazon EC2 インスタンスのパブリック IP に Amazon Route 53 の A レコードをマッピングする

JSON

Copy
"Resources" : { "Ec2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "AMI" ] } } }, "myDNSRecord" : { "Type" : "AWS::Route53::RecordSet", "Properties" : { "HostedZoneName" : { "Ref" : "HostedZoneResource" }, "Comment" : "DNS name for my instance.", "Name" : { "Fn::Join" : [ "", [ {"Ref" : "Ec2Instance"}, ".", {"Ref" : "AWS::Region"}, ".", {"Ref" : "HostedZone"} ,"." ] ] }, "Type" : "A", "TTL" : "900", "ResourceRecords" : [ { "Fn::GetAtt" : [ "Ec2Instance", "PublicIp" ] } ] } } }

YAML

Copy
Resources: Ec2Instance: Type: AWS::EC2::Instance Properties: ImageId: !FindInMap [RegionMap, !Ref 'AWS::Region', AMI] myDNSRecord: Type: AWS::Route53::RecordSet Properties: HostedZoneName: !Ref 'HostedZoneResource' Comment: DNS name for my instance. Name: !Join ['', [!Ref 'Ec2Instance', ., !Ref 'AWS::Region', ., !Ref 'HostedZone', .]] Type: A TTL: '900' ResourceRecords: - !GetAtt Ec2Instance.PublicIp

追加情報

AWS::Route53::RecordSet に関連したその他のスニペットについては、「Amazon Route 53 テンプレートスニペット」を参照してください。

このページの内容: