DC4

QRコードジェネレータをGKEからFirebase + Herokuに移行した。

GKEからFirebase + Herokuへ

yasun.hatenablog.jp

こちらで作成したQRコードジェネレータを運用しているGCPの無料期間が切れてしまったため、移動先のホスティング先を検討していたところ、FirebaseとHerokuを組み合わせれば無料かつ簡単に移行できそうだったので実施しました。

Docker on Heroku

Goで書かれたAPIをHeroku上のDockerコンテナに移行しました。

jp.heroku.com

公式の手順以外でやったこと

  • Herokuデプロイ用のDockerファイルを新規作成
  • 起動時はコマンドライン引数でポート番号を受け取りListenするように修正

注意点としては Listenするポート番号はHeroku側から指定された値を使う必要があるという点です。

expose も使用することができません。

deploy heroku · yassun/crypto-qrcode-generator@59d7d0b · GitHub

Vue.js on Firebase Hosting

既存ではコンテナ上でbuildしたVue.jsをNginxに配置していたのですが、配置先をFirebase Hostingに向けただけで特に何もしていないです。

$firebase init hostingの際に public directory の場所を聞かれるので build先(デフォルトはdist)に合わせるくらいでしょうか 。

deploy firebase · yassun/crypto-qrcode-generator@c2acb19 · GitHub

まとめ

フロントとバックエンドをそれぞれ別のコンテナにしていたことからホスティング先の選択肢が選べ、想定以上に簡単に移行することができ、コンテナベースで開発する恩恵を感じました。

無料枠では制限があるものの、検証用または簡単なサービスであれば十分すぎる環境かなと思います。

https://crypto-qrcode-generator-web.firebaseapp.com/