CodeBiting / onion-cargo-loading-service

Servei per determinar quin contenidor fer servir i com s'han de disposar els elements a dins
MIT License
1 stars 4 forks source link

Desplegament en entorn de producció 3: CloudSQL + Cloud Run + API Gateway #44

Open jordidh opened 1 year ago

jordidh commented 1 year ago

Obectiu Desplegar l'aplicació serverless a Google amb CloudSQL, Cloud RUN i amb una API Gateway

Solució Configurar des de Google un procés de desplegament i actualització automàtic a Cloud Run cada vegada que es faci un commit a la branca master del projecte. Configurar una API gateway per accedir al servei a partir de API KEY

A mes a mes Estudiar com fer servir diversos nivells de caché Estudiar com reduir costos:

https://towardsdatascience.com/how-to-connect-to-gcp-cloud-sql-instances-in-cloud-run-servies-1e60a908e8f2

jordidh commented 1 year ago

Per desplegar primer crear la BD al cloud:

  1. Crear una BD SQL: MySQL
  2. Posar un nom al servidor de BD
  3. Crear una contrasenya per l'usuari root de la BD
  4. Crea un usuari nou des del cloud
  5. Crea un esquema per la BD des del cloud (si no es crea fallarà la conexió ja que no permet connectar sinó hiu ha BD d'usuari, amb bd de sistema i prou no es pot connectar)
  6. Authorize your VM to connect to your MySQL instance
  7. Connecta amb un client mysql i crear l'esquema i les dades
Autoritza la xarxa client
=========================
After your MySQL instance has finished creating, add your VM's external IP as an authorized network:
Click Connections.
On the Connections page, click the Networking tab
Click Add a network.
Enter a Name of your choice, then in the Network box enter the static IP address of your VM.
Click Done, then click Save.
Click Overview.
In the Connect to this instance card, copy the Public IP address and save it.
You should now have two IP addresses recorded: one for your VM, the other for your MySQL instance.

https://cloud.google.com/sql/docs/mysql/connect-instance-cloud-run

jordidh commented 1 year ago

Després crear els secrets (el fitxer config.js):

https://cloud.google.com/run/docs/configuring/services/secrets

You can make a secret available to your containers in either of two ways:

jordidh commented 1 year ago

Finalment crea el servei a Cloud Run:

jordidh commented 1 year ago

Comandes per consultar els serveis desplegats a cloud run:

gcloud run services list --project=cargo-loading-project gcloud run services describe onion-cargo-loading-service --project=cargo-loading-project --region=europe-west1