人生100年!生涯エンジニア人生!

楽しいエンジニア人生!

.devドメインを取得したので、サクッとFirebaseでホスティング

Firebaseでホスティングしなくても絶対やって!!

Google domainsのデフォルト設定ではDNSSECが無効です、以下のように有効にしてください。
マイドメイン、購入ドメインDNSで、DNSSECを有効にしてください。
f:id:hideaki_kawahara:20190303112556p:plain
DNSSECが無料で使えるGoogle domainsでDNSSECを有効にしないのは損ですよ!!

概要

Google domainsを使って .devドメインを取得した方は多いと思います。
domains.google
そして取得しただけで何もしていない方も多いと思います。
それなら、Firebaseを使って簡単にホスティングしちゃえばいいと思います。
firebase.google.com

Firebaseの準備

上記サイトから、右上の「コンソールへ移動」を押下します、色々とでますが、Firebase へようこその画面になりましたら、「プロジェクトを追加」を押下します。
プロジェクト名は適当につけて、日本リージョンを選択して「プロジェクトを作成」を押下する。
f:id:hideaki_kawahara:20190303001229p:plain
プロジェクトが作成されたら、左のメニューから「Hosting」を押下し「使ってみる」を押下します。
f:id:hideaki_kawahara:20190303002055p:plain
デプロイ方法が出るので、適当に「次へ」を押下して進めます。
f:id:hideaki_kawahara:20190303002313p:plain

Firebaseでデプロイ

ローカルマシンにNode.jsの環境があれば、ターミナルなどを立ち上げて $ npm install -g firebase-tools でツールを入れます。
そしてFirebaseの環境を作ります、まずはターミナルでログインします。

$ firebase login

? Allow Firebase to collect anonymous CLI usage and error reporting information?と聞かれるのでYを選択します。
Webで認証するので、該当のアカウントを選択して許可をします。
ログインが終わったら、プロジェクトを追加で追加したプロジェクト名でディレクトリーを作成し、Firebase環境を初期化します。

$ mkdir sugoi-dev
$ cd sugoi-dev/ 
$ firebase init

Firebaseの初期化メッセージが表示されます、あとは画面の指示に従って進めていきます。
◯ Hosting: Configure and deploy Firebase Hosting sitesをスペースで選択してエンターを押下します。
[don't setup a default project]を選択してエンターを押下します。
? What do you want to use as your public directory? (public) こちらはそのままエンターを押下します。
? Configure as a single-page app (rewrite all urls to /index.html)? (y/N) こちらもそのままエンターを押下します。
作成されたら、public/index.html を適当なのに書き換えます。

$ echo  "sugoi.dev" > public/index.html 

あとはデプロイだけです。

$ firebase deploy --project sugoi-dev

FirebaseとGoogle domainsを紐付ける

ここから、Firebaeの画面とGoogle domainsの画面を行き来します。

Firebaeの画面

Firebaeの画面に戻り、右上の「ドメインを接続」を押下します。
f:id:hideaki_kawahara:20190303012053p:plain
取得した.devドメインを入力します。
f:id:hideaki_kawahara:20190303012207p:plain
ドメインの所有権確認画面がでますので、コードをコピーしておきます。
f:id:hideaki_kawahara:20190303012337p:plain

Google domainsの画面

Google domainsの画面を開きマインドメインから、DNSを選択し一番下の「カスタム リソース レコード」に先ほどのコードを入力し、タイプは「TXT」を選び、TTLは「1M」を入れ「追加」を押下します。
f:id:hideaki_kawahara:20190303012627p:plain

Firebaeの画面

DNS反映に1分ぐらい待ってから、Firebaeの画面に戻り、「確認」を押下します、うまくいくとクイックセットアップ画面が出るので、そこに表示されているIPアドレスは後で使います。
f:id:hideaki_kawahara:20190303013615p:plain

Google domainsの画面

Google domainsの「カスタム リソース レコード」画面に戻り、タイプは「A」を選び、先ほどのIPアドレスを入力する。
ここで注意!2個分のIPアドレスを入力するとき「追加」ボタンの前に「+」があるので、+を押して2行分の入力欄にしてからIPアドレスを入力してから「追加」を押下します。

Firebaeの画面

Firebaeの画面に戻り、画面を更新すると、ステータスが「保留中?」になります、ここからかなり待ちます、気長に待ちましょう。
f:id:hideaki_kawahara:20190303014754p:plain

2時間ぐら待つと、ステータスが「接続されています」変わります、これで完了です。
f:id:hideaki_kawahara:20190303091841p:plain

料金

Firebaeの料金ですが、取り置き程度ならSparkプランで大丈夫なので0円で済みます。
f:id:hideaki_kawahara:20190303111438p:plain
つまり、ドメインの1年間の料金1,512円(税込)だけで済みます。

SSL/TLS OK

出来上がったサイトを確認すると、きちんとSSL/TLSサイトとして動いております。
Let's Encrypt で発行され、この更新もFirebaseが勝手にやってくれます、楽ですよね。
f:id:hideaki_kawahara:20190303111913p:plain
余談ですが、Google Chromeにおいて.devのサイトはデフォルトでSSL/TLSでつなぎにいこうとします、SSL/TLSの発行までやらないと無意味ですので、ご承知ください。