※当サイトの記事には、広告・プロモーションが含まれます。

GitHub Actionsを業務で利用する場合はコストを意識する必要がありそう

gigazine.net

生成AIを用いた開発者向けの検索エンジンPhind」が2025年2月にアップデートを実施し、画像や図などの視覚的な回答機能やマルチステップでの推論機能が追加されました。開発元はこれを「Phind 2」と呼んでいます。

AI検索結果を視覚的な答えとマルチステップの推論で見せてくれる「Phind 2」リリース - GIGAZINE

⇧ ネットワーク構成図やシステム関連概要図などのアーキテクチャ図とかシーケンス図とか絵にしてくれるのは、全体を把握し易くなるのでありがたい。

GitHub Actionsを業務で利用する場合はコストを意識する必要がありそう

個人で利用してる範囲だと、余程のヘビーユーザーでもない限りは、「GitHub Actions」の課金を気にすることは無いと思われますが、業務で利用するような場合は意識しておいた方が良さそうと思ったので、備忘録として。

GitHub Actions」の公式のドキュメントによりますと、

docs.github.com

GitHub Actions の課金について

GitHub Actions の使用は、パブリック リポジトリの標準の GitHub ホステッド ランナーとセルフホステッド ランナーの場合は無料です。 プライベート リポジトリの場合、アカウントのプランに応じて、GitHub ホステッド ランナーでの使用を対象として、一定量の無料の使用時間 (分) とストレージが各 GitHub アカウントに付与されます。 含まれる量を超える使用は、使用制限によって制御されます。

https://docs.github.com/ja/billing/managing-billing-for-your-products/managing-billing-for-github-actions/about-billing-for-github-actions

■標準ランナー

■x64 搭載 より大きなランナー

■ARM64 搭載 より大きなランナー

GPU 搭載 より大きなランナー

⇧ とあり、業務で「GitHub Actions」を多用しているようなケースでは、意外と割高になってしまうのではないかという気がしてきた。

ちなみに、

docs.github.com

⇧「GitHub Actions」で「runner」には、大きく分けて、

  1. GitHub-hosted runners
  2. Self-hosted runners

の2種類があるらしく、課金対象は「1. GitHub-hosted runners」の方になりますと。

つまり、「GitHub」側が用意している「runner」を利用するのが、「1. GitHub-hosted runners」で、一方、「オンプレミス環境」や「クラウドサービス」などで「GitHub」環境以外に「GitHub Actions」の「ワークフロー」を実行できる環境として「runner」を用意するのが、「2. Self-hosted runners」ですと。

「1. GitHub-hosted runners」の場合は、

docs.github.com

⇧「GitHub」側で「runner」として、

  1. 仮想マシンVM:Virtual Machine)
  2. コンテナ

などが起ち上がって、「GitHub Actions」の「ワークフロー」が実行される感じっぽい。

「2. Self-hosted runners」の場合は、

github.com

⇧「GitHub」以外の環境に用意したリソースで「runner」が起ち上がって「GitHub Actions」の「ワークフロー」が実行される感じっぽい。

「2. Self-hosted runners」を利用する場合は、事前に「GitHub」側で「runner」を登録しておく必要があると思われますと。

「Phind」に質問してみたところ、

GitHub Actionsのワークフローの実行に関連するザックリした登場人物

GitHub Actionsのワークフローの実行のザックリしたシーケンス図

■GitリポジトリGitHub Actionsの関係

⇧ というような回答が返ってきた。

ちなみに、他の「Gitホスティングサービス」との違いを聞いてみたところ、

■ザックリした登場人物(他のGitホスティングサービスとの違い)

■対応表(他のGitホスティングサービスとの違い)

