2024-11-30 10:47:10 画眩の投稿 ggagen@pawoo.net
icon

このアカウントは、notestockで公開設定になっていません。

2024-11-30 10:47:28 画眩の投稿 ggagen@pawoo.net
icon

このアカウントは、notestockで公開設定になっていません。

icon

fedibird.comのメディアを保存しているオブジェクトストレージ Wasabiで、接続数制限を受けているようで、画像のアップロードやリモート画像が保存できない症状がでているようです。

接続数を絞る対策をとりましたが、先方で状況を見極め、制限を緩めるタイミングまで回復しないかもしれません。

状況をみていきますので、ご不便をおかけしますがしばらくお待ちください。

icon

画像アップロードテスト

Attach image
icon

こん! 🍎 🍎
おいしかったよー!

icon

Wasabiがいまどうなってるのかはよく分からないのですが、書き込みはできるようになっているので、順次過去の保存失敗したリモート画像を再取得しています。

リモート側で読み出しエラーになるケースについては対応できませんが、みてる感じ、だいたい復活するんじゃないかと思います。

ちなみにwasabiのステータスページはこちらで、fedibird.comのリージョンはap-northeast-1(東京)です。
status.wasabi.com/

何かあったと認識していること、解決に向けて取り組んでいることはわかるので、まあ参考程度に。

Web site image
Wasabi Technologies Status
icon

Mastodonの画像処理についてちょっと書いておきましょうか。

まず、Mastodonは、サーバのユーザーが投稿しようとしている画像、リモートからやってきた投稿などについてくるリモート画像を、添付ファイルの保存場所に保存します。

ファイルの取得がエラーになったり、ファイル種別と拡張子がウソだったり、サイズが大きすぎたり、未対応の形式だった場合、

投稿の場合はWebUIやクライアントにエラーを返し、

リモート画像の場合はURLだけ保存して、ファイル未取得の添付ファイルとしてデータベースに記録を保存します。

添付ファイルは通常、APIから取得した場合、様々なメタデータを取得できますが、未取得・エラーの場合はそれを提供できないので、ほとんどがデータなし、ファイル種別は不明になります。

リモートのURLだけは教えてくれるので、クライアントアプリの実装側で、これを直接参照して、うまくいけば画像表示することは可能です。

ただし、Mastodonが通常行う、不正なデータを拒否し、サイズを調整し、必要なら読める形式に画像変換するなど、安全に対する対策が効かなくなります。

そのために直接参照ではなく取得したデータを提供しているので、安直にリモートURLへフォールバックすることはお勧めしません。

icon

WebUIでは『利用できません』という表示とともに、クリックしたときにローカルサーバのメディアプロキシのURLに飛ぶように、添付ファイルの表示を行います。

このプロキシは、クリックしてリクエストされると、そのタイミングでもう一度リモートへメディアを取得しにいき、うまく取得できたらその画像のURLにリダイレクトしてくれます。

うまく取得できたら、サーバ上のリモート画像も保存されるので、次回からは『利用できません』ではなく、ちゃんと画像が表示されるようになります。

誰かが必要としたタイミングでリトライし、復元するための機能です。よくできてますね。

また、未対応形式の場合は、サムネイルは表示できませんが、リモートのURLに直接ジャンプするリンクになります。

相手先のサーバが対応している場合、添付ファイルにはブラーハッシュ(BlurHash)という、画像を極端にぼかしたイメージを再現するためのデータがついています。

サムネイルとしてセンシティブ画像などを伏せる際に使われる他、画像取得中の一時表示、そして取得失敗したときに、画像の代わりに表示します。

ブラーハッシュの実体は短いテキストなので、保存コストがゼロに近く、画像の保存や取得と違い、受け取り失敗することがないため、非常に便利な仕組みです。

icon

Mastodonは、サーバが利用者を守る設計になっています。

利用者の代わりに、サーバがリモートの情報にアクセスし、適切な変換をかけ、それを提供します。

サイズが大きすぎれば縮小し、一般的でない形式は扱える形式に変換し、サムネイルやブラーハッシュを生成して軽量に内容を確認できるようにします。

悪意あるメディアはブラウザをクラッシュさせるかもしれませんし、規格外のデータは、利用者の帯域(とくにモバイル)を大量消費したり、相手サーバの応答が遅ければクライアントの動作に悪影響を与えることもあります。

また、事前に代理取得しておくことで、いつアクセスしたか、誰がアクセスしたかをリモート側に悟られないよう隠蔽し、アクセスするブラウザの脆弱性などを突かれて不正なプログラムを仕込まれたり、情報が盗まれたり、騙されたりしないようにしています。

