90日以上更新されていないブログに表示されてしまうアレが出てしまったので書く。
https://sngsk.info というサイトがあり、わたしはこいつを運営している。
このサイトの下でいちおうコンテンツとよべるやつは下記のものがある:
- sngsk.info:Lorem Ipsum っぽいものを吐く
- sngsk.info/aboutme:自己紹介
- mastodon.sngsk.info:Mastodon インスタンス
これらは下記のように2台のインスタンスにまたがり、リバースプロキシとしての Nginx と、それにぶら下がる nspawn コンテナで構成されている:
メモリ 2GB のインスタンス
図はこんな感じ
| | HTTP request | ----------- | Nginx | * ----------- | | ----------- |----------------------------------| Nginx | ** | ----------- | | | sngsk.info | mastodon.sngsk.info | | ---------------- ------------------------- | nspawn | * | nspawn | ** | (sngsk.info) | | (mastodon.sngsk.info) | ---------------- ------------------------- * : RAM 512MB instance ** : RAM 2GB instance
以前まではメモリ 512MB のインスタンスしか無かったのだけれど、Mastodon を使ってみたら思いのほかリソースを食ったので急遽追加した。
設定とかは全部 https://github.com/nosada/sngsk.info にある。nspawn のコンテンツも可能な限り追加している。
nspawn を使っていると QEMU 上でうごく VM をお世話するみたいな感じで適度にコンテナ自体のお世話をする必要があるなあと感じる。
Docker みたいにコンテナをバカスカおっ立てては潰すみたいな使い方も無論可能ではあるが、それをやるには道具のお膳立てがまったくない。
Docker みたいに nspawn を使ってみたいという気持ちもあるけどそれなら Docker でいいじゃんとなってしまうので、難しい。
ちなみに上記のコンテナおよびホストは全部 Arch Linux で構成されている。
Arch Linux 以外での nspawn の使い方をいまだによくわかっていない……。