一部の大手クラウドサービスプロバイダーの無料サービスでは、「ほとんど警告なしに、恐ろしい額の請求が来る場合がある」。そうした事態を避けるための注意点を、Backblazeが解説した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
クラウドストレージやクラウドバックアップサービスを提供するBackblazeは2022年7月14日(米国時間)、一部の大手クラウドサービスプロバイダーの無料サービスには「隠れたサプライズ」があり、「ほとんど警告なしに、恐ろしい請求が来る場合がある」と指摘し、そうした事態を避けるための注意点を解説した。
Amazon Web Services(AWS)、Google Cloud Platform(GCP)、Microsoft Azure(Azure)など、大規模で多様なクラウドサービスプロバイダーが「無料枠」「無料利用枠」などと呼ばれる無料サービスを提供している。ただし、仕組みは各社で若干異なっている。
・AWS
AWSの100以上の製品とサービスには、「常に無料」や「12カ月間無料」などの無料オプションがあり、それぞれ異なる使用制限が設けられている。例えば、「Amazon S3」では、最初の12カ月間は5GBのオブジェクトストレージが無料で利用でき、その後はS3のさまざまな契約プラン別にそれぞれの単価で課金される。
・GCP
GCPでは、90日間有効な300ドル分のクレジットを使って無料でサービスを試すことが可能な「無料トライアル」を提供している。また、「Cloud Storage」や「Compute Engine」などの「無料枠プロダクト」については、指定の使用量上限まで無料で利用できるようにしている。例えば、Cloud Storageでは、5GBのストレージと1GBのネットワーク(送信)を無料で利用できる。
・Azure
AzureはGCPと同様に無料トライアルを提供しているが、期間が30日間と短く、クレジット額が200ドル分と少ない。クレジットを使い切ったり、期間が過ぎたりした場合は、有料プランへの移行を選択できる。Azureは、さまざまな制限やしきい値が設定された12カ月間無料のサービスや、一定の制限内であれば「常に無料」のサービスも提供している。
このように、主要クラウドサービスプロバイダーの無料サービスをざっと見ただけでも、次の3つのポイントが見えてくる。
(1)無料枠や無料トライアル用クレジットは、長期的なソリューションとしては使えない
これらのサービスは、概念実証やごく小規模な製品をテストするには有効だが、時間や使用量の制限を超えて利用することはできない。
(2)無料サービスの内容は、プラットフォームやサービスによって異なる
無料サービスを使ってサーバやリソースを起動する前に、サービス内容と制限の詳細を把握する必要がある。
(3)プロバイダーの最終目標は、顧客を有料サービスに移行させることだ
クラウドサービスプロバイダーは、無料サービスを使って概念実証を行う顧客が、クラウドプラットフォームで有料サービスを使って本番環境をホストするようになることを望んでいる。
GCPとAzureでは、無料ユーザーは受け取った無料クレジットを超える請求から、少なくともある程度保護されている。サービスを継続利用するには、有料プランにアップグレードする必要があるからだ。
そのため、インターネットで目にする「クラウドサービスで思わぬ高額請求を受けた」という報告のほとんどは、AWSに関するものだ。AWSでは、トライアル期間が終了するか、サービス使用量が割り当てられた制限を超えると、そのまま標準料金が課金される。そこでBackblazeはAWSに的を絞って、無料サービスの注意点を次のようにまとめている。
AWSの無料サービスには大きく3つの注意点がある。不注意によるものと、サイバー攻撃によるものがあり、無料サービスを維持するのがかなり難しい場合がある。ユーザーがサービスの使用量を常に管理しておくことが大前提だ。
注意点1 無料サービスが有料になってしまう
あまり注意を払っていなかった無料インスタンスが料金請求の対象になり、時には請求額が膨大になってしまう理由は多々ある。その幾つかの例を次に示す。
・プロジェクトのために「Elastic Compute Cloud」(EC2)インスタンスを起動し、無料枠の制限を超えるまで忘れていた
・複数のAWSアカウントにサインアップしたが、どれが課金対象になるか分からないままにしていた
・アカウントがハッキングされ、暗号通貨の採掘に利用された。これは実際に起こり得ることであり、その結果、法外な額の請求が発生することもある
注意点2 予期せぬ請求に対する保護はせいぜい月並み
AWSは予期せぬ請求に対する保護を最小限にしている。無料枠には制限と、定義された制約があり、アカウントを無料で使い続ける唯一の方法は、「使用する各サービスについて、使用量をユーザー自ら制限以下に保つ」ことだ。
だが、AWSには何百ものサービスがあり、それぞれのサービスには独自の料金体系と制限がある。あるAWSサービスが無料でも、無料ではない別のAWSサービスや、無料となるしきい値が異なるAWSサービスと組み合わせて使っていることがある。そのため、無料枠内に収まるように使用量を管理することは、どのサービスを使用するかによって、ある程度簡単な場合もあれば、極めて複雑な場合もある。
無料サービスの制限に近づくと、アラートを受け取れるものの、それによって予期せぬ請求を確実に回避できるわけではない。課金警告が上限を超えてから通知されることもあるからだ。さらに、全てのサービスについてアラートが用意されているわけではなく、アラートが全て同じように機能するわけでもない。
課金のしきい値を超えた場合、自動的にシャットダウンするように自らのサービスを設定することもできるが、一筋縄ではいかない。まず、AWSのユーザーインタフェースを使って設定しようとすると手順が複雑だ。さらに、AWSの使い方によっては、動いているサービスを停止したくないかもしれない。
注意点3 次に何をすべきか分かっている必要がある
思わぬ請求を受けても、使用量を追跡していて、自分の使い方が正しいと分かっていれば、AWSのサポート担当者に連絡し、請求に異議を唱えればよい。
数万〜数十万ドルの請求が交渉次第で完全に免除されるかもしれない。だが、数十〜数百ドルの請求の場合、請求に異議を唱える方法を知らなかったために、そのまま支払ってしまったケースが大量にある。経験豊富な開発者でも、数千ドルの予期せぬ請求を支払う羽目になることがある。
幾つかのステップを踏むことで、AWSからの予期せぬ請求を回避しやすくなる。
・(1)サーバを起動したり、テストデータをアップロードしたりする前に、無料サービスの細則を読む
・(2)課金が一定額以内に収まるようにサービス使用量を制限できる、あるいは一定の制限を超えたらサービスを停止するように設定できるサンドボックス環境を探す
・(3)注意深く行動し、アラートの仕組みを理解した上で、サービスを起動する
・(4)そもそも無料枠を一切利用しないことも考慮に入れるべきだ。短期的なコスト節約がそれほど大きくない上に、リスクの上昇に見合わないからだ
Copyright © ITmedia, Inc. All Rights Reserved.