Infrastruktura serwerów gry klienta umożliwiała graczom bezpośrednie łączenie się z poszczególnymi instancjami serwerów, co wymagało prawidłowej konfiguracji SSL/TLS na każdej maszynie. Ponieważ gra była już w dojrzałej fazie, rozwiązanie musiało być w pełni zautomatyzowane, bez konieczności ręcznych aktualizacji czy wdrożeń kodu.
Nasze rozwiązanie
- Usługa zarządzania certyfikatami – Stworzyliśmy dedykowany Service, który cyklicznie request-ował nowe certyfikaty za pomocą Certbot-a i wysyłał je do bezpiecznego storage.
- Integracja z serwerami gry – Wdrożyliśmy usługę działającą na każdym serwerze gry, która codziennie sprawdzała dostępność nowych certyfikatów i w razie potrzeby przeładowywała serwery w sposób bezprzerwowy (nie przerywając aktywnych połączeń graczy).
- Monitoring stanu (Health Check) – Opracowaliśmy system zaplanowanych testów, który kilka razy dziennie sprawdzał certyfikaty na wszystkich serwerach i wysyłał powiadomienia przez Slack oraz e-mail o certyfikatach wygasłych lub zbliżających się do wygaśnięcia.
Wykorzystane technologie:
AWS EC2, AWS Lambda, AWS SNS, Linux, Bash, TypeScript, Nginx