これらの処理は、サーバ側では処理や保管に相応の負担を引き受けることになりますが、

クライアントのプライバシーが守られ、安全で楽で快適になりますし、

全クライアントが直接アクセスするより、相手サーバも送信トラフィックが減ることになります。

(他方、CDNやリバースプロキシで軽減できますが、連合したサーバ数だけ同時アクセスが行われる問題はあります)

icon

メディアの保存には、Mastodonのプログラムを置いて実行しているサーバのローカルストレージに直接保存する方法の他、オブジェクトストレージという、メディアを保存する専用の保管場所を使うこともできます。

ローカルストレージを使った方法は、別途サーバを用意する必要がないこと、仕組みが単純なことから、設置・提供が簡単というメリットもありますが、

メディアは大量に保存され、保存容量がどんどん増えていくため、

ストレージが不足してエラーになり、その際にサーバプロセスも巻き添えにして全部に影響を与えてしまう問題、

サーバの処理負担の増大とトラフィックが多くなる(転送量課金されるとサーバで特に厳しい)問題、

サーバが大きくなってきた時に、複数のサーバで構成しようと思っても、特定サーバのストレージに依存していることで台数を増やせない(スケールアップできない)問題などがあり、

大量のデータを保存しても自動拡大し(事実上、お金を払えば無限に保存できる)、サーバプロセスとは分離した保管場所として、オブジェクトストレージを利用することがあります。

AWS(S3)やAzure、GCP、Wasabi、Cloudflare R2、VPS業者提供のものなどがよく利用されています。

Misskeyなども事情は同様です。

icon

オブジェクトストレージはすごく便利なのですが、短所もあります。

オブジェクトストレージは比較的みなで同じサービスを使っていることが多いので、今回のWasabiの障害のように、複数のサーバで同時に障害が発生する結果となることがあります。

オブジェクトストレージは通常、多重にバックアップされる運用がされており、データが失われる可能性が極めて低くなるように設計されていて、たとえ一時的な障害が発生しても永久に内容が失われる心配はあまりされていません。

どうにもならず失われた場合、あきらめるという運用が一般的で、オブジェクトストレージをバックアップする運用は少ないと思われます。

信頼性はAmazon S3が圧倒的に高いですが、落ちたことがないワケではありません。

Wasabiは、昔はよく落ちましたが、最近は安定しています。でも、忘れた頃に障害を発生させます。

オブジェクトストレージサービスを自分で設置することもできるので、そういう運用をしている人もいます。

ただ、S3より信頼性の高いサービスができるかというと、難しいです。

バックアップを万全にしようとか、スケールやパフォーマンスを確保しようとするとコストが跳ね上がるので、自前運用する場合は、どのレベルで妥協するかがポイントになってきます。

icon

Mastodon本体とオブジェクトストレージが分離していることで、理解しにくい挙動をすることがあります。

投稿に画像を添付してアップロードできるのに、それが壊れた画像になって表示できないという現象です。

この場合、オブジェクトストレージへの保存の経路は生きていて、参照する経路が死んでいます。

投稿したサーバには、画像は正しく保存されています。

参照する経路は、Mastodon本体とは別経路のサーバを辿るので、そういう不具合の出方もあります。

参照経路が回復したら、表示されるようになります。

なお、この参照に不具合が発生しているときにリモートに投稿が配送された場合、挙動は二通りになります。

リモートサーバからは参照でき、正しく扱われ、ちゃんと表示される場合と、

リモートからも参照経路から画像を取得できず、保存も表示も失敗する場合です。

後者の場合、後日参照経路が回復してから再取得されない限り、先方では壊れたままになるので、投稿タイミングはちょっと考えどころですね。

他のサーバの状況は、いくつかのサーバにアカウントがある状態でないと検証できないので、違うサーバのアカウントを使う仲間同士で連携をとっておくか、自分で複数アカウントを運用して相互フォローしておくのが吉です。

icon

良いハルシネーションの例だ(良くはない)
QT: mk.shrimpia.network/notes/a16q
[参照]

Web site image
:_mi::_re::_i: :sukiaraba_kyodaimusume: (@Mi)
Web site image
投稿の参照(1件) by のえる (@noellabo@fedibird.com)
icon

実は、文字数は特に制限なく見えます。

画像の枚数は4枚までで、5枚目以降は存在することに気付きません。(Fedibirdは見えるし、限界超えててもわかります)

icon

早い人は00:00から公開かな?

毎日、カレンダーにエントリーされた記事が公開されていきますので、読んだ感想をFediverseに投稿したり、心の中で(それな)などと呟いたりしてお楽しみください!

Fediverse Advent Calendar 2024は、現在75のエントリーをいただいています。

