sakito-infra

SAKITOインフラ移行

詳細はqiitaで語ってます!

What is SAKITO?

SAKITOは私が所属している学生団体「Cirkit」が開発・保守をしている学内向けアプリです。 学生などが作成したアンケートを他の学生が回答することで、ポイントがもらえます。 そのポイントを使用してガチャを回し、当たると学食や学内コンビニの一部商品の無料券がもらえます。

今回は、 PaaSからAWSへの移行 を実施しました。

担当

移行リーダー / インフラ

技術スタック

  • AWS
    • CDK(TypeScript)
    • App Runner
    • RDS
    • EC2
    • etc.

工夫した点

今までの開発スタイルをそのままに

以前まで使用されていたPaaSは、githubリポジトリのmainブランチにマージされたら自動的にデプロイされる機能がありました。 App Runnerにも同じ機能はありますが、versionの問題で実行できませんでした。

そこで、ECR上のイメージを取得してビルドする形式に変更し、同時にリポジトリのmainブランチにマージされたら自動的にECRにイメージをビルド、pushするGHAを構築しました。

一貫したインフラへ

CDKのdeployはローカル上でもできますが、もしメンバーが別々にデプロイしたら衝突が起こりますし、本番環境では起こしてはいけません。

そのため、ステージング環境、本番環境ともに、特定のブランチにマージされたら自動的にAWS環境に反映させるGHAを構築しました。

引き継ぎをしやすく

AWSはその幅広い領域から、引き継ぎが非常に難しい領域だと感じています。 特に学生団体は最短4年間しかいれません。 そのため、引き継ぎをしやすくするため、ドキュメントを充実させています。

また、技術スタックを少しでも減らすため、そこまでクセのないTypeScriptをCDKの言語として選択しました。