メインコンテンツまでスキップ

2. APIサーバーを設置する (Heroku)

注意

この解説ページは、Heroku の無料枠の廃止に伴い更新を停止しました。Heroku の代替となる無料サービスに fly.io があります。fly.io を用いて設置する方法に関してはこちらの解説ページをご覧ください。

このページで紹介している 「Deploy to Heroku」ボタンは、今後リリースするバージョンの Flocon では提供されない予定です。Heroku へのデプロイ自体はおそらく引き続き可能だと思われます。

このページでは Heroku に API サーバーを設置する方法を説明します。

Heroku について

Heroku は、クラウド上にサーバーを設置できる、比較的老舗のサービスです。無料で運用できるのと、専門的な知識がなくても比較的楽に設置できるのが特徴です。

Heroku アカウントを用意する

もし Heroku アカウントを持っていない場合は、Heroku のサイトからアカウントを作成してください。

API サーバーを設置する方法

リリース一覧から、設置したい API サーバーのバージョンを探し、「Deploy to Heroku」というボタンをクリックします。基本的には「Deploy to Heroku」というボタンがあり、なおかつ Pre-release が付いていないものの中から最新のバージョンを選べば大丈夫だと思います。

「Deploy to Heroku」ボタンをクリックすると、下のような画面が表示されると思います。

deploy_to_heroku.png

設定する場所は、App nameENTRY_PASSWORDFIREBASE_ADMIN_SECRETの 3 ヶ所です。

App nameには自分がわかりやすい名前を入力します。

Choose a regionは、日本国内からの利用が多そうであれば United States のままで問題ありません。

必要であれば、ENTRY_PASSWORDからエントリーパスワード(自鯖に入るときの合言葉)を変更してください。初期値はfloconとなっています1

FIREBASE_ADMIN_SECRETには、Firebase Admin SDK の秘密鍵ファイルの中身をそのまま入力してください。秘密鍵ファイルは次の方法で取得できます。

Firebase の プロジェクトの設定(Firebase 管理ページ左上にある歯車アイコンから開けます) の サービスアカウント タブの下の方にある新しい秘密鍵の生成ボタンをクリックすることで秘密鍵ファイルのダウンロードが開始されます。

1.png

危険

秘密鍵を生成する際に表示されるメッセージにもあるとおり、秘密鍵のデータは第三者に漏洩しないように注意して管理してください。

以上で App nameConfig Vars の設定は完了です。App nameConfig Vars の内容は後からでも変更できます。

最後にDeploy appボタンを押すことで API サーバーのセットアップが自動的に始まります。完了するまで数分程度かかります。

完了したら、画面下部に表示されるViewボタンを押してみましょう。「API サーバーは稼働しています 😊」という画面が表示されていれば成功です。この画面の URL(デフォルトではhttps://***.herokuapp.com/のような形式です)は後で Web サーバーの設定に用いるので、どこかにメモしておくと後の手間が少し省けます。

Heroku に課金する際の注意点

Heroku は無料で利用できますが、課金することで API サーバーの性能をアップグレードすることも可能です。ただし、適切な課金の設定を行わない場合、アップグレードの恩恵をほとんど受けられないことがあるので注意する必要があります。

「Deploy to Heroku」ボタンから API サーバーを設置した場合、Heroku Postgres の Hobby Dev プラン(無料プラン)が合わせて自動的に設定されます。Heroku Postgres は Heroku 公式のアドオンですが、Heroku のプランと Heroku Postgres のプランは別体系です。そのため、例えば Heroku Postgres がボトルネックになっているにも関わらず Heroku のプランをアップグレードしてもあまり効果は得られませんので、課金する際は注意してください。

Footnotes

  1. APIサーバー v0.7.1 までは初期値はfloconではなくhi-floconでした。