🐡

GitHub Packagesの費用感を試算した

2022/03/14に公開

概要

GitHub Packagesは、パッケージをGitHubで公開できるサービスです。PublicとPrivateどちらも使えます。
試算した結果、個人的にな結論は以下の通りでした。

  • Publicは完全に無料なので、費用面でなにも考える必要なし。
  • Privateは、小規模のチーム( <= 10人)で1MB程度のライブラリの公開なら無料枠で収まりそう。
  • しかし、容量が大きなPackage(代表例Docker image) and/or 大規模なチーム( > 10)だと有料で運営することになりそう。

上記に至った試算を以下につらつら書きます。

目的

運用の費用感のあたりをつける。

注意

2022/03/14現在での情報です。

参考

公式の価格表です。

https://github.co.jp/features/packages

詳細

Public リポジトリ

以下のコメントのとおりです。完全無料です。 ただし、当然、世界に公開されるのでclosedな内容は載せられません。

パブリックリポジトリではGitHub Packagesを無料で利用できます

Private リポジトリ

チームや会社でclosedに運用したい場合はこちらになります。

プラン毎にストレージ、Actions以外経由のデータ転送で異なります。

2022/03/14 現在では、下記の表の通りでした。

プラン ストレージ [GB] Actions経由でのデータ転送 Actions以外経由のデータ転送 [GB/月]
Free 0.5 無制限 1
Pro 2 無制限 10
Team 2 無制限 10
Enterprise 50 無制限 100

それぞれ読み解きます。

ストレージ

packageの容量です。
個人的に書くライブラリだと数MBなので気になりません。
一方、Docker imageは、100MB超(1GB超)になることもあります。Docker imageをつかうなら、残り容量を気にしつつ運用した方が良いです。

超過した場合は以下加算されます。

追加ストレージ
$0.25 ギガバイトごと

以下ストレージは超過していない過程で話をすすめます。

転送量

GitHub Actions経由とGitHub Actions経由 以外 で違います。

GitHub Actions経由

GitHub Actions利用時のデータ転送はすべて無制限です。

上記表の通り、GitHub Actions経由であれば転送量は無料です。

GitHub Actions経由以外

GitHub Actions利用時のデータ転送はすべて無制限です。
ローカルまたはサードパーティのクライアントからのデータ転送には課金される場合があります。

上記の記述を見ると、GitHub Actions経由以外とは、まさしく文字通りと解釈できそうです。

例えば、開発用のローカルの環境からGitHubでPrivateに公開したpackageをダウンロードした場合やCircleCIからダウンロードしたりでは、転送量に応じて無料枠が減ります。

詳細は後述しますが、1 MB程度のライブラリをGitHub Packagesでprivateで運用するのであれば、GitHub Actions経由 以外 を考慮したとしても、無料枠で運用も可能そうです。

一方、ストレージの所と同じで、Docker Imageの場合は、GitHub Actions経由 以外 を考慮すると現実的に無料枠での運用は難しそうです。

無料枠を超過した場合

追加のデータ転送
Actionsを使わない場合
$0.50ギガバイトごと

です。

Privateで運用したときの転送量の費用試算

10名のチームでCircleCI経由でPushでGitHub Packageがトリガーされる(パッケージが転送される)場合を考えます

なお、実際にGitHub Actions経由以外か否かについては各人で再検証ください。

パッケージ容量が1 MBのライブラリ

1 MBのライブラリをGitHub PackagesのPrivateで公開しているとします。

チーム(10人)が各人 5 回 pushして同時にCircle CIが動くとします。cacheなどは使わず愚直にインストールする場合です。Circle CI経由だとGitHub Actions経由以外と解釈できます。

1 MB * 10 人 * 5 回 * 20 日 = 1000 MB = 1 GB / 月

Free プランだとちょうど上限。Proだとまだ余裕があります。

Proプランであれば、小さなライブラリを無料枠で運用も可能そうです。

パッケージ容量がDockerのimageの場合

Dockerのimageの場合 だと 1 MB → 100 MB以上になることがほとんどです。
そうなると 前述の想定だと

100 MB x 10 人 * 5 回 * 20 日 = 100000 MB = 100 GB / 月

となるので、無料枠を遙かに超過します。

仮に転送量が100GB / 月だと Proプランの場合は無料枠 10 GBを差し引いても90GB分課金されます。

無料枠超過分90GBだと 

$45。約5千円 / 月。

これはお財布に厳しい 。

感想

Public完全無料最高。Public前提であっても動作確認のために運用するや、オレオレDockerイメージを公開したいと思いました。

一方、試算の結果、ライブラリであれば、PrivateでもGitHub Packagesは無料で運用できるなとわかりました。

次の記事では、実際にGitHub Packageを使った例を書きます。

Discussion