Cloud Run に Strapi を

公開するまでを

フワッと説明してみる

Strapi は Headless CMS

Cloud Run とは?

コンテナを

サーバーレスで

実行するサービス

App Engine

Cloud Function

Cloud Run

ファンクションやイベント

コンテナ

アプリケーション

適切に選ぼう

それでは

strapi を Cloud Run に

公開するまでの手順を説明

の前に...

では、やっていきます

Docker イメージから

strapi をインストール

1

GCP にプロジェクトを作成

2

GCP サービスの有効化

3

  • run.googleapis.com

  • sql-component.googleapis.com

  • sqladmin.googleapis.com(不要かも)

  • compute.googleapis.com(不要かも)

  • cloudbuild.googleapis.com

  • secretmanager.googleapis.com

GCP 用のモジュールを追加

4

  • シークレットの取得
    @google-cloud/secret-manager

  • ストレージアップロード
    strapi-provider-upload-google-cloud-storage

環境変数として

GCP にシークレットを作成

5

  1. 環境変数を作りシークレットとして登録

  2. サービスにシークレットへのアクセスを許可

環境変数を作成する

スクリプトの追加

6

  1. Node.js で作成

    1. モジュールによりシークレットを取得

    2. 取得したシークレットを環境変数ファイルとして出力

Dockerfile を作成

7

  1. 環境変数作成スクリプトの実行と
    strapi の実行をするコマンドのシェルスクリプトを作成

  2. Dcokerfile を作成

    1. 本番環境の環境変数を設定

    2. strapi のインストールとビルドを実行

    3. 最終的に上記のシェルスクリプトを実行する

SQL を作成

8

  1. Cloud SQL のインスタンスを作成

  2. インスタンスにデータベースとユーザーを作成

  3. サービスアカウントに
    Cloud SQL クライアントのロールを追加

Cloud Storage に

バケットを作成

9

  1. Cloud Storage にバケットを作成

  2. バケットの CORS 構成ファイルを作成

  3. バケットに閲覧/書き込み権限を設定

アップロードファイルを

Cloud Storage に向ける設定

10

  1. 空のプラグインファイルを作成

  2. 本番環境用のプラグインファイルを作成

    1. 環境変数からバケット名を取得

    2. モジュールの仕様に合わせて設定

.gcloudignore を作成

11

コンテナイメージをビルドして

Container Registry に登録

12

Cloud Run に

コンテナをデプロイ

13

完了です!

あとやるとしたら...

  • ドメインマッピング

  • オートデプロイ

  • リージョンやスペックの調整

  • コールドスタートの対策

etc...

設定によってはかなり

安く試せるのでおすすめです

END

Cloud Run に Strapi を公開するまでをフワッと説明してみる

By Syuji Higa

Cloud Run に Strapi を公開するまでをフワッと説明してみる

  • 900