気軽にAWSでIoTやったら無知で痛い目見た話。課金の止め方。

AWS 課金状況確認 削除方法アイキャッチAWS(アマゾンウェブサービス)

クラウドサーバー経由でIoTやりたい!そんな好奇心だけで「AWS(アマゾンウェブサービス)」の「AWS IoT」なら無料枠で手軽にできると思ってやってみたら・・・無知すぎて、無駄な課金で¥5,000以上捨ててしまった話(汗)

「AWS」やるなら使い方より、まずは「意図しない課金が発生してないかを確認する方法」と「課金を止める方法」を知ってから始めた方が良いと思い、備忘録も兼ねてまずは失敗談を書いておきます。

ここで書くのは「AWS IoT」を使用して、外部サービス(SimpleIOT)利用による無知な私の環境で発生した課金状況の確認と止め方です。
「AWS」には様々なサービスがあり課金条件も様々です。ほんの一例としてご参考までに確認お願いします。
スポンサーリンク

1.悲劇の始まり

今思えばあまりにも無知で、課金が発生する以上もっと慎重にやるべきだったと反省・・・好奇心が勝ってしまう、いつもの悪い癖w。結果いろいろ学べたのでいい勉強になったと、思い込ませてます(汗)

やりたかったのはクラウドを使用して離れた場所から、とりあえず「Lチカ」できるかな〜♪そんな感じでAWSのアカウント作成。

アカウント作成から1年間は無料枠が使えるとか。見てみるとサービスが多いのと出てくるワードがほぼ横文字か英語w、サービスごとに無料条件が書いてあるけど

「Lチカぐらいならデータ量もたいしたことないだろうから問題ないでしょ!」

そんな感じで気軽に「ポチポチ」・・・初心者にはわかる訳もなく・・・
Iotするなら「MQTT」通信なんだな〜、手早くやるなら「M5Stack社」の「UiFlow」かな、ぐらいで手詰まりw

AWSでどのサービスをどう使ったらいいかが分からない(汗)

そこで「M5Stack Core2 for AWS(あの黄色いやつ)」を使用した「AWS IoT EduKit」を試そうとしたら以下のように2023/3/6でサポート終了とのこと。

AWS EduKitトップ画面

始めるのが遅かったかと「M5Stack社」のページへ飛ぶと似たようなチュートリアル(SimpleIoT)があったので、やってみようと始めました。

英文の説明で「ターミナル(コマンドプロンプト)」を使用したチュートリアルだったので、よく理解もせずに書かれたままにコマンド入力して登録やらインストールやらを進めて、以下の画面まで行って続行。途中エラーも出てたようですが無事?完了。

simple_iot インストール失敗

この後のログインがうまくいかず、何か間違ったかと同じことを合計3回やって、やっぱりうまくいかず諦めて放置←これが悲劇の始ま

この時点で「AWS」サービスの使用が始まり課金が発生していた模様。
チュートリアルがうまく進めていれば課金を停止して終了する方法まで行けたと思われるのですが、そこまでいかずサービス開始のまま放置してしまっていたようです。
スポンサーリンク

2.これが一番の間違い

「AWS」には課金状況を確認できる「請求ダッシュボード」というものがあります。
これをこまめにチェックして無駄な課金や、意図しない課金が発生していないかを確認する必要があります。

まだ意図的に何かサービスを使ったつもりはなかったので「AWS」の課金状況をこまめに確認しなかったのが1番の間違いでした。

結果、課金状況は 6日ほどで以下のような状況に・・・

AWS 意図しない課金状況

状況はすでに¥5,000以上使用、このまま使うと当月¥9,000近い請求!冷や汗がw
無知のまま、思いつきで始めた「AWS」でしたが、これはさすがに!と、必死で調べることになったのでした。

次からは、この「請求ダッシュボード」の確認方法と詳細情報の見方を書いておきます。

3.AWSアカウント作ったらまずやること

「AWS」のアカウントを作成したら、まずは「IAMユーザー」を作成するのが使用上は大切ですが、他にも大事なことに「課金状況」の確認方法を知っておくことです。

課金状況の確認は以下のように行います。

AWS 意図しない課金状況

「AWS」に「ルートユーザー」でサインインして、上画像のように画面右上のアカウント名をクリックすると、ドロップダウンメニューに「請求ダッシュボード」が表示されるのでクリックします。
すると下画像のように、現在の課金状況と当月の請求金額の予測を見ることが出来ます。

AWS 意図しない課金状況確認

次に上画像の左メニューから「請求書」をクリックすると、下画像のように各サービスごとの利用料金が確認できます。

