Migrate production server to GCP load balancers w/ Google-managed SSL certs
- Vorherrschende Sprache
- Haskell
- Sterne
- 1.3k
- Forks
- 201
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Currently, the production CodeWorld server runs on a GCP Compute Engine instance with a static IP address, proxies the `codeworld-server` and `codeworld-game-server` binaries behind nginx, and runs certbot to keep the SSL certs up-to-date that are used by the nginx instance on the same server. This is a complex setup, with [detailed instructions](https://github.com/google/codeworld/blob/master/ServerSetup.md) that try to help with the setup process, but in practice are out of date. I'm afraid to set up a server from scratch, so I keep cloning and modifying the existing server instead.
Here's a better idea: the production server ONLY runs `codeworld-server` and `codeworld-game-server`, each on their own ports. These instances don't have public IP addresses at all. I use a standard GCP HTTPS load balancer with a Google-managed certificate (basically the same as a certbot certificate) to proxy access from the outside world. Much easier to set up, and trivial to scale to more build servers if necessary.
Beitragsleitfaden
Rechercherichtung
Beginnen Sie mit ServerSetup.md und überprüfen Sie die aktuelle Produktionskonfiguration für nginx, certbot, codeworld-server und codeworld-game-server. Definieren Sie die Konfiguration für den GCP HTTPS load balancer und das Google-managed certificate und verifizieren Sie anschließend, dass beide Dienste ohne öffentliche IPs ausgeführt werden können und der externe Zugriff über den load balancer funktioniert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- gcp, nginx
- Bereich
- cloud, devops, infrastructure
- Issue-Typ
- Refactoring
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100