Bunny.netのMagic Containersを使ってみる

こんにちは!k8sに興味を持ち始めためぐみそです。
k8s以外にもコンテナをクラスターで管理するツールはいくつかありますが、Bunny.netというCDNを提供するサービスが、新たにMagic Containersをリリースしたので、今回はこちらを使ってみることにしました。

材料

  • bunny.netのアカウント
  • $5

今回はアカウントを持ってる前提で進めます。

初めてのコンテナ


まずはサイドバーのEdge Platformから、Magic Containersを選択します。



初めての場合はこの画面になるので、Add your first appを選択します。

なお2回目以降は右上のAdd Appからアプリを追加することになります。



アプリの名前と、デプロイ方法を決定します。

デプロイする方法は2通りあるみたいです。

Magic deploymentは、自動で地域とスケールをしてくれるみたいです。
Custom deploymentは、自分で地域とスケール数、条件を設定します。

今回はCustom deploymentで進めることにします。



どこにデプロイするかを決定します。

今回は日本だけに設定しますが、まず41個が自動で全て選ばれていて、1個1個消すのもめんどくさいので、Clear allですべて消してしまいます。


少し下に行くと、Asiaの中にTokyoがあるので、右側のスイッチをオンにします。
このスイッチはベースとなるリージョンにだけ設定します。

例えばその下のKuala Lumpurにも設置したい場合は、スイッチの代わりに左側の+アイコンを選択します。

今回は日本だけ選んで、Next Stepに進みます。



次にスケール数を決めます。 Runtime Typeは今はDynamicしか選べないようになっています。

オートスケールは今回は1台に固定したいので、MinimumMaximumを両方1に指定しています。

Provisioning typeは今はLatency optimizedだけしか選べません。


次にコンテナの情報を指定します。
RegistryでDockerHubか、Githubかを指定します。現在はこの2つのみ対応です。アカウントを指定すればプライベートコンテナも使用できます。
Imageにイメージ名を指定します。
Tagにはタグを指定します。ここは補完が効きます。


この時点でexposeしてるポートを自動で検索して、エンドポイントとして割り当てることができるようになります。

Persistent storageは現在はまだ提供されていませんが、コンテナに対して永続ストレージが割り当てられます。

Add Containerでコンテナの設定を追加します。



この時点でコンテナの料金が表示されます。

CPUはCPUを1時間1コア占有で$0.02かかります。コンテナに対し8コアまで割り当てられるみたいです。
Memoryはメモリを1時間1GB占有で$0.005かかります。64MB単位で課金されます。ちなみに1GBを31日使用したら$3.72かかる計算です。
Storageは永続ストレージを割り当てた場合に1GBあたり$0.1かかります。今はないので気にしなくてよさそうですね。

あと転送量はBunny CDNのStandard Networkと同じ料金がかかります。
日本への転送であれば、$0.03/GBです。



最初にコンテナをデプロイすると、コンテナがScheduledになります。
これはコンテナがサーバーに設置されるまで待機してる段階です。


しばらくすると、ウサギの部分が1になって、Scheduledが消えます。
これでコンテナが正常に起動したことがわかります。


URLは右上に書いてあります。



URLをクリックしたら、正常に表示されました。
これはエラーページですが、このコンテナにはindexがないので404が正常です。



コンテナの情報とリソース使用状況も確認できます。

RAM Usageはメモリ使用量ですが、メモリを最初に指定していないので、何に対しての2%なのかは今のとこ不明です。


コンテナのCPUを見てみる

せっかくなので、コンテナに割り当てられているCPUを見てみましょう。


yabsを実行して確認してみました。

CPUはRyzen 9 7900が使われていました。
CPU1コアあたりの性能はEPYCよりはるかにいいので、CPUのコスパはかなりよさそうです。
ただ、CPUのベンチマークはうまく行かないので、実際の性能はわからないです。

ついでにメモリは65GB割り当てられているようです。
65GBの2%ということは1.3GB先ほど使われていたということですかね?

VM-x/AMD-Vが有効なので、仮想マシンを立てられますが、そもそもがコンテナなので厳しいでしょう。

IPv6は割り当てられていないようです。CDNを提供するサービスだったのでこれは少し残念です。


ストレージは3.4TBあるのが確認できました。
1コンテナにそこまで割り当てられるわけがないので、おそらくホストサーバー全体のストレージ容量ということだと思われます。
試しにddしたら書き込んだ分メモリ使用量が増えました。なぜ。

おわり

今回はBunny.netが新しく出したMagic containersを試してみました。

結論から言うと私はそこまで頻繁には使わないと思います。
理由としてまず、転送量が比較的高いのが1番ネックです。1TB使ったら$30かかりますからね。それでもAWSよりは安いですが、個人で使うにはまだ高い印象です。
次にメモリの最大容量を指定できないのも少し残念です。
アプリによってはメモリをあるだけ食いつぶすものもあるので、知らずのうちにメモリを使いすぎてしまう心配があります。

使う用途があるとしたら、CPUリソースが必要で、メモリを食いつぶさずにあまり転送もしないアプリだけ実行すると思います。

とはいえ、コンテナでCPUとメモリを実際に使用した分だけというサービスは初めて見ましたし、実際需要はあると思うので、もう少し使いやすくなればいいなあというのが個人的な感想です。