この記事では、dbt のドキュメントを Cloud Run でホスティングする方法について紹介します。
Cloud Run の Docker イメージはCloud Run Jobs で dbt を定期実行する方法で紹介しているものを使用します。
構成
この記事で作成する環境です。
Cloud Run 上で dbt docs をホスティングし、前段に Load Balancing を配置して IAP 認証を実装します。
これにより、特定のメンバーだけが dbt docs を閲覧できる環境を作成できます。

実装
Github Actions
まずは Cloud Run をデプロイする Github Actions を作成します。
Cloud Run Jobs で dbt を定期実行する方法で紹介している Github Actions のUpdate Cloud Run Jobs
を以下のコードに差し替えてください。

備考
次に、terraform を使用して、その他環境構築を行います。
IAP 権限付与
Github Actions で Cloud Run、Terraform で Load Balanging や IAP を作成できたら、roles/iap.httpsResourceAccessor
をアクセスを許可したいユーザまたはグループに付与します。
ドキュメント確認
実際に dbt docs を確認するため、Certificate に登録したドメインにアクセスしてみます。
許可されたアカウントの場合は dbt docs を閲覧できました。

許可されていないアカウントの場合は認証を求められます。

また、http アクセスや、Cloud Run のエンドポイントに直接アクセスした場合も、もちろんアクセスはできません。
まとめ
Cloud Run に IAP 認証を付けることで、セキュリティを担保しながら Google Cloud 上で dbt docs をホスティングすることができました。
Cloud Run Jobs で dbt を定期実行する方法と合わせて使用することで、dbt の実行から docs のホスティングまで Cloud Run で管理することができます。
参考

備考
Hakky ではエンジニアを募集中です!まずは話してみたいなどでも構いませんので、ぜひお気軽に採用ページからお問い合わせくださいませ。
