📚
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でウェブサイトホスティング設定をしたバケットの準備
手順
-
CNAMEレコードの作成:
- Route 53のホストゾーンで、サブドメイン(例:
www.yourdomain.com
)のCNAMEレコードを作成します。 - CNAMEレコードの値として、別のドメイン名(例:
yourdomain.com
)を指定します。
- Route 53のホストゾーンで、サブドメイン(例:
-
ALIASレコードの作成:
- Route 53のホストゾーンで、別のサブドメイン(例:
s3.yourdomain.com
)のALIASレコードを作成します。 - ALIASレコードの値として、S3のウェブサイトエンドポイントを指定します。
- Route 53のホストゾーンで、別のサブドメイン(例:
-
動作確認 (ブラウザ):
- ブラウザで、各サブドメイン(
www.yourdomain.com
、s3.yourdomain.com
)にアクセスし、動作を確認します。 -
www.yourdomain.com
ではyourdomain.com
にホスティングされている内容が表示され、s3.yourdomain.com
ではS3のウェブサイトホスティングの内容が表示されることを確認します。
- ブラウザで、各サブドメイン(
-
ゾーンの頂点でのALIASレコードの作成:
- Route53のホストゾーンで、ゾーンの頂点 (
yourdomain.com
) に対して、ALIASレコードを作成しS3のウェブサイトエンドポイントを指定します。 - ブラウザで、
yourdomain.com
にアクセスしS3のウェブサイトホスティングの内容が表示されることを確認します。
- Route53のホストゾーンで、ゾーンの頂点 (
-
ゾーンの頂点でのCNAMEレコードの作成:
- Route53のホストゾーンで、ゾーンの頂点 (
yourdomain.com
) に対して、CNAMEレコードを作成し、手順2で作成したs3.yourdomain.com
を指定します。 - CNAMEレコードが作成できないことを確認してください。
- Route53のホストゾーンで、ゾーンの頂点 (
-
digコマンドによる確認:
- ターミナルで以下のコマンドを実行し、CNAMEレコードとALIASレコードの応答の違いを確認します。
-
dig www.yourdomain.com
- CNAMEレコードが返され、その値として別のドメイン名が表示されることを確認します。
-
dig s3.yourdomain.com
- ALIASレコードの場合、S3バケットに関連付けられたIPアドレス(またはそれに相当するもの)が返されることを確認します。CNAMEレコードのように別のドメイン名が返されるわけではない点に注目してください。
-
dig yourdomain.com
(ゾーン頂点のALIASレコード)- ゾーン頂点のALIASレコードについても、S3バケットに関連付けられたIPアドレス(またはそれに相当するもの)が返されることを確認します。
-
- ターミナルで以下のコマンドを実行し、CNAMEレコードとALIASレコードの応答の違いを確認します。
Discussion