コスト削減も実現! AWS CodeBuildとGitHubを連携し、GitHub Actionsセルフホステッドランナーを利用しよう
第23回 AWS CodeBuild
本連載では、AWSに関して、なかなか時間がとれず最新のアップデートを追えていない方や、これからAWSを利用したいと考えている方に向けて、AWSから発表される数多あるサービスアップデートのうち、NTTデータのITスペシャリスト達がこれだけは押さえておくべきと厳選した内容を定期的に紹介します。本記事では、GitHubとAWS CodeBuildの機能連携に関するアップデートについて紹介します。
はじめに
代表的な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が利用できないといった制約があります。この制約により、複数リポジトリを使用したプロジェクト横断的な利用は難しいようです。
この記事は参考になりましたか?
- これだけは押さえておきたい! AWSサービス最新アップデート連載記事一覧
- この記事の著者
-
松原 千波(株式会社NTTデータ)(マツバラ チナミ)
2023年にNTTデータに入社。入社以来、パブリッククラウドを活用したシステム構築、運用に携わる。現在は、AWS共通基盤のDevOps業務に従事。注目しているキーワードは、“Platform Engineering”。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