AWS 意図しない課金状況確認
他にも、今は無料利用枠の範囲で$0.00となっているものもあると思いますので、それぞれのサービスの項目を展開して使用状況を確認しておきましょう。

上画像の左にサービス名、右に現在の使用料金が表示されます。
私の場合は5つのサービスですでに使用料金が発生しており、6日間で無料枠を使い切って発生した金額なのでこのまま放置していたらと思うとゾッとします・・・。

急いで調べて、いくつかのサービスの削除はできたのですが、他のサービスと連携しているものは単純に消すことができず、消すにも順番があるようです(泣)

無知な私の個人利用でのトラブルに対応してくれるか不安でしたが「AWS」に問い合わせてみましたのでその結果も書いておきます。

4.AWSへの問い合わせ結果

問い合わせは「AWS」のホームページからログインせずに行うと以下のような回答でした。

当窓口は AWS アカウントをお持ちでないお客様またはAWS アカウントへログインが出来ないお客様に、アカウントや料金に関する一般的なご案内をする窓口となっており、個別のアカウントの状況について確認することができません。
アカウントで発生している個別の請求やアカウント状況などに関する相談につきましては、該当アカウントでログインの上で、以下サポートセンターよりお問合せいただけますようお願い申し上げます。

▼AWS サポートセンター
https://support.console.aws.amazon.com/support/home#/
※アカウントが停止している場合でも、請求ダッシュボードとサポートセンターにはアクセス可能です。
 メールアドレスおよびパスワードにてログインくださいませ。

翌日には回答いただけましたが問い合わせ先が違ったようで、上のように問い合わせ先リンクの案内をしてくれました。

ログインしてアクセスすると下画像のようなページが表示されます。

AWS 意図しない課金状況確認

英文なので閉じてしまいたくなりますが・・・ブラウザの翻訳機能で確認すると上画像の「Create case」から問い合わせできるのがわかります。

日本語での問い合わせでも大丈夫なようです。
私の場合上画像のように「意図しない課金が止まりません」という、情けない件名で問い合わせていますw

夜に問い合わせて、翌日の昼過ぎには回答いただけました。無知な私に早急な対応感謝です!

回答は以下のようになります。

意図しない課金が発生しているという事、ご心配されている事をお察し申し上げます。
お客様のアカウントを確認いたしましたところ、東京リージョンにて下記サービスにて課金が発生しております。
・Elastic Compute Cloud
・Cognito
・Relational Database Service (リソース削除済み)
・Virtual Private Cloud
・WAF
下記の請求書ページにて、対象月の請求の内訳をご確認いただけます。
▼請求書ページ
https://console.aws.amazon.com/billing/home#/bills
(「+すべて展開」ボタン、または各サービス名をクリックいただくと、詳細が展開されます)
それぞれの削除方法をまとめました、ドキュメントをご紹介いたしますので、
お客様にてそれぞれのリソースが完全に停止、削除されているか再度お確かめくださいませ。
※ご対応の際は、画面右上のリージョン名が対象リソースのあるリージョンであるかをご確認ください。リージョンはプルダウンより選択が可能です。

【Elastic Compute Cloud】
▼Amazon EC2 リソースを削除または終了する方法を教えてください。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/delete-terminate-ec2/

【Cognito】
▼AWS リソースのクリーンアップ (Congnitoのコンソールにて残存しているリソースや情報を削除してください)
https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/tutorial-cleanup-tutorial.html

【Virtual Private Cloud】
▼セキュリティグループを削除する
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_SecurityGroups.html#deleting-security-groups

【WAF】
▼ウェブ ACL の削除
https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/web-acl-deleting.html

▼ルールの削除
https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/classic-web-acl-rules-deleting.html

課金が停止したか、お客様にCost Exploereをご活用していただくことで、ご確認することが可能でございます。

▼AWS Cost Explorer
https://aws.amazon.com/jp/aws-cost-management/aws-cost-explorer/
料金の更新には24時間程度のお時間がかかりますためご注意ください。

なお、上記の方法にてエラーが発生し削除の確認ができない場合は、
お手数をお掛け致しますがコンソールやエラー表示のスクリーンショットなどを添付していただき、
ケース上にてご返信をいただきますようお願い申し上げます。
長文となってしまいましたが、以上ご案内となります。
何卒よろしくお願いいたします。

「請求ダッシュボード」で確認したのと同じサービスで課金が発生しているとのことで「請求ダッシュボード」を見ておけば課金状況の確認はできることがわかります。

問い合わせでは「全ての課金サービスを一旦停止したい」という内容で送ってますが「AWS」側で処理してくれることはないようなので、各サービスについての解除方法の書かれたリンク先を案内してくれていますから、自分で確認して作業する必要があります。

