フォロー

MastodonでS3使っているサーバは結構あると思うけど、ストレージコストはたいしたことないのに転送コストで死んだりするので、CloudFrontやらLightsailやら組み合わせて使ったりするんだけど、Mastodonで初めて使ってみたってことも多くて、よくわからないんだよね。

Lightsailが有効なのは、外に対しては帯域込みの料金になっていること、S3との接続が内部接続なので費用がかからないことがあるんだけど……。

LightsailからS3にVPCピアリング接続すればいいわけだけど、概念とか構成がどうなってるかイメージできてなくて、どこから何を設定すればいいのかよくわからない。

いうて私もよくわからん。設定して使ってるけど。

VPCとかピアリングの設定や確認の仕方、ルーティングがどうなってるのかとかとか。

あと、nginxなりでキャッシュサーバ立てたいところだけど、その設定とか。AWS関係ないけど。

CloudFrontもよくわからん。

AWSよくわからん、ってのはそんな感じ。なんとなく使ってるから、やってみて上手くいったこと以外、ちゃんと理解してない。

まさにいまそれです。いま出かけてますが帰宅したら続きやりまーす

nginxで外部サーバのメディアファイルをキャッシュする設定ですが、こんな感じでは如何でしょうか?(定数は要調整です)
サーバのURLを変数に入れずにproxy_passに直接書いた場合はnginx起動時にのみDNSを引きに行くようでハマりました・・・

@shukukei いいですね! Gistあたりにあげてコピペできるようにしましょう!

変数の他、resolver書き忘れるとDNS引かなかったりしますよね。

あと、最近気付いたんですが、
proxy_set_header Host $endpoint;
してあげると、backet名と対外的なホスト名が一致してなくても通るようになるので、書くようにしてます。$endpoint変数、有能。

CloudflareでCNAMEする時もHostヘッダ指定できるといいんですが、Enterpriseプランが必要なんですって……。
support.cloudflare.com/hc/ja/a

S3側で対処できるのかな?

なるほど、確かにHostもセットした方が良いかもしれません。
ウチはAzure Blob Storageを使っているので残念ながらAmazon S3の検証は出来ないのですが、先日、Azure Blob Storageの方でClientOtherErrorが出ている事に気が付きまして調査中だったりします。(おそらくURLの正規化が関係しているのではないかと推測しているのですが、実害が出ていないので後回しにしてしまっています・・・)

Cloudflareさんから直接オブジェクトストレージに繋げられるのはスマートで良いですね。(しかし、Enterpriseですか・・・せめてProプランで対応してくれていれば気軽に試せるのですが。)
また、間にnginx等のサーバを挟んでおいたほうが融通が利かせられる面もあるので悩ましいところですね。
ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。