GitHub ActionsのSelf-Hosted RunnerをECSでオートスケーリングにより
OVERVIEW
プロジェクトの目的: GitHub ActionsのSelf-Hosted Runnerを、効率的なオートスケールが可能な構成で実装することを目指しました。 アーキテクチャの選定: EKSとECSの中から最適なプラットフォームを選定するための調査と分析を担当。
■プロジェクトの役割
- 副業先での実装担当者: アーキテクチャの選定から実装までの全工程をリード。プロジェクトのリードエンジニアとして技術的な決定を行い、実装作業を主導。
- プロジェクトオーナー (PO): 副業先のプロパー社員が担当。プロジェクトの最終決定者として全体の方向性と責任を担う。
■技術スタック
- クラウド: AWS (ECS on Fargate, CodeBuild, AppRunner, SSM Parameter Store)
- CI/CD: GitHub Actions
- プログラミング言語: Golang
■実装のこだわりポイント
- マルチアーキテクトビルド: GitHub AppからのWebhookを利用し、AppRunnerのエンドポイントにGolangで対応。Workflowのラベルに応じたビルド先(fargate x86_64, fargate arm64, codebuild x86_64, codebuild arm64)を振り分ける設計を実装。
- エフェメラル運用: Workflowごとにコンテナを起動し、完了後に停止。これによりオートスケールに対応し、リソースの効率的な利用を実現。
詳細はQiitaに記事にしてますので、参照ください
https://qiita.com/moimoi_qiita/private/9cdc59e2a9fe436eaba8