【CloudFormation】AWSマルチAZ3層アーキテクチャの構築_Route53

皆様、お世話になっております。鈴木と申します。
今回はAWS CloudFormationを使用してRoute53を作成していきたいと思います。

1.目次

目次はこちら

2.要件

  • ALB用のドメインを作成

3.Route53について

Amazon Route 53は、AWSのドメインネームシステム(DNS)サービスです。主な機能と利点は以下の通りです。

  1. ドメイン登録:
    数百のTLD(トップレベルドメイン)に対応したドメイン名の登録と管理が可能です。

  2. DNSルーティング:

    • 高可用性: グローバルなAWSインフラで信頼性を確保。
    • ルーティングポリシー: シンプル、フェイルオーバー、地理的、加重、レイテンシーの各ポリシーに対応。
  3. ヘルスチェック: アプリケーションの健全性を監視し、障害時にトラフィックを健全なリソースに自動で切り替えます。

  4. 統合: 他のAWSサービス(EC2、S3、CloudFrontなど)とスムーズに統合でき、APIを使用して自動化も可能です。

  5. セキュリティ: IAMによるアクセス管理とDNSSECによるデータ保護を提供します。

利点として高い可用性と耐障害性があり、スケーラブルなサービスです。またコスト効率が高く、簡単に管理が可能となっています。Amazon Route 53は、インターネットアプリケーションのパフォーマンスと可用性を最適化するための強力なDNSソリューションです。

4.構成図

ALBのドメインをRoute 53のものに割り当てます。
file

今回はすでにホストゾーンがあるため、サブドメインの作成から実施していきます。

5.ソースコード全体

YAML形式で記述しています。またRoute 53とACM、ALBを同じファイルで記述しているため、以下はRoute 53部分を抜粋しています。

  # Route 53 レコードセット作成(ALBのAレコード)
  Route53RecordSet:
    Type: "AWS::Route53::RecordSet"
    Properties:
      Name: !Sub "${SubdomainName}"
      Type: "A"
      HostedZoneId: !Ref HostedZoneId
      AliasTarget:
        DNSName: !GetAtt LoadBalancerResource.DNSName
        HostedZoneId: !GetAtt LoadBalancerResource.CanonicalHostedZoneID

6.ソースコード詳細

Route 53とACM、ALBは同じファイルで記述しているため、上記はRoute 53部分を抜粋しています。

使用するオプション 設定値 説明
Type AWS::Route53::RecordSet デフォルトの定義
Name !Sub "${SubdomainName}" サブドメインを指定
Type "A" Aレコードとして作成
HostedZoneId !Ref HostedZoneId ホストゾーンのIDを指定
DNSName !GetAtt LoadBalancerResource.DNSName ALBのDNS名を取得
HostedZoneId !GetAtt LoadBalancerResource.CanonicalHostedZoneID ALBのホストゾーンIDを取得

7.テスト

次回はACMで証明書を発行し、ALBの設定を完了させた後、実際に上記で作成したドメインでALBに紐づけたEC2にアクセスできるかをテストします。
【CloudFormation】AWSマルチAZ3層アーキテクチャの構築_ACM
【CloudFormation】AWSマルチAZ3層アーキテクチャの構築_ALB

8.感想

Route 53はコンソール画面も見やすく、構築時も確認がしやすかったです。次回はACMで証明書を発行して暗号化を行います。

Last modified: 2024-07-31

Author