1. はやつ~のテックトークPodcast
  2. 12. imgproxy and CloudFlare ..
2025-06-14 18:10

12. imgproxy and CloudFlare (jkondo)

1 Mention

jkondo さんをゲストに、imgproxy, Cloudflare などについて話しました。 (Part.2)

 

これまでのパート

 

アジェンダ

  • Cloudflare
  • imgproxy

 

関連URL

編集後記

  • Cloudflareのfは小文字なんですね

エンディング曲

サマリー

このエピソードでは、Cloudflareを利用したDNSとCDNの活用方法や、画像ファイルの効率的な配信方法について語られています。特に、AVIFフォーマットを用いた軽量化技術や、ポッドキャストの画像管理アプローチが焦点となっています。また、CDNとCloudflareを活用したメディアファイルの配信方法についても議論されています。リッスンの利用者が主に日本国内であることや、海外展開の可能性についても触れられています。

Cloudflareの活用
はやつ〜
フランケンPHP以外ですね、リスの開発で活用されている技術で、なんか差し支えのない範囲で私とかを伺えるといいなと思ってるんですけども。
私が個人的に興味があるのが、そのCloudflareっていうサービスがあると思うんですけども、なんかその辺とか伺えると嬉しいんですけど。
jkondo
そうですね、CloudflareはDNS兼キャッシュというか、CDN的な使い方ができるんで、
結構そちらで静的なファイルを配信には使い始めてますね。
何がいいかというと、無料で使える枠が結構大きいというか、結構無料で使えちゃうっていうのもあって。
今だとそうですね、画像とかRSSファイルとかはCloudflareを使ってますね。
はやつ〜
そうですね。
jkondo
一旦そのDNSのホストでキャッシュをしてくれて、CDN化してくれるんですけど、ないものは裏側に取りにくるんで、
そちらでさらに、例えば画像とかですと、今トップページとか、リストのトップページとか、いろんなところにポッドキャストの画像って出ますけど、
その表示のサイズに応じていろんなサイズの画像が欲しくなるんで、自動的にこのサイズの画像が欲しいっていうリクエストが来たら、
バックエンドでその画像をそのサイズで生成してどんどん返すっていうのをやって、
例えばトップページにたくさんのポッドキャストのアートワークが並びますけど、
あれだけの数を全部、元のポッドキャストのアートワークって規格上3000ピクセル四方なんで、すごい大きいんですよね、サイズが。
で、それを当初はオリジナルサイズで配信してたんですけど、すごく画像のサイズだけでもたくさんになってしまって、
割とスマホとかだとなかなか表示されないとか、ギガがすぐになくなるみたいなこともあって、
割とちょっと軽量化したかったんで、最低限表示に必要なサイズのものをどんどん用意して、
いろんなサイズ、今だと4種類から5種類ぐらいのサイズの画像があちこちで使われてるんですけど、っていうのがあって、
で、それをあらかじめ事前に準備するとなるとすごい大変なので、
動的に生成しながら返すっていうのをやりつつ、そのCDNでキャッシュするっていう感じで、
だから、クラウドフレイヤーのCDNが前面にあって、その後ろにリバースプロキシがあって、
で、そのリバースプロキシからさらに画像変換サーバーが2個ぐらい立ち上がっていて、
そちらにリクエストを分散しながら投げて、裏側で、そこでもちょっとキャッシュをしてますけど、
ないものはその場で生成して返すみたいな、3、4段ぐらいの構成になってる、
たりしますね。
画像フォーマットの効率化
はやつ〜
確かに、最初リスンを始めて番組いっぱい作ってた時に、画像ファイルでかいとめっちゃ通信重いなって思ったことがあって、
私の番組のやつは片っ端から超あらあらの画像に変えた記憶がありますけど、
jkondo
変えて頂いてたんですか、わざわざ、すみません。
はやつ〜
自分のやつを書いても大したあれはないんですけど、
jkondo
それが今はサービスの方でいい感じにして頂いているということなんですけど、
そこのサイズをいい感じにするのは、リスンの方の処理、プログラムを書かれた内容がやってるんですか?
はやつ〜
そうですね、フォーマットはかなりAV-1を対応してまして、軽量の画像フォーマットも最近WebPとか、
jkondo
いろいろあると思うんですけれど、一番最新の、一番しく率の高いのがAV-1っていう、
AV-1じゃない、AV-1は画像ですね。失礼しました。AVIFですね。AVIFファイルっていう、
AV-1の動画のエンコーディングがあると思うんですけど、そのフォーマットを元に画像版として作られているのがAVIFで、
使えそうなところはできるだけそれを使ってます。
で、ちょっとエンコーディングの方に負荷がかかるんですけど、めっちゃちっちゃくなるみたいな特性があるんで、多少そのCPUが使うんですけれど、
その画像変換サーバーのシステムもいろいろあって、いくつかパフォーマンス比べながら探して、探してというか比較したんですけど、
今、イメージプロキシーっていうやつを使ってますね。かなり早いです。
はやつ〜
なるほど。
jkondo
はい。興味ある方がいるかどうかは知らないですけれど。
はやつ〜
いやいやいやいや、めちゃめちゃ勉強になります。ありがとうございます。
jkondo
ちなみに、温度社は、リッスン以外に物件ファンとか、いぶきとか、他のウェブサービスも提供してるんですけど、
以前はそちらの、例えば物件ファンって月間で200万以上のアクセスがあって、かなりアクセスが多いんですけど、
そちらはそちらで別の画像変換サーバーを自分たちで立ててやってたんですけど、
今はそのリッスン側の、先ほどのイメージプロキシーの性能がかなりいいんで、物件ファンといぶきの画像変換も全部まとめてやり始めてます。
はやつ〜
そうなんですね。
jkondo
はい。
はやつ〜
リッスン単体での開発だけではないってことですよね。いろんなサービスをやられてて、
そこの水平展開というか、別のサービスへも展開することで、より効率化が行われてるっていうことで。
jkondo
そうですね。会社の中でのコスト削減というか、コスト圧縮ができるんで、
今、物件ファンのトップページとか見ていただいたら、ずらーっと物件のサムネイル画像が写真で並ぶと思うんですけど、
そのサムネイルのアドレスとか見ていただくと、リッスンの画像サーバーのアドレスになってる。
はやつ〜
ああ、そうなんですね。
jkondo
はい。
実は、実は。
はやつ〜
わかりました。ありがとうございます。
jkondo
今はちょっと画像の話を深掘りしてお伺いしたんですけども、
はやつ〜
クラウドフレアのDNS兼CDNっていう話でしたけども、
なんかね、CDNって昔は赤マイとかっていうのがすごい有名だったなというふうに記憶があってですね。
はい。
そういうエンタープライズ級というか、そういうサービスなのかなと思ってたところが、
最近はすごいCDNサービスがいくつか出てて、すごい勢いがあって、結構その利用されるようになってきてるなっていうのを感じててですね。
なんか逆にそのすごい利用されることによって、また最適なアーキテクチャが変わってくるというかですね。
なんかCDN、私の中ではそのCDNとかCacheとかっていうのはその静的なところはいけるけれども、
ウェブサービスみたいな感じでこう動的に内容作るとかってなったら、
結局オリジナルサーバーに聞きに行かないといけないから、あんまりメリット、弱くなってくるのかなって思うんですけれども、
そこをなんかそのあの手この手でいい感じにできるように進化してきているんでしょうか。
jkondo
そうですね。世の中の流れを語るほど僕は詳しくないですけど、
Listenとかでやっているのは基本的にそのURLが同じであれば同じファイルになるようにっていう。
だから例えばPodcastのエピソードのアートワークを画像を変えて再アップロードしたら、ファイル名がどんどん変わっていくようにしていて、
で、そうすればその何ですか、さっきおっしゃったその例えばエピソードID.jpgみたいなファイル名だとキャッシュされると困ったことになりますけど、
まあそういうのもどんどん変わっていくんで、新しいURLでアクセスしたら新しい画像が来るっていうことで、
CDNとメディアファイルの配信
jkondo
何て言うんですか、変わることはあるけれどキャッシュしやすいようなファイル名にしたりとかする。
で、あとその、はい、まあもちろんウェブサービス部分、Listenのトップページとかそういうウェブのところは動的生成をしているんで、さっきのフランケンHPとかで毎回動的に生成しますけど、
その中で呼び出される画像とか、RSSファイルとか、ちょっと音声ファイルはまた別な使いをしてるんですけど、まあそういうそのいわゆるメディアファイルだったり、そういうものはCDNに乗りやすいと思うんで、使い分けをしてますし、結構そういう使い方が一般的なんじゃないかなとは思いますね。
はやつ〜
そうなんですね。
はい。
で、キャッシュでCDNで、まあいろんなメリットの形があると思うんですけども、一つにはその、元のサーバーへのアクセスが減るから、その負荷が少なくなって、重たくなったりしづらいっていうのがあるわけですよね。
はいはい。
jkondo
そうですね。赤マイさんとかだとそれがさらにグローバルに、まああのAmazonのクラウドフロントもそうですけど、その世界中にエッジサーバーというかその配信できるサーバーが分散していて、
見ている人がアクセスしてくるIPアドレスから場所を推定して、そこに一番近いサーバーを返す、DNSレベルで、例えばアメリカの人が見たら北米のサーバーに画像を取りに行くとかそういうことができるようになっているんで、
割とそのグローバルにサービス提供するサービスとかですと、やっぱりそういう場所場所で近いところのものを返すみたいな機能のついたCDが使われるし、使わないと結構海をまたいでパケットが往復するんで結構遅かったりするんで、
すごいグローバルサービスは使わないとなかなか速度が出ないんじゃないかなと思いますが、そこがオンド社で今やっているリッスンをはじめとしたサービスはほぼ日本人の方が日本から使えるアクセスが多いので、
そこまで世界的に配信を最適化するみたいなことは重要じゃなかったりもするんで、とはいえクラウドフリアーとかは自動でそれをやってくれるんですけど、さっきの音声ファイルとかそういうところはどっちかというとコストを重視して、基本国内からある程度の速度が出ればいいって言われきって、
そういうグローバルな配信に対応しているものはちょっと最近は使わなくて、コストを優先してたりはします。
リッスンの国内外での利用
はやつ〜
ちなみにリッスンは日本以外のユーザーを獲得するっていうところはあんまり頑張らない方針とかそういうのあるんですか?なんかロンドンの人にも使ってもらうとかそういう感じでもないんですか?
jkondo
世界中の人に使ってもらいたいという気持ちはありますけど、まずポッドキャストがほとんど日本語の今ポッドキャストが登録されていて、基本日本、日本にいなくても外国から聞かれている方もいますけど、日本語圏で使われているサービスであるというのは紛れもない事実だとは思いますので、
そうですね、海外で使っていただきたいっていう願望はありますが、現実的に今は少なくとも日本語主体のサービスにはなっているかなと思います。
はやつ〜
ぜひグローバルでグローバルサービスに。この間ポッドキャストのイベントに参加されてたんですよね。
だからそういうイベントとかでスポンサーとかしてブースとかチラシを置けたりとかそういうのがあるような気がするんで、そういうのでアピールして使ってもらえるようになったらいいんじゃないかなと思ったりしました。
jkondo
ちなみに海外からのアクセスはちょこちょこあって、やっぱり日本人の方ですかね、日本語の情報を求められている海外の方とかが割とポッドキャストだと全然、ラジコとかだとなかなか聞けないですけど、自由に国をまたいで聞けるんで、
はやつ〜
そういうところから聞かれている方が多いのかなという気は。結構海外からのアクセスもそこそこあります。イラクの秋子さんとかもいらっしゃいますし。
DNAのサービス、すごい便利なのにすごい安く使えるんですね。
jkondo
そうですよね。
はやつ〜
広告が入るわけでもなく安く提供できるのがすごいなと。
jkondo
謎の安さですよ。
はやつ〜
どんなメリットがあるのかな。例えば各国にキャッシュしてから国をまたぐトラフィックが減って嬉しい人とかがいるんですかね。よくわからないですけども。
jkondo
その後ろに有料の大きなビジネスがあり入り口として提供しても問題ない範囲なのかもしれないですけどね。
はやつ〜
ありがとうございます。また私もクラウドフレア勉強してみたいと思います。
Suno
夏の空に花が舞う風とともに
微笑み開くこの広い王
お世話様の誕生日
ハッピーバースデー
槍が満ちた
みんなで歌う
願いをかけて
世界に広がる
明日の果てを
お釈迦様の
花が広がる
光の
今日
はやつ〜
ハヤツーのテクトークポッドキャストはポッドキャストプラットフォームリッスンで配信されています。
リッスンに登録すると番組をフォローしたりコメントやスターを送ることができます。
Googleアカウントで登録することも可能です。
ぜひフォローやコメントをお待ちしています。
18:10

このエピソードに言及しているエピソード

コメント

スクロール