翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用した Amazon Route 53 および Route 53 VPC Resolver リソースの作成 AWS CloudFormation
Amazon Route 53 および Route 53 VPC Resolver は と統合されています。これは AWS CloudFormation、 AWS リソースとインフラストラクチャの作成と管理に費やす時間を短縮できるように、リソースのモデル化とセットアップに役立つサービスです。必要なすべての AWS リソースを記述するテンプレートを作成し、それらのリソースを CloudFormation プロビジョニングして設定します。
を使用すると CloudFormation、テンプレートを再利用して Route 53 および VPC Resolver リソースを一貫して繰り返しセットアップできます。リソースを一度記述し、複数の AWS アカウント およびリージョンで同じリソースを何度もプロビジョニングします。
Route 53、VPC Resolver、および CloudFormation テンプレート
Route 53、VPC Resolver、および関連サービスのリソースをプロビジョニングおよび設定するには、 CloudFormation テンプレートを理解する必要があります。テンプレートは、JSON や YAML でフォーマットされたテキストファイルです。これらのテンプレートは、 CloudFormation スタックでプロビジョニングするリソースを記述します。JSON または YAML に慣れていない場合は、 CloudFormation デザイナー を使用して CloudFormation テンプレートの使用を開始できます。詳細については、 AWS CloudFormation ユーザーガイドのCloudFormation 「デザイナーとは」を参照してください。
Route 53 は、 で次のリソースタイプの作成をサポートしています CloudFormation。
-
AWS::Route53::DNSSEC -
AWS::Route53::HealthCheck -
AWS::Route53::HostedZone -
AWS::Route53::KeySigningKey -
AWS::Route53::RecordSet -
AWS::Route53::RecordSetGroup
Route 53 リソースの JSON テンプレートと YAML テンプレートの例を含む詳細については、AWS CloudFormation ユーザーガイドの「Amazon Route 53 resource type reference」を参照してください。
VPC Resolver は、 で次のリソースタイプの作成をサポートしています CloudFormation。
-
AWS::Route53Resolver::FirewallDomainList -
AWS::Route53Resolver::FirewallDomainList -
AWS::Route53Resolver::FirewallRuleGroupAssociation -
AWS::Route53Resolver::ResolverDNSSECConfig -
AWS::Route53Resolver::ResolverEndpoint -
AWS::Route53Resolver::ResolverQueryLoggingConfig -
AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation -
AWS::Route53Resolver::ResolverRule -
AWS::Route53Resolver::ResolverRuleAssociation
VPC Resolver リソースの JSON テンプレートと YAML テンプレートの例を含む詳細については、AWS CloudFormation 「 ユーザーガイド」のRoute 53 VPC Resolver リソースタイプのリファレンス」を参照してください。
Route 53 および CloudFormationのベストプラクティス
CloudFormation を使用して Route 53 リソースを管理する場合は、以下のベストプラクティスに従って一般的な問題を回避し、信頼性の高いデプロイを確保します。
結果整合性について理解する
Route 53 は、DNS の変更に結果整合性モデルを使用します。これは、特にロールバックや連続した急激な変更中に、 CloudFormation オペレーションに影響を与える可能性があります。
重要
が DNS レコードの変更をロールバック CloudFormation しようとすると、Route 53 の結果整合性モデルが原因でロールバックが失敗する可能性があります。最近削除されたが、結果整合性のためにまだ存在するように見えるレコードを再作成 CloudFormation しようとすると、DNS が壊れた状態のままになるInvalidChangeBatchエラーが発生する可能性があります。
結果整合性に関連する問題を最小限に抑えるには:
-
変更を慎重に計画する - 同じ DNS レコードに迅速で連続した変更を加えないようにします。
-
本番環境以外で最初にテストする - 本番環境に適用する前に、開発環境で必ず DNS の変更をテストします。
-
デプロイのモニタリング - DNS 関連のデプロイ中に CloudFormation スタックイベントを注意深く監視します。モニタリングのガイダンスについては、「Amazon Route 53 のモニタリング」を参照してください。
-
ロールバック手順の準備をする - 自動ロールバックが失敗した場合の手動復旧手順を準備します。
DNS レコードの順序付けと論理 ID
で複数の DNS レコードを作成するときは CloudFormation、レコードの順序付けと論理 ID の割り当てに注意してください。
警告
CloudFormation テンプレート内の配列またはリストで DNS レコードを定義すると、リストの中央に新しいレコードを挿入すると、 が既存のレコード CloudFormation に論理 IDs を再割り当てする可能性があります。これにより、サービスの中断やロールバックの失敗につながる可能性のあるレコードの置き換えがトリガーされます。
DNS レコード管理のベストプラクティス:
-
明示的な論理 ID を使用する - 配列インデックスに依存するのではなく、常に明示的で意味のある論理 ID を DNS レコードに割り当てます。 CloudFormation 論理 IDs「リソース」セクション構造を参照してください。 AWS CloudFormation
-
新しいレコードを追加する - 既存のリストに新しい DNS レコードを追加するときは、中央に挿入するのではなく、末尾に追加します。
-
関連レコードをグループ化する - 関連レコードを一緒に管理するために
AWS::Route53::RecordSetGroupを使用することを検討してください。詳細については、「AWS CloudFormation ユーザーガイド」の「AWS::Route53::RecordSetGroup」を参照してください。 -
変更セットを確認する - デプロイ前に必ず CloudFormation 変更セットを確認して、予期しないレコードの置き換えを特定します。詳細については、AWS CloudFormation ユーザーガイドの「変更セットを使用したスタックの更新」を参照してください。
ロールバック失敗の処理
DNS 関連の問題が原因で CloudFormation ロールバックが失敗した場合、手動復旧の実行が必要になる場合があります。
失敗した DNS ロールバックから手動復旧を実行するには
-
CloudFormation スタックイベントと Route 53 ホストゾーンレコードを確認して、失敗した DNS レコードを特定する
-
Route 53 コンソールまたは API を使用して、欠落している DNS レコードを手動で作成または更新します。レコード作成について詳しくは、「レコードを使用する」を参照してください。
-
DNS が復元されたら、現在の状態に合わせて CloudFormation テンプレートを更新します。
-
修正されたテンプレートをデプロイして、実際のリソースと同期 CloudFormation させます。
ロールバックの失敗を防ぐには:
-
トラフィックの多い時間帯に DNS レコードの置き換えをトリガーする可能性のある変更を行わないでください。
-
ヘルスチェックとモニタリングを実装して、DNS の問題をすばやく検出します。ヘルスチェックの詳細については、「ヘルスチェックの作成と更新」を参照してください。
-
重要な DNS 変更には、ブルー/グリーンデプロイ戦略の使用を検討してください。デプロイのベストプラクティスの詳細については、「Amazon Route 53 のベストプラクティス」を参照してください。
-
手動 DNS 復旧の緊急手順を文書化する
の詳細 CloudFormation
詳細については CloudFormation、次のリソースを参照してください。