10年以上続く安定運用を支えるさくらのサーバ 〜「さくらの夕べ Debianナイト」レポート〜

はじめに

さくらのナレッジ編集部の法林です。

さくらインターネットはさまざまなITコミュニティの活動を支援しています。その一環として、Linuxディストリビューションの1つであるDebianの国内コミュニティ・Debian JP Projectに対してサーバを提供しています。

そこで当社は自社イベント「さくらの夕べ」にて、Debian JP Projectの活動、ならびに当社が行っている支援活動を紹介することにしました。それが「さくらの夕べ Debianナイト」です。イベントではDebian JP Projectに提供したサーバをどのように利用しているかをご発表いただきました。その模様をレポートします。なお今回のイベントはZoomとYouTubeを使ったオンラインイベントとして実施しました。

Debian JP Projectで運用しているさくらのVPSについて

1人目の発表者は、Debian JP Projectの会長を務めている杉本典充さんです。杉本さんには、Debian JP Projectで運用しているさくらのVPSについて発表いただきました。

サーバのスペックなど

当社からさくらのVPSの提供を開始したのは2015年11月です。提供しているサーバはさくらのVPS v4というもので、主なスペックは以下の通りです。

  • CPU: 仮想8コア
  • メモリ: 16GB
  • ストレージ: HDD 1600GB
  • サーバの所在地: 東京リージョン

なお、サーバを提供してから10年近く経過していますが、最初に提供したサーバを置き換えることなくそのままご利用いただいています。

サーバのOSはもちろんDebianです。そして、DebianをホストOSとして、その上に複数の機能をコンテナで環境分離して構築し利用しています。構築や運用に関する作業はDebian JP Projectのシステム管理チーム(通称adminと呼ばれています)の方々が行っています。

ホスト環境

ホスト環境を見ていくと、まずコンテナ技術としてはLXCを使用しています。DockerやKubernetesが普及するよりも前からコンテナ環境を構築していたのでLXCを利用しているという経緯があります。ちなみにDebianではlxcパッケージをインストールすることで利用可能になります。

それから、LXCのゲスト環境(詳細は後述)において稼働しているWebサーバに対して名前ベースのVirtualHostでプロキシするためのリバースプロキシが動いています。HTTPSでアクセスできるように、Let's encryptを使ったSSL証明書を設置しています。

セキュリティ関連の設定としては、サーバへのSSH接続はパスワードによるログインを禁止し、必ず鍵認証を使用します。外部からアクセスできるポートは最小限にしています。それから、ファイアウォール関連のソフトウェアとしてfail2banを導入しています。fail2banはサーバのログを読み取り、攻撃していると思われる接続元IPアドレスからの通信を一時的にブロックするようなルールをファイアウォールに自動追加してくれます。

SVNリポジトリサーバ

ゲスト環境で動いている機能の1つがリポジトリサーバです。こちらは構築したのが2005年でgitが普及する前だったのでSubversionを使用しています。このリポジトリで管理しているコンテンツはDebian JP Projectのウェブサイトです。

Debian JP Projectのウェブサイト

こちらのリポジトリの管理、つまりウェブページの更新手続きは「Debian JP のウェブページを変更するには」というページに記載されています。リポジトリからのチェックアウトは誰でもできますが、コミット権限はDebian JP Projectの会員(運営メンバー)にのみ付与されています。会員以外の人がウェブページを更新したいときは、差分(diff)をdebian-wwwのメーリングリストに投稿し、会員がコミットすると自動的にウェブサイトに反映されます。

メールサーバ

もう1つの機能がSMTPおよびメーリングリスト(ML)のサーバです。debian.or.jpあてのメールはこのサーバに配送されます。メールサーバのセキュリティ設定として、SPF、DKIM、DMARCに対応しています。受信したメールに対してはSpamAssassinによる迷惑メールチェックやclamav-milterによるウィルスチェックも行っています。

また、MLはmailman3を使って運用しています。運用しているMLは「メーリングリスト一覧」のページを見てください。MLのアーカイブをブラウザで検索・閲覧することもできます。それから、MLに投稿されるメールにもDKIM署名を付与しています。このときFromを書き換える必要があります。例えば杉本さんがdebian-develのMLに投稿すると、FromとReply-Toが以下のように設定されます。

