クラウドサーバー経由でIoTやりたい!そんな好奇心だけで「AWS(アマゾンウェブサービス)」の「AWS IoT」なら無料枠で手軽にできると思ってやってみたら・・・無知すぎて、無駄な課金で¥5,000以上捨ててしまった話(汗)
「AWS」やるなら使い方より、まずは「意図しない課金が発生してないかを確認する方法」と「課金を止める方法」を知ってから始めた方が良いと思い、備忘録も兼ねてまずは失敗談を書いておきます。
1.悲劇の始まり
2.これが一番の間違い
3.AWSアカウント作ったらまずやること
4.AWSへの問い合わせ結果
5.課金を止めるためにやったこと
・EC2でリソースの確認
・インスタンスの終了と削除
・Erastic IPの解放
・セキュリティグループの削除
・Cognito ID プールの削除
・AWS WAFの削除
6.課金が止まったかの確認
7.まとめ
1.悲劇の始まり
今思えばあまりにも無知で、課金が発生する以上もっと慎重にやるべきだったと反省・・・好奇心が勝ってしまう、いつもの悪い癖w。結果いろいろ学べたのでいい勉強になったと、思い込ませてます(汗)
やりたかったのはクラウドを使用して離れた場所から、とりあえず「Lチカ」できるかな〜♪そんな感じでAWSのアカウント作成。
アカウント作成から1年間は無料枠が使えるとか。見てみるとサービスが多いのと出てくるワードがほぼ横文字か英語w、サービスごとに無料条件が書いてあるけど
「Lチカぐらいならデータ量もたいしたことないだろうから問題ないでしょ!」
そんな感じで気軽に「ポチポチ」・・・初心者にはわかる訳もなく・・・
Iotするなら「MQTT」通信なんだな〜、手早くやるなら「M5Stack社」の「UiFlow」かな、ぐらいで手詰まりw
AWSでどのサービスをどう使ったらいいかが分からない(汗)
そこで「M5Stack Core2 for AWS(あの黄色いやつ)」を使用した「AWS IoT EduKit」を試そうとしたら以下のように2023/3/6でサポート終了とのこと。
始めるのが遅かったかと「M5Stack社」のページへ飛ぶと似たようなチュートリアル(SimpleIoT)があったので、やってみようと始めました。
英文の説明で「ターミナル(コマンドプロンプト)」を使用したチュートリアルだったので、よく理解もせずに書かれたままにコマンド入力して登録やらインストールやらを進めて、以下の画面まで行って続行。途中エラーも出てたようですが無事?完了。
この後のログインがうまくいかず、何か間違ったかと同じことを合計3回やって、やっぱりうまくいかず諦めて放置←これが悲劇の始まり
2.これが一番の間違い
「AWS」には課金状況を確認できる「請求ダッシュボード」というものがあります。
これをこまめにチェックして無駄な課金や、意図しない課金が発生していないかを確認する必要があります。
まだ意図的に何かサービスを使ったつもりはなかったので「AWS」の課金状況をこまめに確認しなかったのが1番の間違いでした。
結果、課金状況は 6日ほどで以下のような状況に・・・
状況はすでに¥5,000以上使用、このまま使うと当月¥9,000近い請求!冷や汗がw
無知のまま、思いつきで始めた「AWS」でしたが、これはさすがに!と、必死で調べることになったのでした。
次からは、この「請求ダッシュボード」の確認方法と詳細情報の見方を書いておきます。
3.AWSアカウント作ったらまずやること
「AWS」のアカウントを作成したら、まずは「IAMユーザー」を作成するのが使用上は大切ですが、他にも大事なことに「課金状況」の確認方法を知っておくことです。
課金状況の確認は以下のように行います。
「AWS」に「ルートユーザー」でサインインして、上画像のように画面右上のアカウント名をクリックすると、ドロップダウンメニューに「請求ダッシュボード」が表示されるのでクリックします。
すると下画像のように、現在の課金状況と当月の請求金額の予測を見ることが出来ます。
次に上画像の左メニューから「請求書」をクリックすると、下画像のように各サービスごとの利用料金が確認できます。
上画像の左にサービス名、右に現在の使用料金が表示されます。
私の場合は5つのサービスですでに使用料金が発生しており、6日間で無料枠を使い切って発生した金額なのでこのまま放置していたらと思うとゾッとします・・・。
急いで調べて、いくつかのサービスの削除はできたのですが、他のサービスと連携しているものは単純に消すことができず、消すにも順番があるようです(泣)
無知な私の個人利用でのトラブルに対応してくれるか不安でしたが「AWS」に問い合わせてみましたのでその結果も書いておきます。
4.AWSへの問い合わせ結果
問い合わせは「AWS」のホームページからログインせずに行うと以下のような回答でした。
アカウントで発生している個別の請求やアカウント状況などに関す
▼AWS サポートセンター
https://support.console.aws.
※アカウントが停止している場合でも、
メールアドレスおよびパスワードにてログインくださいませ。
翌日には回答いただけましたが問い合わせ先が違ったようで、上のように問い合わせ先リンクの案内をしてくれました。
ログインしてアクセスすると下画像のようなページが表示されます。
英文なので閉じてしまいたくなりますが・・・ブラウザの翻訳機能で確認すると上画像の「Create case」から問い合わせできるのがわかります。
日本語での問い合わせでも大丈夫なようです。
私の場合上画像のように「意図しない課金が止まりません」という、情けない件名で問い合わせていますw
夜に問い合わせて、翌日の昼過ぎには回答いただけました。無知な私に早急な対応感謝です!
回答は以下のようになります。
お客様のアカウントを確認いたしましたところ、
・Elastic Compute Cloud
・Cognito
・Relational Database Service (リソース削除済み)
・Virtual Private Cloud
・WAF
下記の請求書ページにて、
▼請求書ページ
https://console.aws.amazon.
(「+すべて展開」ボタン、
それぞれの削除方法をまとめました、
お客様にてそれぞれのリソースが完全に停止、
※ご対応の際は、
【Elastic Compute Cloud】
▼Amazon EC2 リソースを削除または終了する方法を教えてください。
https://aws.amazon.com/jp/
【Cognito】
▼AWS リソースのクリーンアップ (
https://docs.aws.amazon.com/
【Virtual Private Cloud】
▼セキュリティグループを削除する
https://docs.aws.amazon.com/
【WAF】
▼ウェブ ACL の削除
https://docs.aws.amazon.com/
▼ルールの削除
https://docs.aws.amazon.com/
課金が停止したか、お客様にCost Exploereをご活用していただくことで、
▼AWS Cost Explorer
https://aws.amazon.com/jp/aws-
*
なお、
お手数をお掛け致しますがコンソールやエラー表示のスクリーンシ
ケース上にてご返信をいただきますようお願い申し上げます。
長文となってしまいましたが、以上ご案内となります。
何卒よろしくお願いいたします。
「請求ダッシュボード」で確認したのと同じサービスで課金が発生しているとのことで「請求ダッシュボード」を見ておけば課金状況の確認はできることがわかります。
回答が届いた頃には、既にほとんどの課金サービスは削除していたので私の場合は最終確認として各手順を実施しました。細かい設定がいくつか残ってたので削除しました。
「請求ダッシュボード」の情報更新には時差があるようなので課金が止まったか経過観察中です。
サインインした時とサインアウトする時は毎回確認することが必須ですね。
使用しているサービス(インスタンス等)の確認も出来るので不要なリソースが実行されてないかもサインイン後に以下のページからこまめに確認することが必須です。
次からは、上リンクで表示される「EC2 ダッシュボード」のページでの確認をメインに、私がやったことを書いておきます。
5.課金を止めるためにやったこと
「AWS」の問い合わせでサービスを削除する方法のリンクは案内してくれているものの、実際に見てみると情報量が多く、言葉の意味も初めてだとわかりにくいと思うので、私が実際にやったことを書いておきます。
・EC2でリソースの確認
まずは実行されているリソースを確認しました。
特にインスタンスと呼ばれるものは使用しないときは停止しておかないとサインアウトしても分単位で課金が発生するものもあります。
停止中でも課金が発生するものもあるようなので、完全に課金を止めるには不要なインスタンスは「削除」しておく必要があります。
まずはこちら→「EC2ダッシュボード」のリンクをクリックして下画像のように「EC2ダッシュボード」を開きます。
上画像では既に「インスタンス(実行中)」の横の数値は「0」になってますが最初は「1」の状態だったので急いで終了した状態です。
他にも数値が「0」でないリソースがいくつかあるので課金が継続している状況です。
・インスタンスの終了と削除
無駄な課金を発生させないためには常に「インスタンス」の状況を確認することが重要です。
使用する時のみ実行し、それ以外は終了しておかないと分単位での課金が発生する可能性があります。
下画像は既に「インスタンス(実行中)」をクリックして、終了させた画面です。
表示されているインスタンスのリスト横の[チェックボックス]をクリックして、画面右上の[アクション]をクリックで表示されるドロップダウンリストから[インスタンスの終了]を選択します。
インスタンスの状態が「終了済み」になっていれば終了しています。
次に、終了だけでは課金が止まらない場合もあるようなので、インスタンス自体を下画像のように削除します。
ここは画像がないですが[インスタンス]の部分をクリックして開かれるページでインスタンスを選択して[アクション]から削除を行いました。
・Erastic IPの解放
今回の請求の大半を占める「Elastic IP アドレス」の解放です。
真っ先に削除したかったのですが、他との連携情報があるようで単純に削除できずに少々手間取りました。
先に「NATゲートウェイ」の削除が必要のようなので下画像のように[NATゲートウェイID」のリンクをクリックして開きます。
下画像のようなページが表示されるのでチェックを入れて[アクション]から[NATゲートウェイ]の削除を選択して削除します。
下画像のようなウインドウが表示されるので「削除」と入力して[削除]します。
下画像のように「Elastic IP アドレス」のページに戻って[Elastic IPアドレスの解放]を選択すると削除することができます。
私の場合複数あったので同じ手順で全て削除しました。
これで大半の課金が停止して一安心です。
・セキュリティグループの削除
「EC2ダッシュボード」を確認すると、まだ[セキュリティグループ]が使用されているので、クリックして管理ページを開きます。
下画像のように「セキュリティグループ」の一覧が表示されるので、消せるものは全て削除しました。
下画像のように1つだけ消せませんでした。これはデフォルトで使用されているとのことで、ひとまずそのまま残しています。
・Cognito ID プールの削除
後は細かい課金の削除です。
「AWS」からの回答メールの案内に沿って削除してます。
まずはこちら→「Amazon Cognito コンソール」にアクセスすると下画像のようなページが表示されるので[IDプールの管理]をクリックします。
下画像のようにグラフが表示されていれば使用中のため、矢印部をクリックします。
次のページでは下画像のように画面右上の[IDプールの編集]をクリックします。
下画像のようなページが表示されるので、一番下までスクロールして[IDプールの削除]をクリックして、表示された[IDプールの削除]ボタンをクリックします。
下画像のようなウインドウが表示されたら[プールの削除]をクリックして完了です。
・AWS WAFの削除
「WAF」については削除手順をやってみましたが既に存在してないようだったので確認のみで特に何もしてません。
まずはこちら→「AWS WAF コンソール」にアクセスすると下画像のようなページが表示されるので左メニューの[Web ACLs]をクリックします。
下画像のように「No web ACLs found」と表示されていて、何もないようです。
地域が「US East(N .Virginia)」なのが気になったので「global」とか「Tokyo」にもしてみましたが同じ結果なので完了としました。
6.課金が止まったかの確認
課金が止まったかの確認は、やっぱり「請求ダッシュボード」での確認です。
表示される請求金額をメモやスクショしておいて定期的に確認しましょう。
更新には時差があるので「止まった〜」と思ったらまた翌日「増えてるw」なんてこともあるので定期的に確認しましょう。
さらに詳細を確認するには「請求ダッシュボード」ページの左メニューから[Cost explorer]をクリックし、矢印の[Cost Explorerを起動]ボタンをクリックします。
下画像のように「AWS コスト管理」ページが表示されたら[Cost Explorer]をクリックします。
下画像の右側で[日付範囲]と[粒度]を「日別」に設定すると、日別の詳細な使用状況のレポートが確認できます。(合計コストは消費税抜きの価格になってます。)
私の悲劇の6日間の様子がよくわかりますね(汗)
対処方法がすぐにわからなかったので2日かけてやっと課金が止まった形になってます。
7.まとめ
今回は好奇心だけで「AWS」を始めたら無知すぎて痛い目を見た話でした。
大して確認もせずに実施した私の完全なミスです。
先に「請求情報」と「課金状況」の確認方法、「課金の停止方法」を確認しておくべきでした。
「AWS」で本来やりたかった遠隔操作での「Lチカ」の手順は確定してるので、これを応用した遠隔操作、監視の方法を次回紹介したいと思いますが、まずは意図しない課金が発生した時の対処方法を書いておくべきと思いこの記事を作成しました。
やろうとしている遠隔操作、監視は離れた2つのデバイス間でデータの送受信を行い、受信したデータをデバイスのSDカードやデバイスから通信で転送したパソコンに保存してモニタする予定だったので「AWS」の通信料(100万メッセージで1ドル)のみで、ほとんど費用は発生しない予定が、思わぬ出費になりました。
その代わり「AWS」について理解を深めることができたので、勉強代と思えば安いものです。(・・・と言い聞かせてます。)
「AWS」では100以上のサービスがあって、データベースの利用や機械学習による解析は当然のようにできるので、今後はちゃんと確認して色々試して紹介していければと思います。
コメント