第四会場の初日は空いてるから、いまから滑り込んでもいいんじゃないかな!

あいてるところは、あとからでも参加して埋めていいからねー。

第一会場
adventar.org/calendars/10051

第二会場
adventar.org/calendars/10064

第三会場
adventar.org/calendars/10242

第四会場
adventar.org/calendars/10836

icon

Fediverse Advent Calendarの公開グループを作りました。

興味のある方は、こちらのアカウントをフォローしてご参加ください。

メンバー同士が相互フォローしたように話題を共有できます。

記事をみた感想や、自分の記事の紹介や補足、関連する雑談などにお使いください。

--
■ 使い方

・フォローしている人がグループのメンバーになります。

・グループのメンバーは、グループ宛の投稿がブーストされてきます。

・グループのメンバーは、公開または控え目な公開(未収載・ホーム)投稿で、グループアカウントに対してメンションすることで、グループ向けに投稿できます。

・過去の投稿の一覧は、グループの公開ページからみられます。

Web site image
Fediverse Advent Calendar (@fediverse_advent_calendar@fedibird.com)
icon

というわけで、直前ですが、公開グループを作りました。

記事を書いた方、記事を読んだ方、ぜひご投稿ください。

私の感想なんて……と思われる奥ゆかしい方々が多いのではないかと思いますが、どのみち記事を書かれた方はエゴサしてまわりますので、みせてくださいませ!

本人にメンションするのは気が引けるとしても、ここで(エアリプ気味に)流すなら、少しは書きやすいのではないかと思います。

ADVENTARのRSSフィードから自動投稿するBotも仕掛けてみたので、うまくいけば新着記事のお知らせも流れてくる……と思います。

交流などが不要であれば、こちらのBotを直接フォローしてもかまいません。

というわけで、よろしくお願いしますー。

icon

アドカレ、Fediverseでも習慣として根付いた感あるよね。やー、楽しみ楽しみ。

icon

そうそう、Misskeyの最新版とFedibirdだと、フォローした時に、添付画像のような通知がくるよ。

フォロー承認の通知
Attach image
icon

Metatext(iOS用のMastodonアプリ)が気に入ってる人に、Feditextっていうコミュニティベースの後継アプリが開発中で、もう試せるってことを教えておくよ。

フォローするといいよ。

Fedibirdで使うと、絵文字リアクションがみえるよ。

Attach image
icon

なにしろ、埋まりそうになると増やすからね……

2024-11-01 15:16:23 のえるの投稿 noellabo@fedibird.com
icon

Fediverseのアドベントカレンダー、2024年も実施します。

アドベントカレンダーはキリストの降誕祭・待降節に由来するもので、

12月1日(クリスマスの4つ前の日曜日)〜12月24日、毎日印をつけたり、毎週キャンドルを灯しながら数えていく習慣がありまして、

クリスマスを待つ子供達に、お菓子やおもちゃが入った扉がついているカレンダーがつくられ、毎日ひとつずつ開けていく習慣が根付いています。

最近では大人向けの、紅茶が入っていたり、化粧品が入っているカレンダーもありますよね。

で、これになぞらえて行われている、毎日記事を書いて発表する技術界隈から始まったイベントがありまして、

その流れを汲んでいるのが、今回私たちが企画しているアドベントカレンダーです。

みんなでテーマに沿った記事を持ち寄って、それを読んで一年を振り返ったり、知見を共有したり、抱負を語ったりするイベントです。

個人的な感想や振り返りなども受け付けているので、みなさん、ぜひ参加してください。エントリー受付中です。

登録・詳細はこちらからどうぞ。
adventar.org/calendars/10051

扉を開けるとプレゼントやオーナメントのイラストが出てくるアドベントカレンダー
Attach image
icon

Mastodonのクライアントアプリを選ぶ上で重要なことの一つなんだけども。

クライアントアプリって、みんなのスマホとかで動作する部分だけじゃなくて、

通知の実現のために、サーバを運用しているのね。通知をIPhoneやAndroidに伝えるためのサーバ。

だから、(言葉にするとあまりにも当たり前なんだけど)活発に開発・メンテナンスされていて、きちんと通知サーバを維持しているアプリを使った方がいいんだ。

もう更新されてないアプリ、通知のサーバも放置されてること多いからね……。

みんなにもちゃんと通知来ないし、サーバにも失敗ジョブが溜まるだけなんだよ……。

※ 主にスマホ用のアプリ。PCは通知の実現方法が異なるため

icon

通知Bot、ガンガンフライングかましてくるな。ADVENTARのRSSのせいだし、まあいいけど!

icon

うーん、やはり通知Botは外しましょう