From: Norimitsu Sugimoto via debian-devel <debian-devel@debian.or.jp>
Reply-To: Norimitsu Sugimoto <dictoss@debian.or.jp>

運用話と苦労話

サーバを長く運用する中でOSの更新は課題になりやすいのですが、Debianの場合はメジャーバージョンが上がる場合もapt-get dist-upgradeで更新できるので、OSの再インストールをすることなく運用を続けています。ただしアップグレード時に大幅な仕様変更や設定変更が発生する場合は、事前に予告した上でサーバを数日停止して作業することもあるそうです。

最後にサーバ運用に関する苦労話として、SSHログインを試みる攻撃が絶えない、迷惑メールはフィルタでかなり排除しているがそれでもすり抜けてくるものがある、mailman2からmailman3への移行があったが仕様変更が多く大変だった、といった話がありました。そして、Debianのサーバ運用は高度な技術を持っている人たちのおかげで成り立っているが、そういった人材は貴重であるという話が最後にありました。

Debian JP Projectで運用しているミラーサーバについて

続いて、同じくDebian JP Projectのやまねひできさんから、同プロジェクトで運用しているミラーサーバの話がありました。やまねさんはDebianのパッケージメンテナリリースノートの翻訳なども行っています。

当社からはDebianのミラー用に2台のサーバを提供しています。2台とも今では旧サービスとなっている「さくらの専用サーバ」という物理サーバを使用しており、いずれも10年ほど前から提供しています。以下、それぞれのサーバの役割などを説明します。

セキュリティミラーサーバー

1台目はsecurity.debian.orgというホスト名が示すように、セキュリティ更新に関するファイル群を提供するミラーサーバです。この機能を持つサーバは全世界に何台かありますが、その中のアジア地域担当として動いています。このサーバが設置される前は、Debianのセキュリティ更新をする際に北米や欧州までファイルを取りに行く必要があり遅いという問題がありました。そこでアジア圏でミラーサーバを提供してくれる支援先を探した結果、当社が名乗りを上げたというのがサーバ提供の経緯です。特にセキュリティミラーサーバの要件の1つに「仮想マシン不可」というのがあったため物理サーバにする必要があり、そのためクラウドやVPSではなく専用サーバを提供することになりました。

2014年当時のセキュリティミラーサーバの要件 (出典)

このサーバは10年以上にわたり役目を果たしてきましたが、さくらの専用サーバがこのたびサービス提供を終了することや(物理サーバのレンタルは「さくらの専用サーバPHY」で継続します)、現在はCDNによる配布が普及したこともあり、このたび退役することになりました。

余談として、セキュリティミラーサーバの各ホストには音楽家の名前が付けられていますが、当社が提供しているサーバのホスト名はsetoguchiであり、該当する音楽家を探してみると軍艦マーチを作曲した瀬戸口藤吉氏らしいという話がありました。

リポジトリミラーサーバー

2台目はリポジトリのミラーサーバです。OSは現時点におけるDebianの安定版であるDebian 12(コードネーム: bookworm)です。稼働しているサービスは、ウェブサーバとしてApache、リポジトリの同期にrsyncが動いています。かつてはFTPによるファイル配布も行っていましたが廃止になりました。

このサーバの運用における特徴的なこととして、bcacheを利用しています。さくらの専用サーバのディスクはHDDなので遅いという問題があります。そこでbcacheを使ってキャッシュを作成し、読み出しを高速化しています。「bcacheでHDDへの書き込みを見かけ上速くする」という記事も参考にしてください。

このサーバでdfコマンドを実行した結果を以下に示します。/dev/bcache0を2TBほど使っていますが、中身はほとんどDebianのパッケージファイルで、これに対するアクセスの一部がキャッシュに乗ります。

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        55G   12G   41G  22% /
/dev/bcache0    3.6T  2.0T  1.7T  55% /srv/mirrors

キャッシュに関する指標を測ってみるとキャッシュヒット率が70%程度に達しており、bcacheが応答の高速化に貢献していることがわかります。

