顧客の利用プラン管理ガイドライン (アドオンパートナー向け)
最終更新日 2024年02月06日(火)
Table of Contents
Heroku では、アドオンプランは月額料金で請求され、料金は秒単位の従量課金となります。アドオンパートナーが提供するサービスの使用量は “バースト” する場合があり、料金は毎月一定にはならないため、パートナーによってはこのことが課題になることがあります。この記事では、この不一致を管理したり、濫用の可能性がある顧客を特定してブロックしたりするための一連の原則と手法について学びます。
すべての有害な使用が濫用とは限らないことに注意してください。顧客が自らの行動の影響を認識していないだけかもしれません。悪影響を軽減するために、許容できるアドオンの使い方について顧客に注意喚起してください。
一方で、スパムや詐欺に関わるアドオンの悪用は深刻な懸念事項です。アドオンの悪用が疑われる場合は、アドオンを無効にして Heroku までお問い合わせください。
プランのしきい値制限の設定
必ず、リソースの使用量をプランの制限との相対値で追跡してください。リソースの使用量を追跡していることを前提に、顧客が一定の使用量しきい値を超えたときに発せられる一連のアラームを作成できます。
たとえば、プランの 1 か月分のリソースの 50% を顧客が 1 週目に使い切った場合にアラームを作動させることができます。このアラームが作動したら、顧客に連絡して、現在のプランのアップグレードが必要な可能性があることを通知してください。プラン階層ごとに 1 日あたりの予想平均リソース使用量のメトリクスを計算し、これらのメトリクスに基づいてしきい値アラームを設定します。
複数のしきい値を実装してレベル分けし、各レベルのしきい値を超過するたびに顧客に連絡することをお勧めします。これによって、将来何らかの是正措置が講じられても顧客が慌てなくて済むようにします。
コミュニケーション
「Syncing User Access」(ユーザーアクセスの同期) の記事は、アドオンのインストールに関連付けられたユーザーの完全なリストを取得するために役立ちます。
必ず、SSO ダッシュボードを通じて、また必要であればメールを使用して顧客とコミュニケーションを図ってください。最適なコミュニケーション手段は、顧客のアドオン使用状況によって異なります。予告なしに措置を発動するのではなく、しきい値に基づいて制限の問題を早めに通知することをお勧めします。
顧客がリソースの使用状況をプランの制限と関連付けて把握できるよう、アドオンの SSO ダッシュボードに一連のレポートを作成することを検討してください。
必ず、プランをアップグレードしなかった場合の結果を顧客に示して説明してください。たとえば、アップグレードしなかった場合、古いメッセージが破棄されたり、新しいトランザクションが拒否されたり、その他の意図しない動作が発生したりする可能性があることを説明します。
影響の軽減
プランをプロビジョニング、プロビジョニング解除、アップグレード、およびダウングレードする能力は顧客の掌中にあります。しかし、アドオンパートナーの側にも、影響軽減のためにとり得るいくつかの選択肢があります。
プランのダウングレードの拒否
プランのダウングレードリクエスト (下位層プランへの “プラン変更” リクエスト) を拒否することができます。これは、顧客がダウングレードをリクエストする前にプランのリソースをあまりにも早く使い切った場合に、以前に作成したしきい値に基づいて行うことができます。
プランの変更を拒否することに決めた場合は、ダウングレードを拒否した理由を説明する message
を JSON 応答に含めます。詳細は、Add-on Partner API リファレンスを参照してください。プラン変更リクエストの拒否はサポートチケットでの問い合わせにつながる場合があるため、顧客とサポートスタッフが問題を正しく認識できるよう、返す message
の内容を明確にしてください。
プランのプロビジョニングの拒否
顧客がアドオンのプロビジョニングを解除すると、Heroku は直ちに請求を停止し、リソースのプロビジョニング解除リクエストをアドオンパートナーに送信します。アドオンパートナーはプロビジョニング解除イベントを拒否できません。ただし、プロビジョニングリクエストを拒否することは可能です。
顧客がアドオンをプロビジョニングし、リソースを使用してからプロビジョニングを解除するまでの時間が短すぎることが判明した場合、拒否の理由を説明する message
を JSON 応答に含めて、それ以降のプロビジョニングリクエストを拒否できます。
非同期プロビジョニング
Add-on Partner API を利用した非同期プロビジョニングでは、プロビジョニングリクエストを条件付きで受理してから、アドオンパートナーの裁量で、最終的に受理するか拒否するかの決定を下すことができます。パートナー向け Platform API は、アプリケーション、チーム、共同作業者のメタデータなど、アドオンがデプロイされている環境について詳しい情報を得るために役立ちます。
プロビジョニングリクエストを受理するかどうかを決定するには、以下の要素を考慮してください。
- アプリケーションでアドオンをプロビジョニングおよびプロビジョニング解除した回数 (およびその時期)
- アプリケーションからの以前の使用状況
- アドオンに関連した、アプリの所有者または共同作業者のアクティビティ
- アプリケーションに関してアドオンパートナーが独自に追跡するその他のメトリクス
- アドオンパートナーがパートナー向け Platform API を使用して取得するメタデータ
方針が決まったら、パートナー向け Platform API 経由でアドオンアクションエンドポイントを使用して、プロビジョニングリクエストを受理または拒否します。
同期プロビジョニング
同期プロビジョニングを使用している場合、プロビジョニングリクエストが失敗したら、適切な message
を含めた 422 エラー応答を返すことができます。ただし、同期プロビジョニング応答中は、ほとんどのパートナー向け Platform API を使用できません。これは、Heroku がアドオンパートナーから応答を受信するまでの間は、リソースが永続ストレージに完全にコミットされていないためです。非同期プロビジョニングを使用した場合の方が選択肢は多くなります。
プラン階層の検討
一般的な顧客の使用パターンに合致するようにプラン階層を変更することで、顧客が正しいプランを選択しやすくなる場合があります。Heroku では、プランの価格改定や、(まれなケースですが) あるプランから別のプランへの顧客の大規模移行を支援することができます。
問い合わせ
利用プランの問題やアドオンの濫用疑いを軽減する方法について相談を希望される場合は、ご連絡ください。