AWSのデータ使用料金を削減する方法
AWSの価格が高いことは秘密ではありませんし、特にデータは割高です。計算は安価で、Lambda関数やEC2インスタンスのようなサービスがありますが、多くのデータを転送する場合、その料金を支払うことになります。ここでは、その請求書を減らす方法を紹介します。
AWSのCloudFront CDNを使用する
CloudFrontはコンテンツデリバリーネットワーク、つまりCDNであり、ウェブサイト、API、または他のウェブサービスの前に配置されるサービスです。これは、ユーザーの近く(エッジ近く)に結果をキャッシュすることでパフォーマンスを向上させますが、さまざまな方法で支払うコストを削減することも可能です。
まず第一に、CloudFrontははるかに大きな無料利用枠があり、常に無料です。毎月1TBのデータ、つまり1テラバイトを無料で利用できます。AWSの通常の無料利用枠は100GBなので、1TB以上を使用している人にとって、この変更だけで毎月80ドルの節約になります。
大規模なビジネスがそれ以上を費やす場合、CloudFrontはデータのGB当たりの価格も非常に競争力があります。EC2の価格とCloudFrontの価格を比較すると、CloudFrontは標準のEC2価格に対して大幅な節約を提供していることがわかります。AWSのデータ価格は階層化されており、最初の50TBでは6%、次に15%、ペタバイトレベルのデータに達すると最大50%の割引が適用されます。
最後に、CloudFrontは別の方法でもお金を節約することができます。エッジキャッシュを使用することで、オリジンサーバーへの負荷が軽減され、必要なオリジンサーバーの数が減るでしょう。CDNを使用することで、CloudFrontのサーバーが負荷の大部分を受けるため、毎月のコンピュート費用を削減することができます。
CloudFrontは単なるウェブサイト用ではなく、高トラフィックのGETリクエストなど、あらゆる種類のウェブリクエストのキャッシュに使用できることに注意することが重要です。キャッシュ使用していなくても、APIの前に置いてデータを提供し、その過程でコストを削減することができます。
AWS Lightsailを使用してください
一般の人々を対象としたシンプルなホスティングプロバイダーであるデジタルオーシャンと競争するために、AWSはLightsailを作成しました。Lightsailはシンプルなコンピューティングインスタンス、データベース、ネットワーキングのためのシンプルな料金を提供します。これらのインスタンスは、WordPressやNGINXなどの基本的なホスティングソフトウェアの実行に設計されており、プレメイドテンプレートを使用して簡単にセットアップできます。
重要な部分は、各パッケージが非常に安い料金で固定料金の帯域幅を提供することです。例えば、5ドルのインスタンスは2TBの帯域幅が付いており、これはCloudFrontでは85ドル、無料枠の1TBを含めた料金です。
これは素晴らしいですが、裏があるのです:
51.3. あなたは、他のサービスからデータ料金を回避する目的でAmazon Lightsailを使用してはなりません(例:サービスからパブリックインターネットや他の宛先へのネットワークトラフィックのプロキシ、ドキュメントに記載されている負荷分散やコンテンツ配信ネットワーク(CDN)サービスを通じた過剰なデータ処理など)。もしそのように行った場合、私たちはあなたのデータサービスを制限したり、アカウントを一時停止する可能性があります。
実際には、これはLightsailが独自のVPC内で運用されるべきであり、EC2やS3などの外部サービスを接続してコストを節約するためのプロキシとして利用することは避けるべきということを意味します。この条項は曖昧であるため、たとえばLightsailインスタンスからS3オブジェクトに対して画像処理を提供することがAWSによって許可されているのかは明確ではありませんが、Lightsailを100%使用しているのであれば問題ないはずです。
外部サービスにオフロードする
時には、より良い取引を提供できるサービスがあり、最もお金を使っているものに関してAWSを使用しないという解決策がある。ただし、特定のクラウドベンダーに縛られることは一般的にはなく、複数のサービスを使用することや「マルチクラウド」を利用することが有益である方法はたくさんあります。
注意すべきことの1つは、クラウド間で大量のデータを転送することです。例えば、AWSからGoogle Cloud PlatformやAzureに転送されるデータは、依然としてAWSからオープンインターネットを介して転送されているため、データ料金がカウントされます。注意していないと、マルチクラウドは逆により多くのお金がかかることになります。
例えば、AWS S3は高額になることがあります。メインのコストはデータストレージだと思われるかもしれませんが、コンテンツを配信する場合、データにも料金がかかり、各種リクエストにも料金がかかります。トラフィックの多いコンテンツでは、"安価なストレージ"に対してほとんど費用がかからないのに、月に数百ドルになることは簡単です。
これに対する1つの解決策は、別のS3互換サービスに切り替えることです。S3にはAPI定義があり、他のサービスもこれを実装できます。たとえば、Digital Ocean Spacesがあります。Spacesは基本的な実装ですが、信頼性が高く、S3のデータコストよりもずっと安価です。また、自分のサーバーからS3を自己ホスティングすることもできます。
専用サーバーに固定帯域幅でオフロードする
クラウドサービスが思いのままに何百もの仮想マシンを作成・削除できるようになった今、古典的な解決策---データセンターでベアメタルサーバーを購入する---が存在することを忘れがちです。
多くの企業は、データ使用量に対して小額ずつ請求しない専用サーバーを提供しています。世界で三番目に大きいホスティングプロバイダーであるOVHは、オープンインターネットへの専用500Mbps接続が付属したマシンを販売しています。
それは豪華ではなく、最善の実践的な解決策ではありませんが、もしお金を節約したいのであれば、いつでも選択肢です。それでも、AWSから別のサーバーに大量のデータを転送しないことを確認した方が良いでしょう。
オンプレミスのハードウェアがありますか?AWS Direct Connectを使用してください。
大企業にとって一般的な問題は、オンプレミスのハードウェアからクラウドサービスへの移行です。すべてをオンプレミスで実行することが利益につながらない場合もあるため、通常はコスト削減につながるものにはクラウドハードウェアを使用するハイブリッドソリューションに落ち着きます。
しかし、AWSとオンプレミスの間でデータをやり取りする場合、これはお金がかかる可能性があります。特に、一方だけを完全に使用している場合はこの料金が発生しないことを考慮するとなおさらです。
AWSにはAWS Direct Connectというソリューションがあり、これはAWSへのエンタープライズグレードの接続です。データに対しては料金が発生しますが、1GBあたり0.02ドルと、標準料金よりもはるかに安価です。また、最大100Gbpsの専用帯域幅も提供しています。
Direct Connectは単なるサービスではなく、実際の物理的な接続が必要です。これはいくつかの方法で設定できます:AWS Direct Connectデータセンターでのコロケーション、AWSパートナーと連携してデータセンターへの接続をセットアップする、または物理的なDirect Connectノードを購入することです。
いずれにせよ、このオプションは特に大企業向けであり、多くのオンプレミスハードウェアを持ち、膨大なデータを transfer するのでなければ、経済的に意味を持ちません。
明らかな解決策: データ使用量を減らす
もちろん、送信するデータのサイズを最適化することで、データ使用量を常に減らすことができます。Gzipおよびdeflate圧縮を使用することは重要であり、サーバーから提供されるウェブコンテンツの圧縮も重要です。AWSから外に出るリクエストはすべて費用がかかるため、これらのリクエストを最小限にすることが優先事項であるべきです。
例えば、S3から画像を配信している場合、できるだけ最適化されていることを確認したいでしょう。AWSの利点の一つは簡単な自動化であり、Lambda関数を使用して自動画像処理を設定するのは非常に簡単です。これにより、画像のサイズを簡単に半分に削減できます。
いずれにせよ、あなたのネットワークアーキテクチャを見直し、同じサービスをより少ないデータで提供する方法がないか確認した方が良いでしょう。



