AWS Route53を使用してGithubページにサブドメインを設定する

長らくgithub.ioのデフォルトドメインで運用してきましたが、
この度ふと思い立ってサブドメインを割り当ててみました。

もともとherokuで作成したブログに独自ドメインを割り当てており、
そのDNS設定にRoute53を使用していたので、今回もそれを使用してみる。
(というか、外部サービスを使用している事になるので、それしかできない)

簡単に全体の流れを説明すると、
Route53でCNAMEの設定をして、Githubページでリダイレクトする設定をかける、だけ。

Route53の設定

route53

すでに設定しているResoucesがあるので、そちらをクリック。

Resouces

設定しているドメインをクリック

Domain Name

新しくCNAMEレコードを作成するのでCreate Record Setをクリック

Create Record

右側に設定画面が表示されるので、設定するサブドメイン、TypeはCNAME、valueにgithub.ioのデフォルトドメインを入れる。
設定できたら、Createをクリックして作成。

Create

これでRoute53の設定は完了

Github pagesの設定

このブラウザから作成する方法は間違いでした。下部に正しい方法を記述しています

githubページにアクセスされた際にリダイレクトさせる設定は簡単で、
masterリポジトリ直下にCNAMEというファイルを設置するだけ。
もちろんgitで追加してもいいけれど、ブラウザからGUIで追加してみる。

設定したいGithubページのリポジトリに行き、masterブランチを選択し、+マークをクリック。

Create file

名前は大文字CNAME
内容は、設定したいサブドメイン。http://は必要なし。

CNAME

正しく設定されたかどうかを確認するには、リポジトリのsettingをクリック。

setting

GitHub Pagesの欄で設定したドメインが表示されていればOK。

github pages

DNSが浸透するまでに少し時間がかかるので気長に待ちましょう。。
(反映されるまでページにアクセス出来なくなってしまいますが…)

正しいCNAMEファイルの作り方

すみません、上記、ブラウザからCNAMEファイルを作成する方法は間違いでした。
というのも、rake gen_deployした際にsourceリポジトリからdeployしたデータをmasterブランチにpushしているようで、
その際にブランチ側でファイルを作成してしまうと差異が出来てpushが出来なくなってしまいました。

なので、以下の方法で強制的にpushを試みると、当然、ブラウザ上で作成したCNAMEが消えてしまいました。
Octopressでrake deployした際にrejectedされた場合の対処 – Qiita

なのでローカルで作成してやる必要がありますが、その場所が、source/以下となるようです。
source/CNAMEでファイルを作成し、同じようにサブドメインのみを記述します。

その状態でgen_deployしてやりブラウザ上で確認すると見事、masterブランチ上の直下にCNAMEファイルが作成されました。
これでOKなはず

参考

公式のチュートリアルが英語だけど一番わかりやすいかも。
Adding a CNAME file to your repository

その他
GitHub Pagesで独自ドメインを使う | hello-world.jp.net
お名前.com で取ったドメインを Amazon Route53で管理し、サブドメインをはてなブログに割り当てるまで – 銀の光と碧い空
エンジニアのブログは Octopress が最適 – $shiroyama->($blog);

Amazon Route53

   このエントリーをはてなブックマークに追加