素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

IT

【Route53/S3】お名前.comで取得したルートドメインにアクセスした際に、サブドメインにリダイレクトさせる方法【AWS】

投稿日:

スポンサーリンク

336×280




リダイレクトしたい

AWSのRoute53にルートドメインとサブドメインを登録している際に、ルートドメインにアクセスされたらサブドメインにリダイレクトさせたい、と言う要望はたまにあります。

もちろん、Proxyサーバー等があればそちらで対応することは可能ですが、EC2サーバーを立てずにAWSサービスを組み合わせて使うことでも実現が可能になりますので、やり方をご紹介します。

手順

前提

Route53にルートドメインとサブドメインを登録しているとします。

サブドメイン用準備

CloudFrontとS3の準備および設定

まずはリダイレクト先のサブドメイン用の各種サービスを準備しましょう。
今回はCloudFront+S3でページを表示させます。

こちらの作業については以前紹介をしているので以下を参考に進めてみてください。

確認

では、サブドメインにアクセスをしてCloudFront経由でS3バケットに適当に配置したHTMLが表示されるか確認してみましょう。

正しく設定が行われています。

ルートドメイン用準備

では、ここからがルートドメインからサブドメインへのリダイレクトの設定になります。

S3の準備

まずはS3バケットを作成してください。
こちらはCloudFrontは不要です。

この際にバケット名とドメイン名は一致させる必要があります。

S3バケットの設定を変更

S3バケットのStatic website hostingを有効化する際に、サブドメインの場合はこのバケットを使用してウェブサイトをホストするにチェックを入れていましたが、今回はリダイレクトを行いたいのでリクエストをリダイレクトするにチェックを入れます。

ターゲットバケットまたはドメインにはリダイレクト先のドメイン、プロトコルにはhttpかhttpsを入れ保存ボタンをクリックします。

Route53でAliasの設定

Route53に戻り、対象のルートドメインのAlias Targetのプルダウンを見ると作成したS3バケットが出てくると思うのでそちらを選択してSave Record Setボタンをクリックします。

プルダウンにAlias Targetが出ない場合

プルダウンに何も表示されない場合はバケット名がルートドメインと違う名前で作ってしまっている可能性がありますので、今一度確認してみてください。

確認

では、実際にブラウザでルートドメインにアクセスしてみましょう。


正常にリダイレクトされましたね。
試しにcurlでも確認しましたがこちらも正常に301でサブドメインにリダイレクトがかかっていそうです。

オススメの参考書

終わりに

以上のように、サーバーレスでリダイレクトの設定を行うことが出来ました。

サブドメイン側にAWS Certificate Managerで取得した無料SSL署名書を設定すれば、Https通信も可能になります。

その辺の手順も過去にご紹介していますので興味のある方は試してみてください。

336×280




336×280




CATEGORIES & TAGS

IT, , , , , , , , , , ,

blogenist

Author: blogenist