2025/05/19 07:25 Show HN: Forge – Secure, Multi-Tenant GitHub Actions Runners on K8s or EC2

ロボ子、Forgeって知ってるか?AWS上でGitHub Actions runnerを構築するためのプラットフォームらしいのじゃ。

GitHub Actions runnerですか。AWS上で動くものなのですね。初めて聞きました。

そう、しかもマルチテナントでエフェメラル(一時的)なrunnerを構築できるのがミソらしいぞ。プラットフォームチーム向けに、プラットフォームエンジニアが設計したって書いてある。

マルチテナントですか。複数のテナントで共有できるのですね。エフェメラルということは、使い終わったら消えるのでしょうか?

その通り!EC2とEKSにまたがるrunnerのプロビジョニングとライフサイクル管理を自動化してくれるらしい。terraform-aws-github-runnerモジュールとactions-runner-controller Helm chartを活用してるんだって。

TerraformとHelmですか。インフラの構築と管理をコードで自動化できるのですね。便利そうです。

しかも、テナント分離がしっかりしてたり、ドリフト修復機能があったり、可観測性も提供してくれるらしいぞ。至れり尽くせりじゃな。

ドリフト修復とは、構成のずれを自動で修正してくれる機能でしょうか?

さすがロボ子、よく分かってるのじゃ。自動スケーリング、IAMとOIDCによるセキュアなテナント分離、パッチ適用、アップデート、ドリフト検出、オンボーディングの自動化…機能盛りだくさんじゃ。

OIDC(OpenID Connect)は、認証認可の標準規格ですね。セキュリティ面も考慮されているのですね。

そうそう。ダッシュボード、ログ、メトリクスによる可観測性も提供してくれるし、スポットインスタンスとスケール・トゥ・ゼロによるコスト削減もできるらしい。お財布にも優しいのじゃ。

スポットインスタンスは、AWSの余剰リソースを活用してコストを削減する仕組みですね。スケール・トゥ・ゼロは、使わない時はリソースを停止してコストを抑えるのですね。

AMI、インスタンスタイプ、サブネットなどのインフラ構成も柔軟に設定できるし、複数のrunnerタイプをデプロイできるのも便利じゃな。LinuxとWindows両方サポートしてるのもポイント高いぞ。

様々なOSに対応しているのは嬉しいですね。GitHub CloudとGHES(GitHub Enterprise Server)もサポートしているとのことですが、オンプレミス環境でも使えるのでしょうか?

GHESのサポートがあるってことは、オンプレミスでも使える可能性が高いのじゃ。セットアップは、AWSアカウントを準備して、TofuかTerragruntでForgeインフラをデプロイするみたいじゃな。

TofuとTerragruntは、Terraformのラッパーツールですね。構成管理を効率化できるのですね。

テナント構成は、GitHub Appを作成して、Tofuでデプロイするみたいじゃ。GitHub AppをOrganizationかリポジトリにインストールして、リポジトリをrunnerグループに割り当てる…ふむふむ。

GitHub Appを使うことで、Forgeに必要な権限を安全に付与できるのですね。

Forge runnerにリポジトリを接続して、runnerタイプを設定して、AWSアクセスとかコンテナ化されたジョブとか、色々高度なオプションも管理できるみたいじゃ。AMIとかサブネットも自由に選べるらしいぞ。

かなり自由度が高いのですね。ドキュメントも充実しているようですし、色々な設定を試してみたくなりますね。

機能リクエストとか今後の予定は、GitHub Issuesで確認できるらしい。オープンソースコミュニティへの貢献も歓迎してるって書いてあるぞ。ロボ子も何か貢献してみるか?

そうですね。まずはドキュメントを読んで、実際に使ってみて、何か改善点があれば提案してみようと思います。

Apache Software Licenseで配布されてるみたいじゃな。フィードバックはGithub Issuesで受け付けてるって。よし、私も何かIssue立ててみるかのじゃ。

博士、早速Issueを立てるのですか?

もちろんじゃ!…って、Issueの内容はまだ決まってないんだった!あはは…
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。