Firebase #2 Advent Calendar 2019 - Day 6

ふうせん🎈 Fu-sen. と申します。

一時このブログを Firebase Hosting で運用していた事があります。
無料で使える Spark プランの存在に気が付き、課金される心配なく、
独自ドメインが設定できて、月の容量 1GB、転送 10GB 使える!
安心して使えるクラウドサービスだったのです。
はやく気がつけば良かった~~~!!

従量制の Blaze プランは Spark プランの無料使用量が含まれています。
また、Spark プランだとプロジェクト数があまり作成できませんが、
(ドキュメントによると、およそ 5~10 となっています)
Blaze プランはより多くのプロジェクトを作成できるようになっています。
Spark プランの場合、上限に達すると停止の恐れがありますが、
Blaze プランであれば、課金が発生しても停止の恐れはなくなります。
そのため、無料前提でも Blaze プランで使っている人もいるようですね。

開発者でなくても、Web サイトを公開する目的で
Firebase Hosting は使える選択肢の一つだったのです。
という事で、プログラム書いて飯食ってる人ではないんだけど、
そういう人でも使えるサービス Firebase Hosting について記事にしてみました。


デフォルトで使えるサブドメイン

コンソールからプロジェクトを作成し、Hosting を選びます。
最初は 始める を選んで、手順を進めていく事になり、
いずれこの画面に落ち着きます。

Hosting 画面

最初から参照できるアドレスが存在しているのですが……

ドメイン のところ

拡大してみると……

更に ドメイン を拡大

二つできています。ここで、アレ? という人がいるかもしれません。
昨年はこの部分 ~.firebaseapp.com のみだったのですが、
今年新たに ~.web.app も使えるようになりました。
すでに立ち上げているプロジェクトでも有効です。

.app ドメインは Google Registry によって提供されています。
なので、web.app というドメインが提供できる状況にできたのですね。

なにか ~.web.app で良いサブドメインが使えそう…… 🤩キラリ
……という人もいると思いますが、あまり期待しない方が良いです。
サブドメイン名は Firebase のプロジェクト ID そのものになるのですが、
すでに Firebase で数多くのプロジェクトが立ち上がっています。
更にこのプロジェクト ID は Google Cloud Platform とも共通です。
(Google Cloud Platform のプロジェクトを Firebase で使う事もできます)
つまり、Google Cloud Platform で使われているプロジェクト ID も使えません。
そのため、単純な名称はまず使用できなくなっています。
プロジェクト数の制限もあるので、
使用しないプロジェクトの作りすぎにもご注意下さい。

でも、自分はこの ~.web.app を使う前提で、
独自ドメインで運用していたこのブログなどを
他のサービスに移してしまっています 😅


もう一つ紹介しておきたい事があります。
独自ドメインを追加しますよね。サブドメインも使えるのですが……

独自ドメイン を追加すると

この時リダイレクトの設定も可能になっています。
これですが www. ありから を www. なしへの転送、
逆に www. なしから www. ありへの転送を想定しているようです。
これをしておかないと検索結果が意図しない状態になる事も……
しかし、ここにはそれ以外のサブドメインや
複数の独自ドメインを追加する事もできます。
以前だと設定ファイルで行う必要があったのですが、
現在は Web ブラウザからコンソール上で容易に設定できるようになっています。

独自ドメインの転送を行いたくて、探したら、
Firebase Hosting で簡単に設定できたという。一時これも使ってました。


Advent Calendar 2019 をいろいろと見ていて、
ふと参照した外部のブログ記事、よく見て気が付きました。
静的サイトジェネレータ Hugo を使っていると!(このブログも Hugo です)
テーマがまさしく Hugo で公開されているテーマでした。
更にそのブログの過去記事を見て、
Firebase Hosting を使用していた事もわかりました。

Hugo は hugo コマンドで public 内へ公開ファイルを生成します。
Firebase を使っている人なら、あ~! と思うでしょう。
firebase init コマンドでプロジェクトファイルを生成すると、
Firebase Hosting のデフォルトは public なのです。
そのため、共通で使う事ができます。デプロイは次の通り。

hugo
firebase deploy

まぁ、Git リポジトリへ git push して、
そこから自動デプロイしているのが、今の流行でしょうか。

アプリに関係なく、個人的にちょっとした Web サイトを構築する目的でも、
クラウドサービス Firebase は十分に使えます。


Firebase #2 Advent Calendar 2019

Firebase #2 Advent Calendar 2019 | Qiita