HTML/CSS/JavaScriptや、画像/動画/音声などのメディアコンテンツのみで構成されたwebサイトを構築するなら、Firebase Hostingを使用するという手段が用意されています。Firebase Hostingでwebサイトを作るとデフォルトのドメインが割り当てられるので、コンテンツさえ作ればすぐにwebサイトの運用が可能になります。デプロイしたコンテンツはCDNにも登録されるので、ユーザはアクセスが快適という特徴があります。
Firebase Hostingでもカスタムドメインでwebサイトを公開することが可能です。その手順は「カスタムドメインを接続する」に書かれているとおりで、Firebaseのコンソールから簡単にできます。
今回の記事は、Firebase Hostingで公開したサイトに一度接続したカスタムドメインを、解除してみたときの体験です。
ダッシュボードが行方不明
まず最初に遭遇したのが「Firebase Hostingのダッシュボードがどこにあるのかわからなくなった」という問題。カスタムドメインの接続を試したときは、手順どおりで以下のキャプチャの様なダッシュボードを表示できていました。(このキャプチャはカスタムドメインに未接続です)
その後日、試したカスタムドメインを解除しようと思い、同じリンクをたどったのですが、今度は以前の様なダッシュボードが表示されません。以下のキャプチャの様にFirebase Hostingの開始の案内が表示されます。先日設定したサイトはどうなったの?
実はこのページは、シングルページで開始の案内からダッシュボードまで同じURIで実装されています。そしてフラグメントにも対応していないので、開始の案内もダッシュボードも全く同じURIとなります。
ダッシュボードにたどり着くには、ページを表示する度に以下の手順を踏む必要がありました。
- 「始める」ボタンを押す。
- 「Firebase Hostingの設定」は説明だけなのでどんどん進めて、
- 「Firebase Hostingへのデプロイ」にある「コンソールに進む」を押す。
- めでたくFirebase Hostingのダッシュボードが表示される。
開始の案内や手順の説明は1回でいいと思うのですが、毎回これらを見なければならない実装はいかがなものでしょう。ちなみに言語を英語に変えても同様です。「始める」ボタンを押すと「Firebase Hostingの設定」が右からフェードインして来るので、シングルページだと分かるだろうという思い込みで作られているようですが、このアニメーションを見ていなければ理解できません。シングルページアプリケーションは昨今のトレンドですが、このページの作りはトラップですね。
ここまで来ると、カスタムドメインのメニューからドメイン編集/削除を選べるようになります。
ダッシュボードの表示方法がわからなくてFirebaseのサポートに英語で質問したのですが、自分で見つけてしまいました。ついでにサポートに確認したところ「この手順でいい」みたいな返事があったので、手順は間違っていないはずです。
ダッシュボードはFirebase Hostingのアプリがあればデフォルトで表示されました。この「ダッシュボードが行方不明」に気付いたのは、一度作成したFirebase Hostingアプリを削除した後でしたので、気付きませんでした。
謎のアクセス
やっとカスタムドメインの設定を解除し、そのドメインにはGAEアプリのURIを設定しなおしました。しばらくしてGAEアプリのプロジェクトのCloud Loggingに、以下のようなログが残っていることに気付きました。
リクエストされているパスは以下のとおり。15分間隔で2回ずつ、1日中アクセスが続きます。
/.well-known/acme-challenge/XXXXXXXXXXXXXXXXXXX
もちろん自分でこんなアクセスした覚えはありません。というかユーザエージェントとして「Google-Firebase...」って。
これについてFirebaseのサポートに確認したところ、「すでにカスタムドメインの解除は行われていて、このリクエストはそのうち停止する」との回答がありました。Firebase Hostingがこのアクセスを行っている理由は「カスタムドメインの接続先を変えたりした場合に、新しいSSL証明書が再プロビジョニングされるのを待ったり、証明書の作成プロセス全体を再度実行したりしなくていいように」とのことでした。
上記のアクセスが実際に停止したのは、カスタムドメインの設定を解除してから4週間後でした。けっこう長いです。