本レポジトリでは、Terraform により自動で Google Cloud のリソースを立ち上げ、Dify を高可用構成でデプロイすることが可能です。
- サーバーレスホスティング
- オートスケール
- データ永続化
- Google Cloud アカウント
- Terraform インストール済み
- gcloud CLI インストール済み
- 必要なAPIの有効化 (Serverless VPC Access, Service Networking, etc.)
terraform/environments/dev/terraform.tfvars
ファイルで環境固有の値を設定します。
Warning
セキュリティ警告: terraform.tfvars
の取り扱い
リポジトリ内の terraform/environments/dev/terraform.tfvars
は テンプレート です。実際の値 (プロジェクトID, 機密情報, 安全なパスワード) はローカルで設定してください。
❗️ 機密情報を含む terraform.tfvars
を Git にコミットしないでください。 重大なセキュリティリスクとなります。
誤コミット防止のため、すぐに *.tfvars
を .gitignore
に追加してください。安全な管理には環境変数 (TF_VAR_...
) や Google Secret Manager 等の利用を推奨します。
- terraform stateを管理する用のGCSバケットを事前に作成し、
terraform/environments/dev/provider.tf
ファイルの "your-tfstate-bucket" を作成したバケット名に書き換えます。
-
リポジトリをクローン:
git clone https://github.com/DeNA/dify-google-cloud-terraform.git
-
Terraformを初期化:
cd terraform/environments/dev terraform init
-
Artifact Registry リポジトリを作成:
terraform apply -target=module.registry
-
コンテナイメージをビルド&プッシュ:
cd ../../.. sh ./docker/cloudbuild.sh <your-project-id> <your-region>
また、dify-api イメージのバージョンを指定することもできます。
sh ./docker/cloudbuild.sh <your-project-id> <your-region> <dify-api-version>
バージョンを指定しない場合、デフォルトで最新バージョンが使用されます。
-
Terraformをプランニング:
cd terraform/environments/dev terraform plan
-
Terraformを適用:
terraform apply
terraform destroy
注意: Cloud Storage、Cloud SQL、VPC、およびVPC Peeringは terraform destroy
コマンドで削除できません。これらはデータ永続化のための重要なリソースです。コンソールにアクセスして慎重に削除してください。その後、terraform destroy
コマンドを使用してすべてのリソースが削除されたことを確認できます。
このソフトウェアはMITライセンスの下でライセンスされています。詳細はLICENSEファイルを参照してください。