AWS Route53を使用してGithubページにサブドメインを設定する
長らくgithub.ioのデフォルトドメインで運用してきましたが、
この度ふと思い立ってサブドメインを割り当ててみました。
もともとherokuで作成したブログに独自ドメインを割り当てており、
そのDNS設定にRoute53を使用していたので、今回もそれを使用してみる。
(というか、外部サービスを使用している事になるので、それしかできない)
簡単に全体の流れを説明すると、
Route53でCNAMEの設定をして、Githubページでリダイレクトする設定をかける、だけ。
Route53の設定
すでに設定しているResouces
があるので、そちらをクリック。
設定しているドメインをクリック
新しくCNAMEレコードを作成するのでCreate Record Set
をクリック
右側に設定画面が表示されるので、設定するサブドメイン、TypeはCNAME、valueにgithub.ioのデフォルトドメインを入れる。
設定できたら、Create
をクリックして作成。
これでRoute53の設定は完了
Github pagesの設定
このブラウザから作成する方法は間違いでした。下部に正しい方法を記述しています
githubページにアクセスされた際にリダイレクトさせる設定は簡単で、
masterリポジトリ直下にCNAME
というファイルを設置するだけ。
もちろんgitで追加してもいいけれど、ブラウザからGUIで追加してみる。
設定したいGithubページのリポジトリに行き、masterブランチを選択し、+マークをクリック。
名前は大文字でCNAME
。
内容は、設定したいサブドメイン。http://
は必要なし。
正しく設定されたかどうかを確認するには、リポジトリのsetting
をクリック。
GitHub Pages
の欄で設定したドメインが表示されていればOK。
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);