機能 GitHub Actions GitLab CI/CD GitBucket CI
ホスティングサービス GitHub専用 GitLab専用 GitBucket専用
設定ファイル .github/workflows/*.yml .gitlab-ci.yml gitbucket-ci.yml
実行環境 LinuxWindowsmacOS Linux(主要)、macOSWindows(ベータ) Linux
コード再利用 Actions、Reusable Workflows Hidden Jobs、YAML Anchors、Includes 基本的なYAML構文
デバッグ機能 基本的なログ表示 Pipeline Editor、Validation 基本的なログ表示
デプロイメント マニュアル設定が必要 カナリア、ブルーグリーン等をサポート 基本的なデプロイ
コスト 実行時間ベース ユーザー数ベース 基本無料

⇧ 上記のような回答が返ってきた。

参考にした情報のURLも連携してくれる模様。ただし、一次情報ではない情報がほとんどなので、情報の精度は未知数。(それだけ、一次情報に情報が無いということの裏返しなのかもしれないが...)

話が脱線しましたが、「GitHub Actions」の課金の話に戻ると、とは言え、「Self-hosted runners」を利用するとしても、「オンプレミス環境」で自前のサーバーを持っているようなケースを除き、「クラウド」のサービスを利用する形になってしまうと思われるので、従量課金によるコストは避けられませんと。

とりあえず、「GitHub Actions」のドキュメントの課金体系の内容をLinuxに絞って、マトリックス表にまとめてみた。

Linux(1分毎の課金額)

No runner コスト(コア)
2 Advanced 2-core 4 8 16 32 64
1 標準ランナー $0.008 - - - - - -
2 x64 搭載 より大きなランナー - $0.008 $0.016 $0.032 $0.064 $0.128 $0.256
3 ARM64 搭載 より大きなランナー $0.005 - $0.01 $0.02 $0.04 $0.08 $0.16
4 GPU 搭載 より大きなランナー - - $0.04 - - - -

仮に、プランが「組織の GitHub Free」だった場合、「2000(分/月)」を超えると1分毎に課金されるっぽいので、「GitHub Actions」の「ワークフロー」を実装・検証する作業を10人ほどで行っていて、1か月の稼働を20日とした場合、

 2000(分/月) \div  10人 \div 20日 = 10分

1日10分までの利用であれば、課金の心配は無いのだけど、普通に考えて、10分で収まるとは思えないのだが、仮に、「標準ランナー」の「Linux 2コア」で毎日120分(2時間)利用したとすると、

 $0.008 \times (120分 - 10分) \times 20日 \times 10人 = $176

となり、2025年2月14日(金)時点では、1ドルが、152.54円らしいので、

 176 \times 152.54 = 26,847.04 円

1か月で約27000円のコストがかかりますと...

ちなみに、無料分の金額は、

 $0.008 \times 2000分 = $16

となり、日本円に換算すると、

 16 \times 152.54 = 2,440.64円

1か月で約2500円分になりますと。

今時、1コイン(500円)ランチを提供してるお店は無いとは思いますが、毎月5回分と考えると太っ腹な気もしますが。

長時間、または、高頻度で実行するようなタスクを「GitHub Actions」の「ワークフロー」で実現しようとするとコスト面の懸念はありますと。

大規模プロジェクトにおける、実行が高頻度、且つ、時間がかかるフロントエンド系のビルドのようなタスクを「GitHub Actions」の「ワークフロー」で実現しようとすると多分、確実に課金額がとんでもないことになりそうではある...

まぁ、最近はビルドツールも改善されているっぽいので、ネットの情報を漁っていても、ビルド時間は短縮されているような情報が多いので、昔ほど気にならなくなっている感じなのかな?

ただ、「GitHub Actions」の「ワークフロー」を多数、且つ、高頻度で活用しているような場合は、コストには要注意ということですかね?

とは言え、選択肢はあって無いような気もしますが...

とりあえず、時間のかかりそうな処理については、気軽にトライアンドエラーで「GitHub Actions」の「ワークフロー」を実行するのは控えよう...

毎度モヤモヤ感が半端ない…

今回はこのへんで。