はい、出ました、素人事故あるあるネタです。
過去事例がここにもまとまっており、今回参考にさせて頂きました(ありがたや)。
ということで、私も誰かの何かの役に立つために、地獄から生還した備忘録を記載しておきます。
結論
- 内容:学習目的でAWS(Redshift)を利用して1週間程度放置した結果、合計25万円位(7月分(1,388ドル)、8月分(275ドル)のご請求書を頂きました。
- 結果:上記画像の通り7月分(約20万円)は支払ったが、AWS様に土下座して懇願した結果、7月・8月分の全額返金対応を頂けました!
- 期間:請求に気づいてから返金案内まで約2週間
- TIPs:学習で利用する場合は、クラウド素人はAWS価格モデルを理解してから触ろうね
- TIPs:必ずCloudWatch, Budget Alertを設定しましょうね
- TIPs:AWS Supportやり取りは英語が良いよ(ChatGPT利用でスムーズにやりましょう)
学習背景
- 学習目的はモダンデータスタックの中で、データ源流であるデータパイプラインの構築練習
- Fivetranを中心として、データソースConnect基(例:Salesforce, Google Spreadsheet)とDestination(例:Snowflake, AWS Redshift)の連携を実践
- 練習用にAWSアカウントを作成し、クレカ登録し、RedshiftをTokyo Regionで作成(この時なぜかRargeとXLの2つを併用するアホさ加減を発揮)。
- Fivetranの接続は非常に楽なため、テック素人の僕でも2時間程度で色々完了。AWS設定やRedshiftの方がむしろ時間かかった。データパイプライン構築できて満足なため初日で放置。
華麗なる放置プレー
- AWS Certificateは5年程度は継続しており、仕事でもクラウド関連はよく話すので勝手に知ったつもりになっていた。そして、以前もAWS学習でEC2, S3など利用していたため、Redshiftも同じ感覚で安易に手を出してしまった。。当時、EC2, S3は無料枠で利用していた。
- Redshiftには、無料枠はなく、ONにしている間は課金されるってことを完全に記憶が飛んでいた。まさに、冷暖房スイッチをONにしたまま海外旅行に出掛けて、戻ってきたらやたら高い電気代が来るのと同じ感じですね。
恐怖の請求メール
- AWSは毎月単位の請求のため、時差もあり8月2日朝にAWSから請求書案内メールが届いた。「うん?なんだ?まあ使ったし、1,000円位取られるかな」程度で安易に考えて、AWS ConsoleのBillingを見る。
- Billingでは8月分がPending Billingとして表示されていて「75ドル」くらいだった。「え?1万円以上?なぜ?...まあ、勉強代として1万円で仕方ないか...」が私の最初の思考。
- ただ、右上のBilling Periodで7月分もプルダウンできるぞ?おい、まさか、よし見るか...(これが地獄に突き落とされる手前)
- 7月分には上記画像の通り、1,388ドル(約20万円)の文字が。。この時の私の思考→「@%???%??@@?? what? watashi, eigo, wakarimasen.,,?」
- Active Servicesを見るとこんな感じ。Redshift....
- Cost Expoloreを見るとこんな感じ(何か悪い夢ですか?え?酷暑過ぎて頭がボケて変な画面見えてる)
- なぜ1週間足らずの利用で20万円??と思ったが、よく見ると上記記載の通り、ra3.largeとra3.4xlargeの2台分が稼働。練習であれば一番最小サイズ1台で良いものを、AWS知ったかぶりのお調子者になって適当に設定した結果2台でフル稼働!ワタシク、AWSザコ認定を自分でしました。
生還に向けたアクション
- 8/2朝:テンパる(自己否定、現実逃避、負のスパイラル妄想...)
- 8/2午後:冷静になり、Redshift全てのClusters, Snapshotsを削除。念のためSubnet Groupも削除。その後、CLIで全リージョンを横断して確認。
for region in $(aws ec2 describe-regions --query "Regions[].RegionName" --output text); do
echo "🔍 Checking snapshots in region: $region"
result=$(aws redshift describe-cluster-snapshots --region $region --query "Snapshots[].SnapshotIdentifier" --output text)
if [ -n "$result" ]; then
echo "📦 Found snapshot(s) in $region: $result"
else
echo "✅ No snapshots in $region"
fi
done
- 8/3午後:24時間後に目視でBillingを再確認。Redshiftは稼働に対して随時請求されるため、1分も損はできない。そして時差を含めてタイムラグもあるため完全停止まで若干の請求が続く。結局、Consoleを開けた時は8月分は75ドル位だったが、2台使っていて現実逃避も含めてチョロチョロと利用が継続した結果、8月分の請求対象は275ドルになった。ただ、さらに現実逃避していたり、夏休みで旅行に出掛けて更に1週間放置していたら合計50万円程度になると思うとゾッとする。
- 完全に自分のミスなので「25万円は痛いが、夏休みで海外旅行に行ったことにしよう」とか自分に言い聞かせるような現実逃避モードは避けられず。
- 8/4朝:ふと同じような体験した人がいないか探したら同様ケース記事が出てきて、テック界隈の皆様=神!助け合いの精神LOVE!と一筋の光が!!AWS Supportに丁寧に依頼するために説明文を整理。
- 学習用のAccountのため、当然Support PlanはBasicで、相手にもされないかもとダメ元で以下メールを出す。
-
TIPs:メール文章は状況などを日本語で細かく整理してChatGPTに貼り付けて、Support向けのメールを生成してもらうと良いです。
-
TIPs:メッセを出す際に、AWS Support側では生成AIを使って自動的に依頼内容を判別して、サポート対象範囲と提案を出してきますが、それは断って、メールでのやり取りを選択します。
-
1週間経過してもレスがないので諦めかけていた8/13にSupportから連絡が!神様、AWS様!ポイントとしては、Supportは一時受け窓口で、この手の対応はService Teamと確認して承認を得る必要があるようです。よって、細かく事情聴取的にフィードバックが必要です。
-
TIPs:ここでも同様にChatGPTをフル活用して、返信内容を生成してもらいましょう。
-
Service Teamと連携した結果、AWS価格体系やService Agreementなどを認識して、内容に同意することを求められます。
- TIPs:これには速攻で以下の通りに返答しましょう。
I have reviewed the following documents as requested:
• AWS Pricing
• AWS Service Agreement
• Shared Responsibility Model
I hereby acknowledge the documents and confirm my understanding of the pricing and service terms.
- 待ちに待ったGood Newsの文字!:)7月分は返金で、8月分はクレジット対応される!(8月分はPending状態のため、利用分はクレジット分で相殺されて0円請求という意味)。
- ConsoleのBillingでも請求をダブルチェック。マイナスになってるやん!相殺!0円!Refund!嬉しい!AWS様、LOVE〜!
AWS様からのメッセージ
この記事を見つけて読んでるということは、同じような失態をしてしまった人もいるかと思いますが、上記の通りなので、まずは深呼吸してやるべきアクションを取っていきましょう。我らがAWS様です、ちゃんと丁寧に透明性を持って土下座すれば、対応をしてくれることを証明しています。
最後にAWS様から、以下の案内も頂いていますので、ぜひお見通しください。
To avoid unexpected charges in the future, please make sure to monitor your usage periodically and let us know if you have any questions regarding the billing aspects of our services. A few recommendations include:
- [1] CloudWatch
- [2] Billing alerts
- [3] Alarms
- [4] Budgets
- [5] CloudTrail.
For more information on these services and their features, please review the documentation links below:
-> https://aws.amazon.com/cloudtrail/getting-started/
-> http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html
-> https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/budgets-managing-costs.html
以上