CloudFrontのディストリビューションが削除できない!「subscribed to a pricing plan」エラーの解決方法



CloudFrontのディストリビューションが削除できない!「subscribed to a pricing plan」エラーの解決方法

AWSのCloudFrontディストリビューションを削除しようとしたら、こんなエラーが出て困っていませんか?

You can’t delete this distribution while it’s subscribed to a pricing plan. After you cancel the pricing plan, you can delete the distribution at the end of monthly billing cycle.

さらに、Route 53のホストゾーンまで削除できなくなるという連鎖的な問題も発生します。本記事では、実際にこの問題に遭遇した際の原因と解決手順を解説します。

この記事でわかること

  • CloudFrontが削除できない原因
  • Route 53のホストゾーンが削除できない原因
  • Flat-Rate Plan(Free plan)の解除手順
  • 削除可能になるタイミング

エラーの原因:CloudFront Flat-Rate Plan

CloudFrontには「Flat-Rate Plan」という定額料金プランが存在します。無料プラン(Free plan)であっても、このプランに加入しているディストリビューションは、プランをキャンセルしない限り削除できません。

厄介なのは、以下の点です。

  • コンソールのUI上は「無効」にできるが、削除はできない
  • AWS CLIで削除しようとしても同じエラーが出る
  • Route 53のホストゾーンもこのプランに紐づいていると削除がブロックされる

AWS CLIでも同じエラー

コンソールがダメならCLIで、と思っても結果は同じです。

Route 53も巻き添えに

CloudFrontのFlat-Rate PlanにはRoute 53 DNSも含まれているため、関連するホストゾーンも削除できなくなります。

The hosted zone you are trying to delete is protected from deletion by an active CloudFront Flat-Rate Plan. You must disassociate the plan before you can delete this hosted zone.

解決手順

ステップ1:Flat-Rate Planをキャンセルする

  1. AWSコンソールでCloudFrontを開く
  2. 対象のディストリビューションIDをクリック
  3. 詳細画面の「Billing」セクションにある「Manage plan」をクリック
  4. 右側にプランの詳細パネルが表示される
  5. パネル右下の「プランをキャンセル」をクリック
  6. 複数のディストリビューションがある場合は、すべてに対して同じ操作を繰り返す

ステップ2:請求サイクルの終了を待つ

プランをキャンセルしても、すぐには削除できません。現在の請求サイクルが終了するまで待つ必要があります。

残りの日数は「Manage plan」画面の使用量ゲージ横に「◯ days left」と表示されています。請求サイクルは通常月末に終了するため、翌月1日以降に削除が可能になります。

ステップ3:ディストリビューションとホストゾーンを削除する

請求サイクル終了後、以下の順番で削除します。

  1. CloudFrontディストリビューションを無効化(まだの場合)→ 削除
  2. Route 53ホストゾーン内のレコードを削除 → ホストゾーンを削除

削除待ちの間、課金は発生する?

リソース 状態 課金
CloudFront(Free plan + 無効) 無効化済み なし($0/月)
Route 53 ホストゾーン 存在するだけで課金 $0.50/月(約75円)× ゾーン数

CloudFrontは無料プランかつ無効化済みなら課金されません。ただし、Route 53のホストゾーンは存在するだけで月$0.50かかるため、不要なら早めに削除したいところです。

よくあるハマりポイント

「Savings Bundle」と「Flat-Rate Plan」は別物

CloudFrontの左メニューに「Savings Bundle」という項目がありますが、これはFlat-Rate Planとは別のものです。Savings Bundleの画面に「使用開始」ボタンが表示されていても、Flat-Rate Plan(Free plan)には加入している場合があります。

プランの確認は、各ディストリビューションの詳細画面から「Manage plan」で行ってください。

PriceClassを変更しても解決しない

AWS CLIでPriceClassを変更して削除を試みる方法も見かけますが、Free planの場合は以下のエラーが出ます。

まとめ

CloudFrontのディストリビューションが「pricing plan」エラーで削除できない場合の対処法は以下の通りです。

  1. 各ディストリビューションの「Manage plan」→「プランをキャンセル」
  2. 請求サイクル終了(月末)まで待つ
  3. 翌月以降にCloudFront → Route 53の順で削除

コンソールでもCLIでも削除できず焦りますが、プランのキャンセル自体は簡単です。月末まで待つ必要があるのが少し面倒ですが、Free planなら待機中の課金は発生しないのでご安心ください。

最後までお読みいただきありがとうございます。
よろしければブログやTwitterでのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

ITパスポート、基本情報技術者、応用情報技術者などIPAが提供する国家資格の過去問を学べるモバイルアプリをリリースしました。
詳しくは下記のプレスリリースをご覧ください。
https://prtimes.jp/main/html/rd/p/000000008.000073303.html

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






CloudFront

Posted by ちこ