回答が届いた頃には、既にほとんどの課金サービスは削除していたので私の場合は最終確認として各手順を実施しました。細かい設定がいくつか残ってたので削除しました。

「請求ダッシュボード」の情報更新には時差があるようなので課金が止まったか経過観察中です。
サインインした時とサインアウトする時は毎回確認することが必須ですね。

使用しているサービス(インスタンス等)の確認も出来るので不要なリソースが実行されてないかもサインイン後に以下のページからこまめに確認することが必須です。

https://console.aws.amazon.com/ec2/

次からは、上リンクで表示される「EC2 ダッシュボード」のページでの確認をメインに、私がやったことを書いておきます。

5.課金を止めるためにやったこと

「AWS」の問い合わせでサービスを削除する方法のリンクは案内してくれているものの、実際に見てみると情報量が多く、言葉の意味も初めてだとわかりにくいと思うので、私が実際にやったことを書いておきます。

最初のうちは分単位で課金が発生していたので急いで削除したため、画像がないものもあります。ダイジェスト的になるため、ご参考程度にご確認ください。

・EC2でリソースの確認

まずは実行されているリソースを確認しました。
特にインスタンスと呼ばれるものは使用しないときは停止しておかないとサインアウトしても分単位で課金が発生するものもあります。
停止中でも課金が発生するものもあるようなので、完全に課金を止めるには不要なインスタンスは「削除」しておく必要があります。

まずはこちら→「EC2ダッシュボード」のリンクをクリックして下画像のように「EC2ダッシュボード」を開きます。

AWS 課金状況確認 削除方法

上画像では既に「インスタンス(実行中)」の横の数値は「0」になってますが最初は「1」の状態だったので急いで終了した状態です。

他にも数値が「0」でないリソースがいくつかあるので課金が継続している状況です。

課金を停止するには各サービスの項目をクリックして、情報を削除する必要があります。
「停止」や「終了」等の選択も出てきますが、サービスによっては確実に課金停止するには削除する必要があるようです。
削除すると情報が全て消えてしまうため、各サービスの内容をよく確認して行なってください、

・インスタンスの終了と削除

無駄な課金を発生させないためには常に「インスタンス」の状況を確認することが重要です。
使用する時のみ実行し、それ以外は終了しておかないと分単位での課金が発生する可能性があります。

下画像は既に「インスタンス(実行中)」をクリックして、終了させた画面です。

AWS 課金状況確認 削除方法

表示されているインスタンスのリスト横の[チェックボックス]をクリックして、画面右上の[アクション]をクリックで表示されるドロップダウンリストから[インスタンスの終了]を選択します。
インスタンスの状態が「終了済み」になっていれば終了しています。

次に、終了だけでは課金が止まらない場合もあるようなので、インスタンス自体を下画像のように削除します。

AWS 課金状況確認 削除方法

ここは画像がないですが[インスタンス]の部分をクリックして開かれるページでインスタンスを選択して[アクション]から削除を行いました。


・Erastic IPの解放

今回の請求の大半を占める「Elastic IP アドレス」の解放です。

