AWSでデータ転送コストを大幅削減
(bitsand.cloud)AWSでデータ転送コストを99%削減する方法
- AWSでデータを転送する際、うっかり過大なコストを支払ってしまいやすく、特にデータ転送に注意しないと費用がかさむ可能性がある。
- AWSはデータ転送に対して次のような料金を課している:
- AWSからパブリックインターネットへデータを転送する場合、リージョンに応じて1GBあたり$0.09〜$0.154が課金される。
- AWSリージョン間のデータ転送は1GBあたり$0.02〜$0.147が課金され、これはAWSネットワークの外に出ないデータ転送に対する費用である。
- 同じAWSリージョン内のアベイラビリティーゾーン間のデータ転送は1GBあたり$0.01の費用が発生し、これはすべてのリージョンで共通である。
AWS PrivateLinkとVPCエンドポイントの活用
- AWS PrivateLinkとVPCエンドポイントを使うことで、データがAWSネットワークの外に出ないようにでき、これは価格面だけでなくセキュリティ面でも有用である。
- これらの機能は無料ではなく、独自の制限や価格設定の複雑さもあるが、詳細はAWSとVantageで確認できる。
S3を使ったデータ転送コストの回避
- S3のほとんどのストレージクラスは、データをアベイラビリティーゾーン単位ではなくリージョン単位で保存する。
- S3 One Zone-Infrequent AccessやS3 Express One Zoneのような一部のストレージクラスは、単一のアベイラビリティーゾーンにのみデータを保存する。
- 標準のS3バケットに保存されたデータは、すべてのAWSアベイラビリティーゾーンから同等に利用でき、S3からデータをダウンロードすること自体は無料である(リージョン間またはパブリックインターネットへのデータ転送時にのみ標準のデータ転送料金が発生する)。
デモ
- AWSアカウントを新規作成し、価格測定時にノイズが入らないようにする。
- 2つの実験を行う:
- 1つ目の実験では、2つのEC2インスタンスをプライベートサブネットを持つVPCに配置し、
us-east-1aのインスタンスからus-east-1bのインスタンスへ1TBのファイルを転送する。 - 2つ目の実験では、S3 Gatewayエンドポイントを持つVPCに2つのインスタンスを配置し、
us-east-1aのインスタンスからS3バケットへ1TBのファイルをアップロードした後、us-east-1bのインスタンスでそのファイルをダウンロードする。
- 1つ目の実験では、2つのEC2インスタンスをプライベートサブネットを持つVPCに配置し、
結果
- 標準的なデータ転送の実験では、予想どおり$20のコストが発生した。
- S3ベースのデータ転送の実験では、保存コストとして数セントしか発生せず、実際にはS3保存コストがまったく請求されなかった。
結論
- AWSはS3データをアベイラビリティーゾーン間で複製しており、そのコストはS3ストレージ料金に含まれている。
- データをS3にアップロードした直後に削除することで、99%のコスト削減を達成できる。
- この方法は既存のデータ転送コードを置き換えるものではなく、直接のネットワーク接続よりもレイテンシーが高くなる可能性はあるが、コスト削減が主な関心事であれば効果的な方法である。
GN⁺の意見
- この記事は、AWSでデータ転送コストを削減する創造的な方法を提示しており、クラウドサービスを利用する企業や個人に大きな節約効果をもたらす可能性がある。
- 特にS3を活用したデータ転送方法は、AWS内でデータを移動する際に発生するコストを大幅に削減できる効果的な戦略である。
- このようなコスト削減手法は、クラウドインフラを最適化したい企業のクラウドアーキテクトやシステム管理者にとって非常に有用な情報を提供する。
1件のコメント
Hacker Newsの意見
Lightsailインスタンスの活用法
コスト削減トリックへの警告
VPSの代わりにクラウドソリューションを使う際の考慮点
S3ストレージ費用の計算
GCPでの類似ループホールの修正
クラウドコスト削減のための追加のヒント
クラウドの代替案
AWSの複雑さと最適化の問題
帯域幅使用量が多い場合の代替案
ECRを使ったトリック