見出し画像

imgix という画像変換サービス(メモ)

imgixとは

Zebrafish Labs, Inc. というサンフランシスコの会社が提供している、画像変換並びにキャッシュサービスです。ウェブサイトで「Powerful image processing, simple API」と銘打っている通り、シンプルに使える画像変換API群といった感じだと思います。

ちなみに読み方は( image • icks )が正しく、( image-i-x )は誤りとのことでした。調べてみたところ Press Kitのページで説明されていました。

imgixのCDNについて

FastlyのCDNを使って配信をしています。日本では東京に3箇所、大阪に1箇所あることがFastlyのページで分かります。

imgixの導入事例

日本企業では ホテル・旅館予約サイトの 一休.com と、日本経済新聞社の日経電子版での導入事例があります。
imgix導入で画像最適化とサイトスピード改善(speakerdeck)
imgix導入で画像最適化とサイトスピードを改善した話
日経電子版を速くする(speakerdeck)


事例紹介のページを見ると
・Social & Sharing
・E-Commerce
・News & Media
の3分野を紹介しています。3分野とも画像を多用しているサービスの代表例に挙げられる分野ですので納得の事例カテゴリー分けだと思います。

余談 日経電子版のエンドポイント

本題と完全に脱線しますが、日経電子版は 1)パソコン版 , 2)タブレット・スマートフォン版 で異なる挙動(サービスの利用)をしていました。
(引用 : https://dsquare.nikkei.com/ )

パソコン版の www.nikkei.com はDNSのCNAMEでAWSのELBへ

$ dig www.nikkei.com

;; ANSWER SECTION:
www.nikkei.com.		122	IN	CNAME	www-nikkei-com-689290018.ap-northeast-1.elb.amazonaws.com.
www-nikkei-com-689290018.ap-northeast-1.elb.amazonaws.com. 31 IN A 54.250.56.212
www-nikkei-com-689290018.ap-northeast-1.elb.amazonaws.com. 31 IN A 13.112.134.153

タブレット・スマートフォン版の r.nikkei.com はDNSのCNAMEでFastlyへ

$ dig r.nikkei.com

;; ANSWER SECTION:
r.nikkei.com.		1294	IN	CNAME	r-nikkei-com.n8s.jp.
r-nikkei-com.n8s.jp.	225	IN	CNAME	dualstack.f4.shared.global.fastly.net.
dualstack.f4.shared.global.fastly.net. 10 IN A	151.101.110.110

そしていずれの場合でも画像については article-image-ix.nikkei.com を使用しており、画像は imgix を使用し、imgixがCDNにFastlyを使っていることも分かります。

$ dig article-image-ix.nikkei.com

;; ANSWER SECTION:
article-image-ix.nikkei.com. 2800 IN	CNAME	article-image-ix.imgix.net.
article-image-ix.imgix.net. 2800 IN	CNAME	dualstack.com.imgix.map.fastly.net.
dualstack.com.imgix.map.fastly.net. 15 IN A	151.101.110.208

更に画像ファイルのURLのクエリストリングを見ると imgix-proxy.n8s.jp というのがありますので日経電子版(タブレット・スマートフォン版)では imgixのオリジン指定方法は「Web Proxy」であることが分かります。

日経電子版で dig を色々してみたのは特に他意はなく、過去にFastlyの導入事例として日経電子版のリニューアル記事を見た記憶があったためです。imgixの事例としてもあるのはどうゆうこと?と興味を持って調べてみました。

余談 Fastlyのエンドポイント名

Fasltyのエンドポイント名についてのドキュメントがあったのでリンク。

Fastly経由の配信に切り替える手順
AWSに構築したWebサイトへのHTTPアクセスをFastly経由で行えるようにする

オリジンへのリクエスト元(接続元)IPアドレスについて

imgix に話を戻し、オリジンのアクセスログを確認したところ、 AS12125 に属しているZebrafish Labs Inc. のIPアドレス( 104.129.144.0/24 )からリクエストが来ていました。このIPアドレスに traceroute をしてみたところどうやらアメリカ西海岸にあるようです。

また imgix のエンドポイントは Fastly で日本で調べたところ東京にあるIPアドレスが返ってきました。

つまりimgixを使って日本国内にあるオリジンサーバを使用した場合、Fastlyのキャッシュに乗っていない画像は、
 
 Fastly → imgix(アメリカ西海岸) → オリジンサーバ

と取りに行くことになります。オリジンサーバが日本にある場合にはレイテンシーが余計にかかることを理解しておく必要があります。

コンパネで設定する項目

コンパネで設定する項目はとてもシンプルで、同類のサービスである Cloudinary と比較すると比較的触りやすいと感じました。

オリジンとして、AWS S3 / GCS / Web Folder / Web Proxy の4パターンから指定が可能です。

Documentation > Setup > Creating Sources

404 Error時に表示される画像の指定、変換パラメーターエラー時に表示される画像の指定が可能です。

またキャッシュはRespect Origin / Override Origin などで指定が可能です。オリジンのヘッダー情報にCache-Control Headersを含めても良いですし、このコンパネ上で指定することも可能です。

complete explanation of imgix’s cache settings.
Documentation > Setup > Creating Sources > Advanced Source Settings

画像変換の方法

クエリパラメータとして指定が可能です。
トップページのムービーを見るとイメージしやすいと思います。
用意されているAPI機能は 100以上とのこと

その他参考にしたページ

リアルタイム画像処理機能が充実した CDN、「imgix」 を試してみたらとても簡単で便利だった件

この記事が気に入ったらサポートをしてみませんか?