バンドのWebサイトをGitHub Pagesに移行し、カスタムドメインを設定する

## この記事は

すこし前に自分のバンドのWebサイトをGitHub Pagesに移行し、Route53で取った独自ドメインを設定したのでそのメモです。

## 自己紹介

- Java（Spring Boot）のWebアプリ開発を主にやってます。
- バンドもやってます。

## きっかけ
家を引越すときに、プロバイダを解約しました。

バンドのWebサイトをプロバイダ付属のホームページサービスで運用していたので、移行先を探さなきゃいけなくなりました。いろいろ調べると、無償の選択肢がたくさんあって、一番手軽そうなGitHub Pagesに落ち着きました。

いい時代になりましたね。

## 移行先にGitHub Pagesを選んだ理由
単純に書くと以下になります。

- 無料である
- 使い慣れてるGit操作が使える
- 移行するWebサイトが静的サイトなので必要十分
- 資材の置き場所と公開先が同じなので運用しやすい（放置しやすい）

とにかくお手軽ですね。

## Hugo + Netlifyを選ばなかった理由
流行りの[Hugo](https://gohugo.io/)と[Netlify](https://www.netlify.com/)も試してみました。これも十分お手軽ではあるのですが、以下の理由で今回は見送りました。

#### バンドのイメージにあうテーマを見つけられなかった
少ない手間で一定レベル以上のUI/UXをもつサイトを素早く作れるところは、静的サイトジェネレータの強みのひとつです。一方でバンドサイトのように趣味性の高いデザインには適用しづらいな、というのが試用してみた印象です。

「合うテーマがなければ自分で作る」のも一つの回答ですが、残念ながらそこまで使いこなせてないです。

いっぽうで、ブログ型のサイトに向くことはわかったので、実はメンバブログだけHugo＋Netlifyに移行しています。

#### そもそもそんなにコンテンツ更新してない
Hugo＋Netlifyに手をだしたのは、サイトデザインがあまりにも古いため、最低限モバイル対応くらいのリニューアルはしておきたかったためです。

でも冷静にかんがえると、今は告知やファンとの交流の場はSNSに移って、Webサイトの更新をめっきりしなくなってしまいました。そのわりにリニューアルにはそれなりのパワーが必要なので、今回はあきらめました。移行するだけだったらHugo＋Netlifyにするまでもなかったです。

Hugo＋Netlify自体は素晴らしい組み合わせだとおもいます。いずれリニューアルするときに再検討したいです。

## カスタムドメインの設定方法
### 0. 事前準備
以下については良質な記事がほかにたくさんあるので、割愛します。

  - GitHub Pagesに静的サイトを設定・公開する
  - Route 53でドメインを取得する

### 1. GitHub Pages側
#### カスタムドメイン名の設定
- GitHubのリポジトリで「Settings」を選びます。
- 「GitHub Pages」欄の「Custom Domain」に、カスタムドメイン名を入力して「Save」ボタンを押します。ここではサブドメイン「www」を付与した形（ex. www.example.com）にします。
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33137/0a62371d-4867-d8e9-989f-0305e166692f.png)

#### HTTPSの有効化
- 「Custom domain」欄の下にある「Enforce HTTPS」チェックボックスをONにします。
![02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33137/09fe0478-57b1-0321-e54d-a5d3428f9c34.png)



注意：「Custom domain」の設定から24時間経過しないとチェックボックスがONにできないので、次の日に設定するのを忘れずに、気長にまちましょう。

### 2. Route 53側
#### ホストゾーンの作成
- AWSコンソールにログインし、Route 53を開始します。
![03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33137/735de8f4-9b3e-c4cf-8670-4a315fadce04.png)
- ホストゾーン作成を開始します。
![04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33137/a29f6acf-00f2-3aa2-6c8e-9ff8ae38192f.png)
- 「ドメイン名」欄に、先立って取得済のカスタムドメイン名（ex. example.com）を入力し、「ホストゾーンの作成」ボタンを押します。
![05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33137/fd383e37-31d9-1dcc-c18a-f006336e3381.png)
- 作成に成功すると、NSレコードとSOAレコードができます。
![06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33137/1dbf4c5c-3e4a-c4d3-c2f0-7956fe5e41ea.png)

#### CNAMEレコードの追加
- 「レコードの作成」ボタンを押し、ルーティングポリシーで「シンプルーティング」を選択して「次へ」ボタンを押します。
![07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33137/436da305-a71f-8f70-6c5a-00985f42edbf.png)
- 「シンプルなレコードを定義」ボタンを押します。
![08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33137/7135179c-727b-c541-22d4-848b82dbe4be.png)
- 以下を入力し、「シンプルなレコードを定義」ボタンを押します。
  - レコード名：「www」（www.example.comとなるようにする）
  - 値/トラフィックのルーティング先：レコードタイプに応じたIPアドレスまたは別の値
      - GitHub Pagesのデフォルトのドメイン名（リポジトリ名がhogeの場合、「hoge.github.io」）
  - レコードタイプ：CNAME
  - TTL（秒）：300（デフォルト）
![09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33137/10221775-0e52-7c28-c5c8-0348709b0573.png)
- 「レコードを作成」ボタンを押します。
![10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/33137/8a688d6e-216c-6e84-a899-1a22d6a8c0b7.png)




## これは余談かつインディーズバンドあるあるなんですが
活動が停滞したり休止に追い込まれたバンドのサイトはだいたいが悲しい末路を迎えます。

ふと思い出して知り合いのサイトを訪れると、リンク切れだったり、ドメイン更新切れであやしいアダルトサイトに転生していたりして悲しい気分になる経験が少なからずあります。同じ時代を共に活動した仲間としては切なくなりますね。

GitHub Pagesなら、すくなくとも金銭的理由でサイトが閉鎖されることはないでしょう。活動のペースが落ちているバンドも（まさに自分のバンドがそうなんですが）、サイト運営・維持にかかる負担を限りなく小さくできます。

不幸にして解散となっても、墓標として後世に事績を残すことができるでしょう。