You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.4 KiB
Markdown
57 lines
1.4 KiB
Markdown
# Configuração para Cloud SQL Proxy (Optional)
|
|
|
|
Para usar Cloud SQL em vez de PostgreSQL local:
|
|
|
|
## 1. Instale o Cloud SQL Proxy
|
|
|
|
```bash
|
|
sudo curl https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -o cloud_sql_proxy
|
|
sudo chmod +x cloud_sql_proxy
|
|
```
|
|
|
|
## 2. Crie uma Service Account
|
|
|
|
```bash
|
|
# No Cloud Console ou via gcloud
|
|
gcloud iam service-accounts create cloudsql-proxy \
|
|
--display-name="Cloud SQL Proxy"
|
|
|
|
# Dê permissões
|
|
gcloud projects add-iam-policy-binding PROJECT_ID \
|
|
--member="serviceAccount:cloudsql-proxy@PROJECT_ID.iam.gserviceaccount.com" \
|
|
--role="roles/cloudsql.client"
|
|
```
|
|
|
|
## 3. Configure Variáveis de Ambiente
|
|
|
|
```env
|
|
# Opção A: Unix Socket (recomendado)
|
|
DB_HOST=/cloudsql/PROJECT_ID:REGION:INSTANCE_NAME
|
|
|
|
# Opção B: TCP
|
|
DB_HOST=127.0.0.1
|
|
DB_PORT=5432
|
|
```
|
|
|
|
## 4. Inicie o Proxy
|
|
|
|
```bash
|
|
./cloud_sql_proxy -instances=PROJECT_ID:REGION:INSTANCE_NAME=tcp:5432 \
|
|
-credential_file=/path/to/service-account-key.json
|
|
```
|
|
|
|
## 5. No Cloud Run
|
|
|
|
A variável DATABASE_URL deve ser:
|
|
|
|
```
|
|
postgresql://user:password@/cloudsql/PROJECT_ID:REGION:INSTANCE_NAME/database
|
|
```
|
|
|
|
O Cloud Run injeta automaticamente a credencial da service account do projeto.
|
|
|
|
## Referência
|
|
|
|
- [Cloud SQL Proxy Docs](https://cloud.google.com/sql/docs/postgres/cloud-sql-proxy)
|
|
- [Cloud SQL Python Connector](https://github.com/GoogleCloudPlatform/cloud-sql-python-connector)
|