5 ポイント 投稿者 GN⁺ 2024-01-16 | 1件のコメント | WhatsAppで共有

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. 1つ目の実験では、2つのEC2インスタンスをプライベートサブネットを持つVPCに配置し、us-east-1aのインスタンスからus-east-1bのインスタンスへ1TBのファイルを転送する。
    2. 2つ目の実験では、S3 Gatewayエンドポイントを持つVPCに2つのインスタンスを配置し、us-east-1aのインスタンスからS3バケットへ1TBのファイルをアップロードした後、us-east-1bのインスタンスでそのファイルをダウンロードする。

結果

  • 標準的なデータ転送の実験では、予想どおり$20のコストが発生した。
  • S3ベースのデータ転送の実験では、保存コストとして数セントしか発生せず、実際にはS3保存コストがまったく請求されなかった。

結論

  • AWSはS3データをアベイラビリティーゾーン間で複製しており、そのコストはS3ストレージ料金に含まれている。
  • データをS3にアップロードした直後に削除することで、99%のコスト削減を達成できる。
  • この方法は既存のデータ転送コードを置き換えるものではなく、直接のネットワーク接続よりもレイテンシーが高くなる可能性はあるが、コスト削減が主な関心事であれば効果的な方法である。

GN⁺の意見

  • この記事は、AWSでデータ転送コストを削減する創造的な方法を提示しており、クラウドサービスを利用する企業や個人に大きな節約効果をもたらす可能性がある。
  • 特にS3を活用したデータ転送方法は、AWS内でデータを移動する際に発生するコストを大幅に削減できる効果的な戦略である。
  • このようなコスト削減手法は、クラウドインフラを最適化したい企業のクラウドアーキテクトやシステム管理者にとって非常に有用な情報を提供する。

1件のコメント

 
GN⁺ 2024-01-16
Hacker Newsの意見
  • Lightsailインスタンスの活用法

    • Lightsailインスタンスは、AWSリソース(例: EC2インスタンスやS3バケット)からデータを「プロキシ」するために使える。
    • 各Lightsailインスタンスには、料金に含まれる一定量のデータ転送量がある($3.5インスタンスは1TB、$5インスタンスは2TBなど)。
    • $10インスタンスは3TBのトラフィックを提供し、最もコストパフォーマンスが高い。
    • EC2で3TBのトラフィックは$276.48、S3バケットでは$69の費用がかかる。
    • 欠点: Lightsailインスタンスを使う場合、受信トラフィックと送信トラフィックの両方が「トラフィック」として計算される。
  • コスト削減トリックへの警告

    • コストを削減し、無料リソースを得るためのさまざまなトリックが存在する。
    • こうした方法は巧妙だが、信頼性に欠ける。
    • これは、OSSリポジトリを通じたGitHub Actionsでの暗号通貨マイニングのようなタイプのハックである。
    • 興味深いハックの練習として捉えるべきであり、AWSアカウントが停止されるリスクがあるため、実際の製品にはデプロイしないこと。
  • VPSの代わりにクラウドソリューションを使う際の考慮点

    • VPSを使う場合、高可用性(High Availability)の問題はどう解決するのか?
    • 小規模ビジネスであっても、常時稼働している必要がある。
    • 2つ以上のVPSインスタンスに同じインフラを設定し、ロードバランシングを行うのが一般的である。
  • S3ストレージ費用の計算

    • S3ストレージ費用は、GB月あたりの料金で課金される。
    • 1TBのデータが1時間バケットに残っていた場合、費用は約3セントになる。
    • データが削除される直前であれば、費用はさらに低くなる可能性がある。
    • コストと使用状況レポートのTimedByteStorage値が決定的である。
  • GCPでの類似ループホールの修正

    • GCPは2023年に、利用者の乱用によって類似のループホールを修正した。
    • AWSでも、この行為が広く行われるようになれば同様の措置が取られると予想される。
  • クラウドコスト削減のための追加のヒント

    • 大口のAWS顧客であれば、割引を交渉できる可能性がある。
    • 1つのアベイラビリティゾーン(AZ)にすべてを配置することが、コスト削減に役立つ場合がある。
    • 複数のAZを使う場合は、負荷を考慮したAZバランシングを行う。
  • クラウドの代替案

    • 複雑で高価なクラウドサービスを使わずに自前でホスティングする、Cloudflareのようなデータ転送料のないサービスを使う、あるいは安価なVPSホスティングサービスを利用するのが代替案になり得る。
    • クラウドコスト分析が必要な段階に達しているなら、クラウド利用を再考すべきである。
  • AWSの複雑さと最適化の問題

    • AWSは非常に複雑で、顧客が1つの要素だけで最適化するのが難しい。
    • あまりに多くの人がこうしたトリックを使えば、AWSはループホールを塞ぐ可能性がある。
  • 帯域幅使用量が多い場合の代替案

    • Leaseweb、PhoenixNAP、Hetzner、OVHなど、帯域幅料金がはるかに安いサービスを検討すべきである。
    • AWSの帯域幅料金については、交渉に応じない場合もある。
  • ECRを使ったトリック

    • ECRを使うと、毎月インターネットへ最大5TBまで無料で転送できる。
    • コンテナイメージは公開でなければならないが、中身は暗号化できる。
    • メディアアーカイブをGlacierに保存する際に有用である.