$ tail /sys/block/bcache0/bcache/stats_total/*
(中略)
==> /sys/block/bcache0/bcache/stats_total/cache_hit_ratio <==
70

ところで、このサーバも旧サービスであるさくらの専用サーバを使っているため、サービス提供終了の影響を受けます。Debian JP Projectとしてはミラーサーバの提供を継続したいと考えているため、これから当社との間で交渉が始まるところです。CDNとしてウェブアクセラレータを利用できるとうれしいといった話もありました。

その他の話題

時間に少し余裕があったので、やまねさんにはサーバ利用以外の話もしていただきました。

まずはDebianの国際カンファレンスであるDebConfの話です。毎年夏に開催されており、開催国は持ち回りです。2025年のDebConfはフランスで行われます。東アジア圏でも台湾や韓国では開催実績がありますが、日本ではまだ開催されたことがありません。いつかは招致したいですが、まずは小規模版のMiniConfを開催して実績を積みたいとのことです。

2025年のDebConfのウェブサイト

さらに、「Debianにまつわる『神話』とその真実」と題して、さまざまな与太話が展開されました。誌面の都合で詳細は割愛しますが、以下の話がありました。詳細を知りたい方は記事の末尾からリンクしているビデオアーカイブをご覧ください。

  • Debianを使ってる人はいるのか
  • パッケージ更新が遅すぎるのでは
  • 古いアーキテクチャのサポートはずっと続けるのか
  • i386のサポートはどうなるのか
  • インストーラーが使いづらい
  • コードネームとバージョン番号の対応がわかりにくい
  • Dockerで使おうとしたらコンテナ脆弱性スキャンで引っかかってしまう
  • パッケージを最新にしても、クラウド事業者によってはセキュリティスキャンで脆弱性が検知される

また、やまねさんが公開している発表資料もご覧ください。

質疑応答と懇談会

Slidoに投稿された質問の一部

発表終了後は参加者の皆さんを交えて質疑応答を行いました。これも誌面の関係でかいつまんでお伝えしますが、以下のような話題がありました。詳しく知りたい方はビデオアーカイブをご覧ください。

  • Proxmoxという仮想化プラットフォームソフトウェアがDebianベースで作られている話
  • さくらインターネットからDebianおよびDebian JP Projectに要望したいことはあるか(これからもこのような形でコラボレーションを続けていきたい)
  • Debianでは各クラウド事業者ごとにOSのイメージを制作して公開しているので、さくらのクラウド用のイメージを作ることもできるかも
  • さくらインターネットはこれからDebianを推していくのか(Debianだけを推すわけではなくコラボレーションできるOSSは推していく)
  • さくらインターネットの環境に合わせたDebianのチューニングはあるか(インストール時にクラウド用のフレーバーを使った方がOSがスリムになるのでおすすめ)
  • 実際にサーバを数日止めて作業したことはあるのか(メールの移行やOSのメジャーバージョンアップなど長時間の作業になる場合は数日かかることもある)

またイベント終了後にZoomにて懇談の時間を設けました。イベント参加者でDebianのパッケージメンテナになることを検討している人がいて、開発チームにどうやって入っていけばよいかや開発環境はどういうものを使うのがよいかを発表者の2人に相談していました。それから、杉本さんが運営しているDebian勉強会の紹介もありました。コロナ禍以降は基本的にオンラインでの開催を続けていて、現在もほぼ毎月1回実施されています。さらに、本編では紹介しきれなかったDebConfのちょっと変わった見どころの話もありました。1週間のカンファレンス会期の中日にあたる日に日帰りツアーが行われることや、世界各国からの参加者が持ち寄った酒を飲む「チーズ&ワインパーティー」という懇親会があるそうです。Debianコミュニティの日常的なコミュニケーション手段の話もありました。ツールとしては現在もメーリングリストやIRCを利用しています。特にコミュニティとしての意思決定に関わる部分はできるだけ多くの人がアクセスできる手段で行う必要があり、かつ記録が残ることも重要なため、現在でもメーリングリストは欠かせない道具になっているようです。

おわりに

Debian JP Projectへのサーバ提供を開始してから10年ほど経過しましたが、これまではただ使ってもらっているだけのような状態で、その成果を多くの人に見てもらう機会がありませんでした。今回のイベントを通して、当社の支援活動を多くの人に、特にDebianに関わる人々だけでなくそれ以外の方々にも知ってもらうことができればうれしいです。

今回のイベントの様子をご覧になりたい方は、YouTubeにアーカイブが残っていますのでご覧ください。

それではまた次回のイベントでお会いしましょう!