【Mastodon】素人による素人のための「サーバーとは?」

更新: 2023-05-19  投稿:
[カテゴリ] 

本ページでは、次の3つについて書きました。

  1. Mastodon も Twitter みたいに、写真・動画をガンガンアップしても大丈夫?
  2. 分散型SNS の「分散」って、何が分散してるの?
  3. 古今東西で使われる「サーバー」の多種多様な意味を、1つ1つ丁寧に解説(素人なりに)
Warning!
正確性は保証しません! あくまで「こういうふうに捉えると理解しやすいかも」という1つの提案として読んでください。

まえがき

Twitter のあれこれで、注目が集まっている分散型SNS。その代表が Mastodon です。

自分も安直に乗っかって、とりあえずアカウント作りました(こちら)。

しかし、分散型SNS の意味が、どーにもよく分からない。

脱中央集権的

インスタントグローバルコミュニケーションは、一社で運用するにはあまりにも重大すぎます。 各Mastodonサーバーは完全に独立したエンティティであり、1つのグローバルソーシャルネットワークを形成するために他のユーザーと相互運用することができます。

Mastodon 公式ページ(LINK)

とあるのですが、全然分からん!!

インスタンスというのは「サーバー」のことらしいのですが、どうも自分が知ってるサーバーとは、違う意味で使われてるような気がするのです。

それに Twitter だって、バックアップを世界各地で取っているはずだから、そういう意味では分散してるとも言えるわけです。

ということで、素人なりに調べて、一応腑に落ちるところまで理解できたかなと思うので、同じく 分散型SNS の理解で困ってる人に向けて説明してみようかと思います。

一般的なサーバーの説明

一般的に「サーバー」の説明として、このような図がよく使われます。

サーバー
イラスト:イラストエイト

つまり、サーバーを媒介して、みんながつながってるんだよーってことですね。

しかしこの図だけだと、Twitter と Mastodon の違いが分かりません。なぜなら、Twitter も Mastodon も、インターネットを通してユーザーどうしがつながっていることには変わりないからです。

そこで、他にも「サーバー」という言葉が使われる場面を考えてみることにしました。

「サーバー」という単語が使われるのは、こんなとき

自分が思いつく限り、サーバーという言葉が使われるのはこんなときです。

① サーバールーム(パソコンがいっぱい並んでる部屋)
② Discord のサーバー
③ ウェブサイトにアクセスできなくて「サーバーが死んでる」
④ ゲームで「東京サーバーで遊ぶ」
⑤ ホームページを運営するのに必要なレンタルサーバー
⑥ AWS: Amazon の運営するサーバー(クラウド)

他にもいくらでも挙げられますが、とりあえずこれくらいにしましょう。

これらを1つずつ分類しながら「サーバー」の意味を紐解いて行こうと思います。

使い方A 物理的な機械装置としての「サーバー」

上に挙げた使い方の中では

① サーバールーム(パソコンがいっぱい並んでる部屋)
④ ゲームで「東京サーバーで遊ぶ」

この2つは、物理的な機械としての意味を含んでいると言えます。

「みんながつながる」といった概念というよりは、実体のあるモノとしてのニュアンスが強いです。

使い方B クラウドとしての「サーバー」

⑤ ホームページを運営するのに必要なレンタルサーバー
⑥ AWS: Amazon の運営するサーバー(クラウド)

これらは 使い方A と似ていますが、少し違います。

違いは、装置がどこにあるか分からない(分からなくてよい) という点です。

使い方A と同じように、使い方B でも実体のあるモノを意識しています。しかし、使い方A ではサーバーの機械がどこにあるか具体的にイメージしているのに対し、この 使い方B では意識していません。というより、場所は関係なく、利用者が意識しなくてよい仕組みになっている、と言えるかもしれません。

使い方C 概念としての「サーバー」

② Discord のサーバー

Discordのサーバーという場合、物理的な機械としての装置のことは全く意識されません。

単に「部屋」くらいの意味です。ゲームのプレイヤーどうしで集まれる場所、というだけです。みんながつながるという機能に焦点があります。

Discordの場合、サーバーを作ろうと思ったら、レンタルサーバーを借りたり、自室にサーバーの機械装置を持っていたりする必要はありません。「サーバーを作る」のボタンを押し、人を集めるだけです。

なお、

③ ウェブサイトにアクセスできなくて「サーバーが死んでる」

この場合、使い方A(物理的な機械装置としての「サーバー」)と 使い方C(概念としての「サーバー」)の両方が含まれていると思います。まず、物理的な機械としてのサーバーに不具合が起きた。その結果、サーバーの役割である「人と人をつなぐ」がうまくいかなくなった、という意味で使われます。

3つの使い方を、サーバー管理人の視点で見てみる

それではサーバーの使い方について、Mastodon のインスタンス管理人の目線で考えてみましょう。

Mastodon のサーバー(インスタンス)を立ち上げる場合、まずは機械装置としてのサーバー(使い方A)が必要です。

