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で、と思っても結果は同じです。
|
1 2 3 4 5 |
$ ETAG=$(aws cloudfront get-distribution --id E2XXXXX --query 'ETag' --output text) $ aws cloudfront delete-distribution --id E2XXXXX --if-match $ETAG An error occurred (PreconditionFailed) when calling the DeleteDistribution operation: You can't delete this distribution while it's subscribed to a pricing plan. |
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をキャンセルする
- AWSコンソールでCloudFrontを開く
- 対象のディストリビューションIDをクリック
- 詳細画面の「Billing」セクションにある「Manage plan」をクリック
- 右側にプランの詳細パネルが表示される
- パネル右下の「プランをキャンセル」をクリック
- 複数のディストリビューションがある場合は、すべてに対して同じ操作を繰り返す
ステップ2:請求サイクルの終了を待つ
プランをキャンセルしても、すぐには削除できません。現在の請求サイクルが終了するまで待つ必要があります。
残りの日数は「Manage plan」画面の使用量ゲージ横に「◯ days left」と表示されています。請求サイクルは通常月末に終了するため、翌月1日以降に削除が可能になります。
ステップ3:ディストリビューションとホストゾーンを削除する
請求サイクル終了後、以下の順番で削除します。
- CloudFrontディストリビューションを無効化(まだの場合)→ 削除
- 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の場合は以下のエラーが出ます。
|
1 2 |
An error occurred (InvalidArgument) when calling the UpdateDistribution operation: Distributions with the Free pricing plan can't have the following features: Price class |
まとめ
CloudFrontのディストリビューションが「pricing plan」エラーで削除できない場合の対処法は以下の通りです。
- 各ディストリビューションの「Manage plan」→「プランをキャンセル」
- 請求サイクル終了(月末)まで待つ
- 翌月以降にCloudFront → Route 53の順で削除
コンソールでもCLIでも削除できず焦りますが、プランのキャンセル自体は簡単です。月末まで待つ必要があるのが少し面倒ですが、Free planなら待機中の課金は発生しないのでご安心ください。



ディスカッション
コメント一覧
まだ、コメントがありません