S3のデータ転送料をCloudflare R2で削減する方法【AWSコスト対策】

近年、多くのWebサービスやWebサイトの運営では、AWSのオブジェクトストレージサービス「Amazon S3」が使用されています。
一方で、Webサービスの利用者やアクセス数が増え、S3から配信するデータ量が増加すると、AWSの利用料金も高くなる場合がありますね。
特に、動画や画像などの大容量コンテンツを配信するサービスでは、S3のデータ転送料の増加によって、コスト面が負担になるケースもあります。
本記事では、AWS S3のデータ転送料が高くなりやすいケースを紹介し、Cloudflare R2を活用したデータ転送コストの削減方法について解説します。
AWS S3の料金が高くなる理由
AWS S3は、基本的には「使った分だけ支払う」従量課金制です。
そのため、保存するデータ量やリクエスト数、外部へのデータ転送量などが増えると、それに応じて料金も増加します。
まずは、S3でどのような料金が発生するのか、主な仕組みを確認してみましょう。
S3の主な料金の仕組み
S3の料金体系にはさまざまな項目がありますが、ここでは本記事に関係する主な3つをご紹介します。
1. 保存容量 + 2. リクエスト数 + 3. データ転送料(エグレス料金)
- 保存容量は、S3に保存しているデータ量に応じて発生する料金です。
- リクエスト数は、S3に対して行われるデータの保存・取得・削除などの操作(リクエスト)の回数に応じて発生する料金です。
- データ転送料(エグレス料金)は、S3からインターネットなどを通じてAWS外部へデータを転送する際に発生する料金です。
データ転送料が高くなりやすいケース
それではなぜ、データ転送料(エグレス料金)が高くなってしまう場合があるのでしょうか。
- 動画や画像など大容量コンテンツを配信している
- コンテンツの視聴回数やダウンロード回数が増えている
- サービスの利用者やアクセス数が増えている
このように、大容量コンテンツを多くのユーザーへ配信するサービスでは、インターネットを通じてAWS外部へ転送するデータ量が増えるため、それに伴ってデータ転送料が高くなってしまうケースがあります。
S3のデータ転送料を見直すには、配信データ量を減らす方法やCDNの活用、ストレージサービスの変更などが考えられます。
ここでは、その選択肢の一つとして「Cloudflare R2」を紹介します。
Cloudflare R2とは? S3との違いを解説
「Cloudflare R2」は、Cloudflareが提供するサービスで、Amazon S3と同じオブジェクトストレージサービスにあたります。
S3互換APIに対応しているほか、インターネットへのデータ転送にかかるエグレス料金が無料という特徴があります。
ここからは、S3との料金体系の違いやR2のメリット、注意点を見ていきましょう。
Cloudflare R2の料金項目
R2がS3と大きく違うところは、インターネットなど外部へのデータ転送にかかる「エグレス料金が無料」であることです。
Cloudflareでは、主に以下の2項目で料金が決まります。
1. 保存容量 + 2. リクエスト数
Cloudflare R2には、一定の無料利用枠が設けられていますが、無料利用枠を超えた分や、利用するストレージクラスなどの条件に応じて料金が発生します。
料金体系の詳細は利用条件によって異なるため、ここでは概要として紹介します。
Cloudflare R2のメリットと注意点
Cloudflare R2には、データ転送料が無料であること以外にも、S3からの移行やデータ配信におけるメリットがあります。
一方で、利用する際には料金や現在のシステム構成など、事前に確認しておくことも大切です。
メリット
- データ転送料(エグレス料金)が無料
- 既存のS3からデータを移行するための機能が用意されている(R2 Super Slurper)
- S3互換APIに対応しており、S3のツールやライブラリなどを構成によっては大きく変更せずに利用できる
- Cloudflare CDNと組み合わせることで、キャッシュを活用したデータ配信の効率化が期待できる
注意点
- すべてが無料ではなく、ストレージの保存容量やリクエスト数に応じて料金が発生する
- すべての環境でR2に移行すれば安くなるわけではない
AWS S3からCloudflare R2への移行でデータ転送コストを削減できる?
では、AWS S3からCloudflare R2へ移行すればコストを削減できるのでしょうか。
「データ転送料(エグレス料金)」についてであれば、R2への移行によって削減できる可能性があります。
Cloudflare R2はデータ転送料(エグレス料金)が0円
普段から動画や画像などのコンテンツを外部のユーザーへ配信している企業であれば、R2からインターネットへのデータ転送料(エグレス料金)が無料になることで、コストを削減できるかもしれません。
ただし、全体のコストを見る場合には、データ転送料だけでなく、保存容量やリクエスト数などその他の料金も含めた検討が必要です。
R2へのリクエスト数がとても多い場合には、その分料金が発生するため、データ転送料だけではなく、全体の利用料金を比較することが大切です。
そこで、R2への読み取りリクエストを抑える方法の一つとして、Cloudflare CDNと組み合わせる方法をご紹介します。
R2&CDNの組み合わせ
Cloudflare CDNは、ユーザーとオリジンサーバーの間に配置されるサービスで、キャッシュ機能を利用することができます。
キャッシュが有効に機能すれば、一度取得したコンテンツをキャッシュから配信できるため、同じコンテンツを配信する際に毎回R2へリクエストする必要がなくなります。
R2への読み取りリクエストを減らし、リクエスト料金を抑えられる可能性があります。
また、キャッシュからコンテンツを配信することで、表示速度の改善も期待できます。
S3からR2への移行を検討したほうがいい企業は?
ここからは、R2への移行を検討したいケースを整理します。
R2への移行を検討したいケース
- 動画・画像など大容量コンテンツを大量に配信している
- サービスの利用者やコンテンツのダウンロード回数が増加している
- S3のデータ転送料が負担になっている
このような場合には、R2への移行によってコストを削減できるかもしれません。
R2に移行してもコスト削減につながりにくいケース
- ログやバックアップなど、保存したデータをほとんど読み出さない用途でS3を使用している
- インターネットへのデータ配信をほとんど行わない
- S3と連携するシステムが主にAWS内にあり、現在のデータ転送料が少ない
- R2への移行に伴うシステム改修や運用変更のコストが大きい
一方で、このような場合には、R2へ移行しても十分なコスト削減につながらない可能性があります。
移行前に確認したいポイント
最後に、R2へ移行する前に確認しておきたいポイントを整理します。
- S3の保存容量、リクエスト数、データ転送量などの利用状況
- 現在のAWS構成とS3との連携
- 移行に必要な作業や既存システムへの影響
- R2に移行した場合の料金
現在のS3の利用状況と移行による影響を確認し、R2へ移行した場合のコストと比較したうえで判断することが大切です。
まとめ
以上のように、Cloudflare R2はデータ転送料(エグレス料金)が無料であるため、S3のデータ転送料を削減する選択肢の一つになります。
ストレージの用途や保存容量、リクエスト数、外部へのデータ転送量など、自社の利用状況を確認したうえで、どのサービスが適しているかを検討することが大切です。
また、当社では、「R2に移行すると本当に安くなるのか」、「自社の利用状況に合っているのかわからない」といったご相談にも対応しています。
AWSのコスト削減やストレージ環境の見直しをご検討の際は、以下のリンクからお気軽にお問い合わせください。