Cloudflare Imagesを世界に発表したとき、製品内に画像を保存する方法を紹介しました。そして、Cloudflare経由で配信するにあたってリモートソースを使用する際に発生するエグレス料金から、お客様が脱却できるよう支援しました。

Cloudflareに画像を保存するには、UIを介して簡単なドラッグアンドドロップでアップロードできます。もしくは、多数のオブジェクトがありアップロードプロセスをスクリプトで実行する場合は、APIを介してアップロードできます。

画像のインポート方法に柔軟性を持たせるために、URL経由でアップロード、または画像のカスタム名やパスを定義して、お客様のリポジトリとCloudflareのオブジェクト間の簡単なマッピングを可能にする機能も追加されました。また、カスタムホスト名から配信することで、エンドユーザーがどのようにパスを見ているかを柔軟に設定したり、TLSネゴシエーションの必要性をなくして配信パフォーマンスを向上させたり、URLに一貫性を持たせてブランド認知を向上させたりすることも可能です。

それでも、これが私たちの製品を伝えるシンプルな言葉です:「このリポジトリURLには何千万枚もの画像があります。アクセスして私から全部取っていってください。」

ある状況はお客様がで、Cloudflare Imagesにアップロードする何百万もの画像を含むバケットを持っていることがあります。彼らの目標は、1回のプロセスですべてのオブジェクトをCloudflareに移行し、外部ストレージを完全に削除できるようにすることです。

もう一つのよくある状況は、大企業の異なる部署が、様々なストレージリポジトリで構成された独立したシステムを使用しており、それらのすべてが、特定の時間に不均一なアップロード量を送り込むことです。そして、Cloudflareで新しい画像を取得するために定義を再利用できれば、ポートフォリオを最新に保つことができ、複数のストレージプロバイダからパブリックにむけて直接提供することで、膨大なエグレス料金を支払う必要がありません。

これらの状況から、Cloudflare Imagesへのアップロード作業には、ロジスティックな調整やスクリプトの知識などが必要でした。しかしそれは、これまでの話です。

Cloudflare Images Sourcing Kitの発表

本日は、Cloudflare Imagesに移行したいオブジェクトを含む1つ以上のソースを定義できるSourcing Kitをご紹介します。

しかし、Sourcingとはいったい何なのでしょうか?製造業のような業界では、サプライヤーの選定から原材料の吟味、プロセスオーナーへの報告まで、さまざまな業務を意味します。

そこで、私たちはこの定義を取り入れ、Cloudflare Imagesの一連の機能に変換することで、次のことを可能にしました:

  1. 一括インポートする画像のリポジトリを、1つまたは複数定義します
  2. これらのソースを再利用し、新しい画像のみをインポートします
  3. 実際に使用できる画像のみがインポートされ、そのソースに存在する他のオブジェクトやファイルタイプはインポートされないことを確認します
  4. インポートする画像のターゲットパスとファイル名を定義します
  5. 一括操作のログを取得します

新しいキットには、そのすべてが詰まっています。それでは見ていきましょう。

Cloudflare Images Sourcing Kitの仕組み

Cloudflareダッシュボードでは、Imagesの下にあるSourcing Kitをすぐに見つけることができます。

その中では、新しいソース定義の作成、既存のソースの閲覧、前回の操作のステータスを確認することができます。

the new Cloudflare Images Sourcing Kit home screen

作成ボタンをクリックすると、ウィザードが起動し、定義したソースからの最初の一括インポートを案内します。

creating a source definition

まず、ソース名とアクセスするURLを入力する必要があります。この定義を保存しておくと、いつでもソースを再利用できます。
必要な検証を実行した後、インポート処理のルールを定義することができます。

最初のオプションは、オプションのプレフィックスパスです。プレフィックスを定義すると、この特定のソースからアップロードされた画像に一意の識別子を付けることができ、このソースからインポートされた画像を区別できます。

define a path prefix to easily identify all images imported from this source

設置されたネーミングルールは、ソース画像名とパスをすでに考慮しており、そのためここで取得する子犬の画像があると仮定します。

https://my-bucket.s3.us-west-2.amazonaws.com/folderA/puppy.png

パスプレフィックスを付けずにインポートした場合、画像の場所は次のように表示されます:

https://imagedelivery.net/<AccountId>/folderA/puppy.png

ここで、例えばこのバケットがTechnical Writing部門のものであることを示すなど、ソースを識別するためのパスプレフィックスを追加で作成したい場合があります。この子犬の場合、結果は次のようになります。

https://imagedelivery.net/<AccountId>/techwriting/folderA/puppy.png

カスタムパスプレフィックスは、他のソースから来る名前の衝突を防止するための手段でもあります。

それでも、お客様が利用したくないと思うことはあるでしょう。そうすると、ソースを再利用して画像をインポートする場合、同じパス+ファイル名の宛先が衝突することがあります。

デフォルトでは既存の画像を上書きしませんが、そのオプションを選択して、Cloudflareパイプラインに存在するカタログを更新することができます。

refreshing an images catalog or just uploading new images with one simple choice

これらの入力を定義した後、下部にある「Create and start migration(移行の作成と開始)」ボタンをクリックすると、アップロード処理が開始されます。

the final look before starting the migration process

この操作により最終的なウィザード画面が表示され、移行状況が表示されます。進行状況ログは、アップロード中に得られたエラーを報告し、ダウンロードすることも可能です。

Images migration status

操作が実行されていないときに、ソース定義を再利用、編集、削除できます。また、キットのホームページから、いつでもステータスにアクセスし、進行中または最後の移行レポートに戻ることが可能です。

Images migration status and edit source definitions access

今後の展開は?

Cloudflare Images Sourcing Kitのベータ版では、インポートのソースとしてAWS S3バケットを定義できるようにします。次のバージョンでは、Azure Storage AccountsやGoogle Cloud Storageなど、他の一般的なリポジトリも定義できるようにする予定です。

また、シンプルなUIを目指しており、リポジトリのURLの定義からアップロード処理の開始、最終レポートの取得まで、すべてCLIで利用できるようにする予定です。

ベータ版を申し込む

サードパーティのリポジトリからCloudflareに画像を提供できるように、このキットのベータ版を数週間のうちにリリースする予定です。

最初に使用したい場合は、ベータ版のキャンセル待ちリストに参加できるよう、こちらのCloudflare Images dashboardからリクエストしてください。