- データエグレスとはクラウド外へ出ていくトラフィックのことで、ダウンロードやクラウド間移動のような大容量転送が多いほど、請求額が急速に膨らむ可能性がある
- 課金は通常、月ごとの GB/TB 転送量を基準に行われ、クラウドへ入ってくるイングレスは概ね無料であるため、コスト構造は非対称になっている
- 1TB 超過分のエグレスでは、Runpod、GPUhub、Civo、Lambda Labs は無料・無制限である一方、AWS は $90、Google Cloud は $120、Vercel は $150、Netlify は $550 まで上がる
- 比較金額はリージョンや条件によって変わり、North Virginia または Frankfurt に近いリージョンを基準に複数の仮定を置いた推定値であるため、最新価格の確認が必要
- コストを抑えるには、CDN キャッシュ、圧縮、転送量のプーリング、使用量アラート、同じデータセンター・リージョン内のプライベートネットワークを検討し、NAT gateway のような追加料金も併せて確認する必要がある
データエグレスが課金される仕組み
- データエグレスとはネットワークを出ていくデータ、より具体的にはクラウドプロバイダーのネットワークからパブリックインターネットへ出ていくデータを意味する
- ユーザーがクラウドからデータをダウンロードする場合や、あるクラウドプロバイダーから別のクラウドプロバイダーへデータを送る場合がこれに該当する
- 料金は一般的に、ネットワーク外へ送信したデータ量を基準に課される
- 測定単位は通常、月ごとの GB または TB 転送量である
イングレスとエグレスの違い
- クラウドプロバイダーから見たデータ転送は2種類に分かれる
- イングレス: ネットワークに入ってくるデータで、概ね無料
- エグレス: ネットワークを出ていくデータで、概ね課金対象
- ユーザーがクラウドストレージにファイルをアップロードすると、クラウドプロバイダー側から見ればイングレスとなる
- 同じファイルをダウンロードすると、プロバイダーのネットワークからユーザー、または CDN のような中間層へデータが出ていくため、エグレス料金が発生する可能性がある
プロバイダーがエグレス料金を取る理由
- クラウドプロバイダーは、ネットワーク外へデータを送るために インフラと帯域幅 のコストを負担している
- ネットワーク品質とコスト構造はプロバイダーごとに異なる場合がある
- 一部のプロバイダーは ISP とのピアリング契約がより良好だったり、より安定したネットワークインフラを備えていたりする場合がある
- エグレス料金は、ネットワークを逼迫させ得る利用形態や、クラウドプロバイダー間で大量データを継続的に移動する利用を抑制する仕組みとしても使われることがある
1TB 超過分のエグレス料金比較
- 無料枠を超えた 1TB のエグレス費用は、プロバイダーによって大きく異なる
- 無料またはほぼ無料のプロバイダーもある
- Runpod、GPUhub: 無料・無制限
- Civo、Lambda Labs: 無料・無制限
- Cloudflare: ほとんどのサービスで無料
- Gcore: サーバーのエグレスは無料、CDN は 1TB 込みでその後 €0.030/GB
- Scaleway: ほとんどのサービスで無料、インスタンスサイズに応じた帯域幅上限あり
- 低単価に分類されるプロバイダーもある
- Hetzner: インスタンスごとに月 1〜60TB 無料、超過 1TB は約 $1.14 または €1/TB
- Akamai Cloud: インスタンスごとに月 1〜20TB 無料、超過 1TB は $5.00
- Oracle Cloud: 月 10TB 無料、超過 1TB は $8.50
- Backblaze、DigitalOcean、Vultr: 超過 1TB は $10.00
- 主要クラウドとプラットフォームの 1TB 超過費用はさらに高い
- Azure: 月 100GB 無料、Premium network North America 基準で $87.00
- AWS: 月 100GB 無料、North America 基準で $90.00
- Google Cloud: サービスごとに異なり、Premium network 基準で $120.00
- Vercel: プランにより 100GB〜1TB 無料、Edge 基準で $150.00
- Firebase: 月 10GB 無料、$200.00
- Render: プランにより 100GB〜1TB 無料、100GB あたり $30 課金で 1TB は $300.00
- Netlify: プランにより 100GB〜1TB 無料、100GB あたり $55 課金で 1TB は $550.00
- 価格はリージョンやその他の条件によって変わる場合がある
- 比較は North Virginia または Frankfurt に近いリージョンを基準としている
- 複数の仮定を置いた推定値であるため、最新情報は各プロバイダーの価格ページで確認する必要がある
エグレスコストを下げる方法
- ほとんどのクラウドプロバイダーは、毎月一定量の 無料エグレスを提供している
- アカウント全体の許容量として提供される場合がある
- サーバー数に応じて、サーバーごとの月間転送量がプールされる場合もある
- 使用パターンとプロバイダー選択によっては、エグレス料金を完全に回避または最小化できる
- CDN を使うと、静的アセットをユーザーの近くにキャッシュして配信でき、クラウドプロバイダーからユーザーへ直接転送されるデータ量を減らせる
- 圧縮は、転送前にデータサイズを小さくして転送量を減らす方法である
- Gzip と Brotli が代表的な圧縮アルゴリズムである
- データ転送プールを提供するクラウドを選ぶと、同じアカウント内の複数サービスの許容量を合算して使える
- 使用量と請求アラートを設定すると、無料枠や特定のしきい値に近づいたときに通知を受け取れる
- 同じデータセンターやリージョン内でプライベートネットワークを使う場合、サービス間転送のエグレスが無料になることがある
- ただし、NAT gateway 料金や他の追加費用が適用される場合があるため確認が必要
1件のコメント
Hacker Newsの意見
送信トラフィック費用は、多くの組織が当面クラウドプロバイダーへ完全移行しない十分な理由になる
ストレージ費用と違って実際の原価上の理由がはっきりあるようには見えず、競合へ移る費用を場合によっては負担しにくくする効果だけがあるように見えて奇妙
例えば私が関わっているある会社は、配信会社にクリエイティブ資産を届ける事業をしていて、月に約180TBを送信し、平均では約500Mb/s程度
この会社は商用データセンターで2ラックを運用し、10Gb/s Ethernet-over-DWDMで接続しており、各データセンターに2x512Mb/sと1x1Gb/sのインターネットアップリンクがある
各ラックには、AMD Zenコア約64個、RAM 1/2TB、NVMe約8TB、SAS RAID6ストレージ約100TBを備えた汎用OEMサーバーが2台ある
AWSの送信費用を節約するだけでもこの構成は正当化でき、保守エンジニアの費用まで含めても十分に成り立つ。実際の運用工数も最小限で済んでいる
なので、クラウドプロバイダーが大きな市場を取り逃しているのか、それとも現在の顧客に乗せているマージンが十分に収益性の高いものなのか気になる
AWSを使っていて、中〜大規模のデータが行き来するSaaSを使いたいとすると、例えばhttps://www.snowflake.com/en/data-cloud/pricing-options/のような選択肢が出てくる
驚くことに、AWS、Azure、GCPの中から選べる。Snowflakeはこれらのクラウド上でホスティングするために大金を払い、その費用を顧客に転嫁している
Snowflakeは大規模でエンジニアも多く、すでに3つのクラウドをサポートしているので、明らかにクラウド中立的だ。物理設備を自前で運用すればはるかに安く、NVMeのおかげで性能も良くなる可能性があり、削減分を顧客と分け合うこともできる
それでもそうしない理由は、顧客からSnowflakeへの送信費用が削減分を相殺し、費用の変動性が顧客を怖がらせるからだと思う
結局、顧客が送信費用を避けようとするやり方自体が、主要クラウドに大金をもたらしている。規制当局は非常に慎重に調べるべきだが、クラウド側からすれば見事な事業判断だ
ところが最初の月の送信トラフィック費用だけで2万5千ドルのAWS請求書が来て、データがAWSの外へ3回も出ていたことが判明した
インターネット回線を引くのと同じようにすればよく、AWSは多くのサードパーティのキャリアニュートラルデータセンターでDirect Connectを運用している
Direct Connect経由のAWS送信は、パブリックインターネットの$0.09/GBではなく$0.02/GB
顧客には課金なしのインターネット回線でサービスし、バックエンドではDirect ConnectでS3のようなサービスへアクセスできる
コンシューマー向けISPは時にオープンなインターネットエクスチェンジとピアリングしないよう全力を尽くすし、帯域幅がより高価な地域、例えばオセアニアへ行くとはるかに複雑になる
Cloudflareの営業が価値説明用によく見せるチャートがArgo Smart Routingなのには理由があり、AWSやGCPのようにTBあたり約100ドルかかる理由もそこにある
問題は、帯域幅の価格がどう決まるのかを知らないソフトウェアエンジニアの世代が何度も生まれていることだ
彼らはGBあたり数セントずつ、受信/送信単位で課金するマネージドプロバイダーしか使ってこなかった
記事では「クラウドプロバイダーはネットワークの外へデータを送るのに費用がかかるため、送信に課金する。ユーザーへデータを送るために必要なインフラと帯域幅の費用を払う必要がある」としているが、大手の場合、料金は原価ベースではない
彼らが法外に高く取る理由は、顧客とデータを自社プラットフォームに閉じ込めておきたいからだ。データを移すことは脱出行為なので、高い費用でそうした行動を抑制している
Bandwidth Allianceがあり、多くのクラウド企業がリストに載っている: https://www.cloudflare.com/en-gb/bandwidth-alliance/
実際の答えははるかに複雑だ。例えばGoogle Cloudはプレミアムと標準という2つの帯域幅ティアを提供している
元記事の計算はデフォルトオプションであるプレミアムを前提にしているようで、当然はるかに高い
Google Cloudの「プレミアム」帯域幅は、Google自身のバックボーンネットワークをできるだけ長く使ったうえで、エンドユーザーのISPとGoogleの間の最も近いピアリング地点から出ていくという点で、AWS Global Acceleratorと非常によく似ている
AWS Global Acceleratorには別の選択肢もあるので根本的には異なる製品だが、ルーティング特性はAWSの他のどの商品よりもGCPのプレミアム帯域幅に近い
顧客が送信費用を払いたがらないからだ
どこかのクラウドプロバイダーに大金を払っていたところ、自分のアプリケーションは昔ながらの一般的なWebホスティング事業者で動かすのが最もよく、最も安いと分かったなら、お金とデータは独立系Webホストに置いておくのがよい
少なくとも欧州では、小規模なWebホストが大きなグループ、おそらくプライベートエクイティの主導の下で大手に統合されていく流れがある。彼らはすぐに価格を数百パーセント引き上げる
この3〜4年で、オランダの複数のWebホストでこうしたことを何度か経験したし、ごく最近も、あるところの月額請求が約3ユーロから約18ユーロに上がった
「送信コスト」の話を読むたびに、たいてい笑ってしまう。自分のデータは自分のデータなのに、なぜ自分のハードディスクから取り出すのにお金を払わなければならないのか理解できない
だが、自分のユースケースにも暗雲が見え始めている。Webホストが次々と統合され、AWSのまねをして大幅に値上げした後、最終的には送信コストまで作り出すだろうというのも、もはや信じがたい話ではない
買収された後、「新しい料金体系に合わせてプランをアップグレードします」のような気持ち悪い文面のメールを送ってきて、約2年のうちに年450ユーロ払うことになった
数年で9倍の値上げは、オランダで見たプライベートエクイティ的な動きの中でも最も良心に欠けるものだったし、法外な送信コストを乗せてくるのも時間の問題だという予測には同意する
ネットワーク帯域は有限のリソースなので、その分の費用を払う必要があり、顧客に配分しなければならないことが分かるはず
顧客が誤って無限だと期待しているものを有限なものにし、配分する最も簡単な方法は課金することであり、需要を抑えられるまさにその価格を取ることだ
注意すべき抜け道が一つある。クラウドプロバイダーが送信を安く提供していても、インスタンスのネットワーク速度を制限することで、送信量の多いワークロードを高くつかせることができる
複数のベンダーは、構成要素のどれか一つでも飽和すると、インスタンス全体を大きくさせる。例えばCPUがそれ以上必要なくても、ネットワークスループットを増やすには2 CPUインスタンスから4 CPUインスタンスに上げなければならない、という具合だ
表面的には送信が安く、インスタンスもハードウェア比で価格がよさそうに見えるが、ワークロードがバランスの取れたインスタンス、例えば1 CPU / 1 GB RAM / その他の比率を必要としない場合、価格がおかしくなることがある
Oracle Cloudは、Google、Microsoft、Amazonが請求する額の一部しか請求しない
Oracleがどうやってそこまでコストを低く保っているのか気になる。あるいは、他社が顧客を競合へ移れないように価格をつり上げているのか?
もしそうなら、Oracleはこうしたベンダーロックインの慣行を取っていない点で称賛されるべきだ
Oracleも送信コストでかなりよいマージンを得ている可能性が高い
AWS/GCP/Azureのコストが法外なのは、多くの顧客にとって運用中は大きな費用ではないが、データを外へ移すときに費用を負担しきれなくするためだ
彼らにとっては単なるベンダーロックイン装置だ
OVHCloudは無料: https://us.ovhcloud.com/public-cloud/faq/
データ企業として、Scaleway、Hetzner、OVHの恩恵を大きく受けている
ただしScalewayは米国インフラを追加する計画がなく、Hetznerに米国での存在感があるのかは分からない
同じ費用でより多くの帯域を提供できるのは驚くことではない
HetznerのARMプランは、2xvCPU、RAM 4GB、ストレージ40GB、送信20TBを月3.79ユーロで提供しており、中小規模のWebサイトには太刀打ちできない価値がある
いわゆるウォレット拒否攻撃から保護されるべきだ
こんなに狂ったように高いとは知らなかった。Google FiberのインターネットにつないだSynology NASのWebサイトに映画の1TBフォルダを置いて、友人に無料でダウンロードさせることができる
なのに同じWebサイトをGoogle Cloudでホストすると**$111.60**を請求されるということ? こんな価格設定がどうして可能なのか分からない
それにクラウドデータセンターでは信頼性の9が一つ増える
一般に商用アプリケーションを運用することも禁じられている
Google Fiberは優れたネットワークではあるが、交換地点は米国内の数十か所にすぎない
Google Cloudの顧客なら、送信トラフィックは世界中のエッジまでGoogleのネットワーク上を通り、数百の相互接続地点と交換所を利用する
おそらくエンドユーザーから数マイル以内に到達するまで、トラフィックはプライベートネットワーク上にあるはずだ
これはリンゴとダイヤモンドを比べるようなものに近い
Google Cloud 側の計算が プレミアム ネットワーキング オプションなのか標準ネットワーキングなのかが気になる
この2つは大きく異なる。標準ネットワークは AWS の送信により近く、GCP のプレミアム オプションはデフォルトでローカル PoP と Google バックボーンのダークファイバーを使ってオリジンまで接続する
Google Cloud の場合、離れたいなら実際に送信費用なしで移行できることも覚えておくべき: https://cloud.google.com/blog/products/networking/eliminatin...
これが通常の送信費用を変えるわけではないが、反競争的慣行だと非難されるのを避けるための応急措置である可能性が高い