背景
Flickr という写真共有サービスがある。2000 年代から存在する歴史あるサービスで、当時は無料でかつ事実上無制限に写真を保管できたので、「とりあえず写真やってる人は登録しておく」的な位置づけのサービスだった。
自身も Flickr に写真を溜め込んだ。Flickr に上げた写真をブログに貼り付けることも多かった。
だが次第に Flickr の収益が悪化し、「お金払わないと保管していた古い写真を消すよ」というメッセージを出すようになった。消されるのは困る (ブログに貼った写真が消える) ので、渋々有料プランになって毎年数千円ほどを払う羽目になった。
その後もプランの値上げは続いており、ここ最近の円安もあって、いよいよ Flickr から脱却しようと決意した。
Flickr から脱却する上での課題
主にはブログに貼った写真が Flickr のものを参照しているという点になる。深堀りすると以下の 3 点。
数記事程度であれば手でも移行作業ができそうなのだが、修正対象が数十、数百記事となってくると面倒くさくなって「今年も Flickr にお金払えばいっか…」となってしまう。
解決策
1. に関しては画像を Flickr からどこか別のストレージにコピーすればよさそう。今回は Amazon S3 に同期させることにする。
2 や 3 は記事の HTML を書き換えられれば OK。
上記を自動で行うツールを作った。
詳しくは README を見てほしいが、例えばはてなブログの記事に対しては x-motemen/blogsync を組み合わせることで対応できる。
効果
十年近く Flickr を記事に埋め込んできたが、数分程度で S3 への移行と記事の修正が完了。現時点で Flickr を参照している記事はないはず。
今年こそは Flickr の有料プランを解約し、浮いたお金をレンズ費用に回す。
備考
S3 から画像配信する場合は適宜 CDN (CloudFront, CloudFlare など) を挟むのがスタンダード。
S3 + CloudFront をコマンド一発で構築する Terraform も用意しているので活用いただけると幸い。
TODO
- Flickr 時代のときは drikin/FlickrEx を使って写真の EXIF を記事に表示できていたので、同等のことができるようにする
- S3 以外にも同期できるようにする (例えばどこだろうか)
- Flickr の Camera Roll のような画像ビューア (管理画面) を作りたい