その方法の1つは、実際に機械装置のサーバーを買って、自宅に置き、インターネットにつなげる手段です。昔はこの方法を取る人もいたようですが、今はほとんどいません。なぜなら、管理が面倒だからです。さらに、大量のアクセスに通信環境や機械が耐えられるかも分かりません。

そこで、レンタルサーバーを借りることになります(使い方B)。

レンタルサーバーのサービスを使うと、上記のような「自宅にサーバーを置く」が不要になり、お金を払うことでオンライン上で済むようになります。

もう少し詳しく説明すると、レンタルサーバー会社は「機械装置としてのサーバー」の、個人で用意するものよりもスーパーハイスペック版を持っているイメージです。容量も桁違い。レンタルサーバーを借りる人は、お金を払って、その一部を使わせてもらうわけです。

レンタルサーバーの中でも AWS(Amazon運営)のような大きいところでは、世界中にサーバールームを持っており、常にお互いにバックアップを持っているはずです。そうすることで、仮に自然災害などで1つのサーバールームがダメになったとしても、他のところでデータが残っているような仕組みを作っているはずです。しかし、分散型SNS という場合の「分散」は、このようなことを言っているのではありません。

さて、管理人はレンタルサーバーを借りて、オンライン上でいろいろやると(多分ここが一番大変な作業)、レンタルしたサーバーが「Mastodon のインスタンス」としての役割を果たすようになります(使い方C)。つまり、自分が投稿したことをみんなが見れるようになるわけです。

Mastodon 初心者の疑問

僕が Mastodon のアカウントを作ったとき、このような疑問がありました。

データ容量大丈夫? Twitter みたいに写真とか動画をガンガンアップしても良いの?

上記のように、運営者の視点で考えると、答えは「多分大丈夫だけど、Twitterよりはちょっと気をつけた方が良いかも」になると思います。

ただし、インスタンスによります。

もし、そのインスタンスが個人運営で、アカウントが数個しかないような小規模インスタンスの場合は、さすがに容量を注意すべきだと思います。僕のこのブログはレンタルサーバーで50GB契約なのですが、もし同じ契約で Mastodon インスタンスを立ち上げたら、写真や動画を 50GB アップした時点でアウトになります(実際は写真や動画以外にもデータがあるから、その前にアウトになるはず)。

もし、そのインスタンスが有名どころの大規模インスタンスの場合は、定期的に容量のチェックをしてるはずなので、ほとんど問題になることはないと思います。ただし、いくら大規模とは言っても、Twitter社に比べれば小さいはずなので、問答無用に不要な写真をガンガンアップしたり、あるいは非公開で写真をアップして、自分のスマホのバックアップとして使ったりするのは、遠慮した方がいいのではないかと思います。

で、結局、正しい「サーバー」の意味は?

「サーバー」という言葉の使い方を、ABCの3つ紹介しました。

それでは、正しい「サーバー」の意味は、3つのうちどれでしょうか?

僕の調べた限りでは、使い方A 物理的な機械装置としての「サーバー」が、正しい意味のようです。

しかしそうすると、次はこのような疑問が生まれます。「サーバーって言ったって、所詮は記憶装置とCPUなんだから、普通のパソコンと一緒でしょ? じゃあ、用途の違いだけで、”普通のパソコン” か “サーバー” か、名前が変わっちゃうの?」

この質問の答えは YES だと思います。用途の違いだけで、名前が変わっちゃうんです。

この点が僕が今まで勘違いしていたところでした。サーバーの意味は 使い方C 役割のことだと思っていたんですね。 つまり、サーバーっていうのはあくまで概念で、機械はそれを実現するための装置にすぎないと思っていました。その勘違いが原因で、今回の分散型SNSを理解するのに時間がかかってしまいました。

分散型SNS の「分散」って?

ここまでの長い長い前置きは、この疑問を解決するためのものでした。

分散型SNS の「分散」って、どういうことなのでしょうか?

僕の理解では、分散型SNSの「分散」というのは「管理人がたくさんいる」という意味だと思っています。

ここで話が混ざってしまいやすいのですが、あくまで分散型SNSであって、分散型サーバーではありません。

極端な例を挙げます。Mastodon のインスタンスA と インスタンスB があり、AとBの管理人は偶然同じレンタルサーバー会社を利用していました。しかも、データが保存されていたのが、偶然同じサーバールームで、なんとなんと、奇しくも同じハードディスクに保存されていたとします。この場合、サーバーは全然分散していません。むしろ結合型サーバーです。でも、AとBはそれぞれ別の管理人が運営しています。ルールも機能も違いますし、動いているプログラムも違うし、不適切なアカウントをBANする条件も違うわけです。こういった管理の違いを指して「分散型」と言っているのだと僕は理解しています。

終わりに

サーバーとかの説明を検索して読むと、専門用語が多くて、さらに頭がこんがらがることが多いです。

僕の知識としては 家庭用パソコン+α くらいですが、その範囲で理解すると今回書いたようなことになると思います。

もしここに書いたことが、どなたかの助けになれば幸いです。

[カテゴリ]