CloudflareのR2とworkersを連携する方法
CloudflareのR2とWorkersを連携する方法について説明します。
R2バケットの作成:
Cloudflareダッシュボードにログインします。
左側のナビゲーションパネルから「R2」を選択します。
「Create bucket」ボタンをクリックします。
バケット名を入力し、「Create bucket」をクリックして作成します。
Workerの作成:
左側のナビゲーションパネルから「Workers & Pages」を選択します。
「Create application」ボタンをクリックし、「Create Worker」を選択します。
Workerの名前を入力するか、自動生成された名前をそのまま使用します。
「Deploy」ボタンをクリックします。
WorkerとR2の連携:
作成したWorkerの詳細ページに移動します。
「Settings」タブをクリックします。
「Variables」セクションまでスクロールし、「R2 bucket bindings」を見つけます。
「Add binding」をクリックします。
Variable nameを入力し(例:MY_BUCKET)、作成したR2バケットを選択します。
「Save and deploy」をクリックします。
Workerコードの編集:
Workerの詳細ページで「Quick edit」ボタンをクリックします。
エディタが開くので、必要なコードを入力します。
R2バケットにアクセスするコードを追加します(例:env.MY_BUCKET.put()やenv.MY_BUCKET.get()など)。
「Save and deploy」をクリックしてコードを保存し、デプロイします。
カスタムドメインの設定(オプション):
Workerの詳細ページで「Triggers」タブをクリックします。
「Custom Domains」セクションで「Add Custom Domain」をクリックします。
使用したいドメイン名を入力し、「Add Custom Domain」をクリックします。
これらの手順で、CloudflareのウェブインターフェースからR2バケットとWorkerを作成し、連携させることができます。コードの編集や詳細な設定も、すべてウェブ上で行うことが可能です。
R2バケットとWorkerを結びつけると、どのような利点があるか
R2バケットとCloudflare Workersを結びつけることで、以下のような重要な利点が得られます:
シームレスな統合と簡単なアクセス:
WorkersからR2バケットに直接アクセスできるため、オブジェクトストレージの操作が非常に簡単になります。バインディングを使用することで、Workerのコード内でR2バケットを簡単に参照し、読み取り、書き込み、削除などの操作を行うことができます。高性能なデータ処理:
Workersの計算能力とR2の大容量ストレージを組み合わせることで、効率的なデータパイプラインを構築できます。例えば、IoTデバイスからのデータストリーミングや、大規模なメディアファイルの処理などが可能になります。エッジでのデータ変換:
R2からデータを読み書きする際に、Workersを使用してオブジェクトを動的に変換できます。これにより、データの前処理や後処理を効率的に行うことができます。コスト効率の向上:
R2はエグレス(データ転送)料金が無料であり、Workersと組み合わせることで、従来のクラウドストレージサービスと比較して大幅なコスト削減が可能です。グローバルな分散と低レイテンシー:
Cloudflareのグローバルネットワークを活用することで、世界中のユーザーに低レイテンシーでデータを提供できます。セキュリティの強化:
R2へのアクセスをWorkers環境に限定することで、複雑な認証機構を実装し、セキュリティを強化できます。柔軟なアプリケーション開発:
静的アセット、サーバーレス関数(Workers)、ストレージ(R2)を1つのプロジェクトで統合管理できるため、より柔軟で強力なアプリケーションを構築できます。AIワークロードのサポート:
大規模なデータセットを扱うAIアプリケーションの開発や、機械学習モデルのトレーニングにおいて、R2とWorkersの組み合わせは効果的です。S3互換APIによる移行の容易さ:
R2はS3互換APIを提供しているため、既存のS3ベースのアプリケーションを簡単に移行できます。
これらの利点により、R2バケットとWorkersの組み合わせは、効率的で柔軟性の高い、コスト効果的なクラウドネイティブアプリケーションの開発を可能にします。