blog.euxn.me

GitHub Actions の Private リポジトリの料金概算

2019-10-07 Mon.

Powered by Omnis Inc. この情報は株式会社オムニスの業務の一環での調査結果です。


Public リポジトリは無料なので、 Private リポジトリについてのざっくりを説明します。 詳しい料金は https://github.co.jp/features/actions の シンプルな従量課金 にあります。

あくまで従量課金であるため、以下の計算は目安です。まず無料枠で使用し、単位時間あたりの CI 稼働時間を計算し、より正確な見積もりに役立てましょう。

個人ユーザ

Free: 2000 分 ~= 1 時間/日 Pro: 3000 分 ~= 1 時間半/日

CI がずっと出ずっぱりでない用途の場合、1 日 8 時間コードを書く時間があったとして、8 分につき 1 分 CI が動く程度であれば無料枠で収まります。

超過分についての概算については下に記述してあります。

企業ユーザ

Team: 10000 分 ~= 8 時間/日 (20 日稼働換算) Enterprise: 50000 分 ~= 40 時間/日 (20 日稼働換算)

Team の場合、1 並列であれば 8 時間出ずっぱりであっても 1 ヶ月の稼働に耐えられるので、最低限の用意であれば追加料金は無料で使うことができるといっても差し支えないでしょう。 Enterprise の場合、 GitHub 自体はホスティングであっても、 CI 自体は無料枠があるようで、1 日 8 時間換算の場合 5 並列まで無料枠で賄える概算です。

8 時間出ずっぱりでない場合はその分並列にすることができるので、様子を見て並列にする、ということも可能かと思います。すでに CircleCI の無料プランで十分間に合っている場合などは問題ないかと思います。 CircleCI の無料プラン 1 並列で 8 時間出ずっぱりの場合は以下のような超過分を検討すると良いかと思います。

超過分料金

Linux の $0.008/m を基準に計算します。 Windows の場合は 2 倍、MacOS の場合はその箇所だけ 10 倍になりますが、これらについては動かした上でどの程度使用するか計測してから見積もるのが良いでしょう。

1 日 8 時間 20 日に 1 並列増やしたい場合: $0.008 _ 60 _ 8 * 20 = $76.8 = 8,000 円/mo

CircleCI との料金比較は下に記述してあります。

Runner をセルフホストする場合

セルフホストについての詳細は現在記載されていませんが、 GitLab CI と似た仕組みであれば、 dockerd 入りのインスタンスに agent を入れる形式になるかと思います。 その前提で、インスタンスをホストする場合の料金を計算します。 なお、 Enterprise でセルフホストの場合は、疎通が可能にする必要があります。同一のクラウドベンダにするのが一般的でしょう。

標準 Runner と同様の 2Core 7GB に近いスペックの Linux マシンで計算します。

24/365 立てっぱなしにする場合は細かな運用は不要ですが価格が高くなります。インスタンスを予約することによる割引を受けることも可能ですが、割引前の価格を記載しています。 業務時間のみインスタンスを起動する場合、何かしらの仕組み(chatops / FaaS 等)を用意して運用する必要がありますが、割引前比で約 80%のコストカットが可能です。

AWS

https://aws.amazon.com/jp/ec2/pricing/on-demand/

m4.xlarge 2Core 8GB $0.129/h

起動し続ける場合: 0.129 _ 24 _ 30 = $92.88/mo ~= 10,000 円/mo 業務時間のみ起動する場合: 0.129 _ 8 _ 20 = $20.64/mo ~= 2200 円/mo

GCP

https://cloud.google.com/compute/all-pricing?hl=ja

n1-standard-2 2Core 7.5GB $0.122/h ($62.34/mo)

起動し続ける場合: $62.34 ~= 6,500 円/mo 業務時間のみ起動する場合: 0.122 _ 8 _ 20 = $19.52/mo ~= 2100 円/mo

Azure

https://azure.microsoft.com/ja-jp/pricing/details/virtual-machines/linux/

B2MS 2Core 8GB 9.3184 円/h

起動し続ける場合: 9.3184 _ 24 _ 30 = 6,710 円/mo 業務時間のみ起動する場合: 9.3184 _ 8 _ 20 = 1,491 円/mo

CircleCI との料金比較

前提として、 CircleCI は従量課金ではなく月額課金となります。 そのため、計算としては GitHub Actions の方が高くなりますが、従量課金であるため、常に CI が稼働していない限りは、計算結果以下の料金になります。 インスタンスは Linux を基準とします。

CircleCI Cloud

1 並列追加ごと CircleCI: $50/mo ~= 5,000 円/mo GitHub Actions: $0.008 _ 60 _ 8 * 20 = $76.8 = 8,000 円/mo

CircleCI Enterprise

インスタンス料金はどちらも同様とした場合、ライセンス費のみの違いとなります。 CircleCI Enterprise の場合は $35/1user のライセンス料金が発生します。

結論

  • 出ずっぱり出ない限り、無料プランで収まる or 追加課金がかかった場合でも CircleCI より安いことが想定される
  • セルフホストの場合 CircleCI のライセンス料金分が安くなる(ただし、サポートのプランについては未定)
  • あくまで従量課金であるため、計算は目安です。まず無料枠で使用し、単位時間あたりの CI 稼働時間を計算し、より正確な見積もりに役立てましょう
Other Works
2024-12-01 Sun.
OpenAPI Spec を出力できる DSL、TypeSpec の実践例
- ドワンゴ教育サービス開発者ブログ

2024-11-16 Sat.
型付き API リクエストを実現するいくつかの手法とその選択
- TSKaigi Kansai 2024

2024-09-10 Tue.
corepack が標準同梱じゃなくなる未来、 mise でパッケージマネージャを管理する
- Zenn

2024-09-10 Tue.
言語環境の管理は *env や *vm を超えて、 mise へ
- Zenn

2024-06-28 Fri.
TypeSpec を使い倒してる
- Kyoto.js 22

2024-05-11 Sat.
Powerfully Typed TypeScript
- TSKaigi 2024

2024-05-10 Fri.
pnpm の node_modules を探検して理解しよう
- ドワンゴ教育サービス開発者ブログ

2024-03-17 Sun.
neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する
- Zenn

2023-12-20 Wed.
レガシーブラウザ向けのビルドオプションを剪定する
- ドワンゴ教育サービス開発者ブログ

2023-05-26 Fri.
Next.js で dynamic import を使い Client だけで動かす Component を実現する
- Zenn

2023-05-02 Tue.
Node.js でファイル名から拡張子を取り除く/取り出すために path.parse を使う
- Zenn

2023-02-27 Mon.
WSL2 で外部からアクセス可能にするために bridge mode を有効にする
- Zenn

2023-01-26 Thu.
init.vim & dein から init.lua & lazy.nvim へ、シンプル設定で移行した
- Zenn

2023-01-13 Fri.
kindle の本をブクログ形式の csv でエクスポートする@2023初春
- Zenn

2023-01-10 Tue.
自宅サーバの移設に際して docker から nerdctl に移行した
- Zenn

2023-01-10 Tue.
自宅サーバを rootless に移行した際のトラブル対応
- Zenn

2021-11-11 Thu.
並列実行した Promise で throw されても全てハンドルしたいときの方法(allSettled, finally, etc...)
- Zenn