真っ先に削除したかったのですが、他との連携情報があるようで単純に削除できずに少々手間取りました。
先に「NATゲートウェイ」の削除が必要のようなので下画像のように[NATゲートウェイID」のリンクをクリックして開きます。

AWS 課金状況確認 削除方法

下画像のようなページが表示されるのでチェックを入れて[アクション]から[NATゲートウェイ]の削除を選択して削除します。

AWS 課金状況確認 削除方法

下画像のようなウインドウが表示されるので「削除」と入力して[削除]します。

AWS 課金状況確認 削除方法

下画像のように「Elastic IP アドレス」のページに戻って[Elastic IPアドレスの解放]を選択すると削除することができます。

AWS 課金状況確認 削除方法

私の場合複数あったので同じ手順で全て削除しました。
これで大半の課金が停止して一安心です。


・セキュリティグループの削除

「EC2ダッシュボード」を確認すると、まだ[セキュリティグループ]が使用されているので、クリックして管理ページを開きます。

AWS 課金状況確認 削除方法

下画像のように「セキュリティグループ」の一覧が表示されるので、消せるものは全て削除しました。

AWS 課金状況確認 削除方法

下画像のように1つだけ消せませんでした。これはデフォルトで使用されているとのことで、ひとまずそのまま残しています。

AWS 課金状況確認 削除方法

・Cognito ID プールの削除

後は細かい課金の削除です。

「AWS」からの回答メールの案内に沿って削除してます。
まずはこちら→「Amazon Cognito コンソール」にアクセスすると下画像のようなページが表示されるので[IDプールの管理]をクリックします。

AWS 課金状況確認 cognito削除方法

下画像のようにグラフが表示されていれば使用中のため、矢印部をクリックします。

AWS 課金状況確認 cognito削除方法

次のページでは下画像のように画面右上の[IDプールの編集]をクリックします。

AWS 課金状況確認 cognito削除方法

下画像のようなページが表示されるので、一番下までスクロールして[IDプールの削除]をクリックして、表示された[IDプールの削除]ボタンをクリックします。

AWS 課金状況確認 cognito削除方法

下画像のようなウインドウが表示されたら[プールの削除]をクリックして完了です。

AWS 課金状況確認 cognito削除方法

・AWS WAFの削除

「WAF」については削除手順をやってみましたが既に存在してないようだったので確認のみで特に何もしてません。

まずはこちら→「AWS WAF コンソール」にアクセスすると下画像のようなページが表示されるので左メニューの[Web ACLs]をクリックします。

AWS 課金状況確認 WAF削除方法

下画像のように「No web ACLs found」と表示されていて、何もないようです。
地域が「US East(N .Virginia)」なのが気になったので「global」とか「Tokyo」にもしてみましたが同じ結果なので完了としました。

AWS 課金状況確認 WAF削除方法
以上の手順をする前に、他にもなんか消したような気もしますが、おそらくこの手順でほぼ消せたのではと思います。

6.課金が止まったかの確認

課金が止まったかの確認は、やっぱり「請求ダッシュボード」での確認です。

AWS 意図しない課金状況

表示される請求金額をメモやスクショしておいて定期的に確認しましょう。
更新には時差があるので「止まった〜」と思ったらまた翌日「増えてるw」なんてこともあるので定期的に確認しましょう。


さらに詳細を確認するには「請求ダッシュボード」ページの左メニューから[Cost explorer]をクリックし、矢印の[Cost Explorerを起動]ボタンをクリックします。

AWS 請求状況詳細確認

下画像のように「AWS コスト管理」ページが表示されたら[Cost Explorer]をクリックします。

AWS 請求状況詳細確認

下画像の右側で[日付範囲]と[粒度]を「日別」に設定すると、日別の詳細な使用状況のレポートが確認できます。(合計コストは消費税抜きの価格になってます。)

AWS 請求状況詳細確認

私の悲劇の6日間の様子がよくわかりますね(汗)
対処方法がすぐにわからなかったので2日かけてやっと課金が止まった形になってます。

グラフを見ると今日(1/21)の時点では$0.00になっているので一安心と思いきや、昨日のメモより$0.17増えましたw。なんかまだ微増してる?集計に時差があるせいかな(汗)
まだ何かあるかもしれません・・・デフォルトVPCでしょうか?削除しても問題ないような情報も目にしますが、復旧するのも大変そうなので、とりあえずこのまま様子を見ることにしました。
追記:1/24時点で課金は増えないので完全に止まったようです。
あとはIoTの利用カウントだけ注意して監視していきますが、十分な利用枠が用意されているのでデータを大量に送る等のミスをしない限り大丈夫そうです。

7.まとめ

今回は好奇心だけで「AWS」を始めたら無知すぎて痛い目を見た話でした。
大して確認もせずに実施した私の完全なミスです。

先に「請求情報」と「課金状況」の確認方法、「課金の停止方法」を確認しておくべきでした。

「AWS」で本来やりたかった遠隔操作での「Lチカ」の手順は確定してるので、これを応用した遠隔操作、監視の方法を次回紹介したいと思いますが、まずは意図しない課金が発生した時の対処方法を書いておくべきと思いこの記事を作成しました。

やろうとしている遠隔操作、監視は離れた2つのデバイス間でデータの送受信を行い、受信したデータをデバイスのSDカードやデバイスから通信で転送したパソコンに保存してモニタする予定だったので「AWS」の通信料(100万メッセージで1ドル)のみで、ほとんど費用は発生しない予定が、思わぬ出費になりました。

その代わり「AWS」について理解を深めることができたので、勉強代と思えば安いものです。(・・・と言い聞かせてます。)

「AWS」では100以上のサービスがあって、データベースの利用や機械学習による解析は当然のようにできるので、今後はちゃんと確認して色々試して紹介していければと思います。

今回は、あくまで私の環境で発生した課金状況の確認と課金の止め方です。使用するサービスが違えば手順は違うと思いますので参考程度にご確認ください。
また、無料期間中であれば無料枠の適用外になると課金が始まるものも出てくるため、ご自身でよく確認してください。

コメント

タイトルとURLをコピーしました