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つまたは複数定義します
これらのソースを再利用し、新しい画像のみをインポートします
実際に使用できる画像のみがインポートされ、そのソースに存在する他のオブジェクトやファイルタイプはインポートされないことを確認します
インポートする画像のターゲットパスとファイル名を定義します
一括操作のログを取得します
新しいキットには、そのすべてが詰まっています。それでは見ていきましょう。
Cloudflare Images Sourcing Kitの仕組み
Cloudflareダッシュボードでは、Imagesの下にあるSourcing Kitをすぐに見つけることができます。
その中では、新しいソース定義の作成、既存のソースの閲覧、前回の操作のステータスを確認することができます。
作成ボタンをクリックすると、ウィザードが起動し、定義したソースからの最初の一括インポートを案内します。
まず、ソース名とアクセスするURLを入力する必要があります。この定義を保存しておくと、いつでもソースを再利用できます。必要な検証を実行した後、インポート処理のルールを定義することができます。
最初のオプションは、オプションのプレフィックスパスです。プレフィックスを定義すると、この特定のソースからアップロードされた画像に一意の識別子を付けることができ、このソースからインポートされた画像を区別できます。
設置されたネーミングルールは、ソース画像名とパスをすでに考慮しており、そのためここで取得する子犬の画像があると仮定します。
[https://my-bucket.s3.us-west-2.amazonaws.com/folderA/puppy.png](https://my-bucket.s3.us-west-2.amazonaws.com/folderA/puppy.png)
パスプレフィックスを付けずにインポートした場合、画像の場所は次のように表示されます:
[https://imagedelivery.net/<AccountId>/folderA/puppy.png](https://imagedelivery.net/<AccountId>/folderA/puppy.png)
ここで、例えばこのバケットがTechnical Writing部門のものであることを示すなど、ソースを識別するためのパスプレフィックスを追加で作成したい場合があります。この子犬の場合、結果は次のようになります。
[https://imagedelivery.net/<AccountId>/**techwriting**/folderA/puppy.png](https://imagedelivery.net/<AccountId>/techwriting/folderA/puppy.png)
カスタムパスプレフィックスは、他のソースから来る名前の衝突を防止するための手段でもあります。
それでも、お客様が利用したくないと思うことはあるでしょう。そうすると、ソースを再利用して画像をインポートする場合、同じパス+ファイル名の宛先が衝突することがあります。
デフォルトでは既存の画像を上書きしませんが、そのオプションを選択して、Cloudflareパイプラインに存在するカタログを更新することができます。
これらの入力を定義した後、下部にある「Create and start migration(移行の作成と開始)」ボタンをクリックすると、アップロード処理が開始されます。
この操作により最終的なウィザード画面が表示され、移行状況が表示されます。進行状況ログは、アップロード中に得られたエラーを報告し、ダウンロードすることも可能です。
操作が実行されていないときに、ソース定義を再利用、編集、削除できます。また、キットのホームページから、いつでもステータスにアクセスし、進行中または最後の移行レポートに戻ることが可能です。
今後の展開は?
Cloudflare Images Sourcing Kitのベータ版では、インポートのソースとしてAWS S3バケットを定義できるようにします。次のバージョンでは、Azure Storage AccountsやGoogle Cloud Storageなど、他の一般的なリポジトリも定義できるようにする予定です。
また、シンプルなUIを目指しており、リポジトリのURLの定義からアップロード処理の開始、最終レポートの取得まで、すべてCLIで利用できるようにする予定です。
ベータ版を申し込む
サードパーティのリポジトリからCloudflareに画像を提供できるように、このキットのベータ版を数週間のうちにリリースする予定です。
最初に使用したい場合は、ベータ版のキャンセル待ちリストに参加できるよう、こちらのCloudflare Images dashboardからリクエストしてください。