GitHub ActionsのSelf-Hosted RunnerをECSでオートスケーリングにより

OVERVIEW

プロジェクトの目的: GitHub ActionsのSelf-Hosted Runnerを、効率的なオートスケールが可能な構成で実装することを目指しました。 アーキテクチャの選定: EKSとECSの中から最適なプラットフォームを選定するための調査と分析を担当。

YEAR 2022 - 2023

■プロジェクトの役割

  • 副業先での実装担当者: アーキテクチャの選定から実装までの全工程をリード。プロジェクトのリードエンジニアとして技術的な決定を行い、実装作業を主導。
  • プロジェクトオーナー (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