TechTrain MISSION オンライン版 CA Tech Dojo サーバサイド (Go)編 のリポジトリ。
スマートフォン向けゲームのAPIの開発を想定。
API仕様YAML: https://github.com/ShinnosukeSuzuki/techtrain-mission-ca-tech-dojo-golang/blob/main/api-document.yaml
作成したAPIは以下の6つ。
AWS ECS on Fargateを使ってデプロイした。
インフラ構成の詳細: https://github.com/ShinnosukeSuzuki/techtrain-mission-ca-tech-dojo-golang/blob/main/infra/game-api-infrastructure/game-api-infrastructure.md
CICDにはAWS CodePipelineとCodeBuildを使用した。
mainブランチへのpushをトリガーとし、mdファイルやinfraディレクトリの変更はトリガーから除いた。
具体的には以下を実行する
go api サーバーのサイドカーにNode exporterを置くことでtaskのメトリクスを取得し、ローカルのPrometheusで収集、Grafanaで可視化した。
Go(1.22.4), Echo(4.12.0), MySQL(8.0), AWS ECS, AWS RDS, AWS CodePipleline, AWS CodeBuild, AWS CDK, Prometheus, Grafana