📚

Route 53のCNAMEレコードとALIASレコード:初心者向け解説とハンズオン

に公開

Route 53のCNAMEレコードとALIASレコードの違い解説

Route 53とは?

AWSのRoute 53は、インターネット上の住所である「ドメイン名」を管理するサービスです。例えば、「google.com」のような名前を、コンピューターが理解できる数字の住所(IPアドレス)に変換する役割を持っています。

CNAMEレコードとALIASレコード:役割と違い

Route 53では、ドメイン名を別のドメイン名やAWSのサービスに紐付けるために、いくつかの設定(レコード)を使用します。その中でもよく使われるのがCNAMEレコードとALIASレコードです。

CNAMEレコード

  • あるドメイン名を別のドメイン名のエイリアス(別名)として設定します。
  • 例えば、「www.example.com」を「example.com」のエイリアスとして設定することで、「www.example.com」へのアクセスを「example.com」にリダイレクトできます。
  • CNAMEレコードは、ドメイン名を別のドメイン名に関連付けるために使用され、IPアドレスに直接関連付けることはできません。
  • ゾーンの頂点(apexドメイン)では使用できません。例えばexample.comに対してCNAMEレコードの設定はできません。

ALIASレコード

  • AWSリソース(ELB、S3、CloudFrontなど)をドメイン名に関連付けるために使用されます。
  • CNAMEレコードと同様に、ドメイン名を別のドメイン名のエイリアスとして設定できますが、AWSリソースを直接指定できる点が異なります。
  • ALIASレコードは、CNAMEレコードの制限を克服し、ゾーンの頂点でも使用できます。
  • ALIASレコードは、AWSのサービスにのみ使用できるレコードです。

主な違い

特徴 CNAMEレコード ALIASレコード
主な用途 ドメイン名のエイリアス設定 AWSリソースの関連付け
関連付け対象 別のドメイン名 AWSリソース
ゾーンの頂点での使用 不可 可能
IPアドレスへの直接関連付け 不可 AWSリソースを通して可能

ハンズオン課題:実際にレコードを設定し、違いを体験する!

このハンズオンでは、実際にRoute 53でCNAMEレコードとALIASレコードを設定し、digコマンドを使ってその違いを確認します。

事前準備

  • AWSアカウント
  • Route 53で管理されたドメイン名 (例: yourdomain.com)
  • S3でウェブサイトホスティング設定をしたバケットの準備

手順

  1. CNAMEレコードの作成:

    • Route 53のホストゾーンで、サブドメイン(例:www.yourdomain.com)のCNAMEレコードを作成します。
    • CNAMEレコードの値として、別のドメイン名(例:yourdomain.com)を指定します。
  2. ALIASレコードの作成:

    • Route 53のホストゾーンで、別のサブドメイン(例:s3.yourdomain.com)のALIASレコードを作成します。
    • ALIASレコードの値として、S3のウェブサイトエンドポイントを指定します。
  3. 動作確認 (ブラウザ):

    • ブラウザで、各サブドメイン(www.yourdomain.coms3.yourdomain.com)にアクセスし、動作を確認します。
    • www.yourdomain.comではyourdomain.comにホスティングされている内容が表示され、s3.yourdomain.comではS3のウェブサイトホスティングの内容が表示されることを確認します。
  4. ゾーンの頂点でのALIASレコードの作成:

    • Route53のホストゾーンで、ゾーンの頂点 (yourdomain.com) に対して、ALIASレコードを作成しS3のウェブサイトエンドポイントを指定します。
    • ブラウザで、yourdomain.comにアクセスしS3のウェブサイトホスティングの内容が表示されることを確認します。
  5. ゾーンの頂点でのCNAMEレコードの作成:

    • Route53のホストゾーンで、ゾーンの頂点 (yourdomain.com) に対して、CNAMEレコードを作成し、手順2で作成した s3.yourdomain.com を指定します。
    • CNAMEレコードが作成できないことを確認してください。
  6. digコマンドによる確認:

    • ターミナルで以下のコマンドを実行し、CNAMEレコードとALIASレコードの応答の違いを確認します。
      • dig www.yourdomain.com
        • CNAMEレコードが返され、その値として別のドメイン名が表示されることを確認します。
      • dig s3.yourdomain.com
        • ALIASレコードの場合、S3バケットに関連付けられたIPアドレス(またはそれに相当するもの)が返されることを確認します。CNAMEレコードのように別のドメイン名が返されるわけではない点に注目してください。
      • dig yourdomain.com (ゾーン頂点のALIASレコード)
        • ゾーン頂点のALIASレコードについても、S3バケットに関連付けられたIPアドレス(またはそれに相当するもの)が返されることを確認します。

Discussion