はじめに
代表的なCI/CDサービスとしてGitHub Actionsを利用されている方も多いのではないでしょうか。
本記事では、下記3点に沿ってGitHubとAWS CodeBuild(以下、CodeBuild)の機能連携に関するアップデートを紹介したいと思います。
- アップデートの概要について
- GitHubとCodeBuildの連携
- GitHub Actions RunnerをLambdaで検証
AWS CodebuildがGitHub Actionsセルフホステッドランナーをサポート!
CodeBuildとは、AWSのフルマネージド型のビルドサービスです。
今回、AWS CodeBuildがマネージド型のGitHub Actionsセルフホステッドランナーをサポートしました。
セルフホステッドランナーとは、GitHub Actionsのワークフローを実際に動かす環境をカスタマイズできる機能であり、上記のアップデートによりCodeBuildをGitHub Actionsのジョブ実行環境として利用できるようになりました。
ユーザにとって嬉しいポイントは主に下記3点です。
- CodeBuildでGitHub Actionsの機能が利用できる
- GitHub Actionsジョブの実行コスト効率が良くなる
- GitHub ActionsとAWSサービスとの接続がよりセキュアになる
1点目のGitHub Actionsの機能利用については、セルフホステッドランナーとしてCodeBuildを利用するため、これまでのGitHub Actionsのマーケットプレイス利用の制限がなくなります。
2点目のコストメリットについては、CodeBuildがLambdaをサポートしているため、秒単位の課金でGithub Actionsのジョブを実行できるようになったことがポイントです。
GitHub Actions Runnerの最小課金単位は1分であるため、例えば10秒で終わるようなジョブを10回実行すると10分の課金が発生していましたが、CodeBuildの課金単位は1秒単位であるため、コスト効率良く小さなジョブを利用できるようになります。
それぞれの料金体系については、下記をご参照ください。
3点目のAWSサービスとの接続については、IAMロールを使ったAWSサービスとの接続ができる点やVPC内リソースとの内部通信接続が可能となる点が嬉しいポイントです。
これまで以上にシンプルかつセキュアにGitHub ActionsとAWSサービスとの統合が可能になります。
一方で、単一のリポジトリごとにCodeBuildプロジェクトを作成する必要がある点や、GitHubとの接続にGitHub Appsが利用できないといった制約があります。この制約により、複数リポジトリを使用したプロジェクト横断的な利用は難しいようです。