はじめに
アプリに全文検索機能を実装しようとElastic Searchについて調べて、AWSにある「Amazon Elastic Search(Amazon ES)」を無知のまま借りた結果、高額課金が発生してしまいました汗
なんと8万くらい・・・とほほ
今回ばかりは想定していない出費だったので、かなり心身共にダメージがきました。
僕がやらかしてしまったAWSの失敗について共有することで、プログラミングorAWS未経験者がこれからAWSを利用する際の注意喚起を行いたいと思います。
目的
僕がやらかしてしまったAWSの失敗について共有することで、プログラミングorAWS未経験者がこれからAWSを利用する際の注意喚起を行う。
AWSとは
Amazon Web Services(アマゾン ウェブ サービス、AWS)とは、Amazon.comにより提供されているクラウドコンピューティングサービスである。ウェブサービスと称しているが、ウェブサービスに限らない多種多様なインフラストラクチャーサービスを提供している。これらのサービスは全世界で22の地理的リージョンで提供されている(2019年9月現在、利用に制約のあるリージョンを含む)。AWSの有名なサービスにAmazon Elastic Compute Cloud (EC2) とAmazon Simple Storage Service (S3) がある。各組織が独自に保有し、仕様変更には長時間の物理的な作業を必要とするサーバファームと比較して、AWSは需要に応じた計算能力を、設定変更のみで速やかに提供出来ることが強みである。クラウドの分野でのAWSの世界的シェアは33%前後で世界1位である[1]。世界的シェア13%前後で世界2位のMicrosoft Azureを大きく引き離している。
Amazon Web Services出典: フリー百科事典『ウィキペディア(Wikipedia)』
要は仮想空間にあるサーバーを貸しているサービスになります。
従量課金制で世界中のIT企業が使っています。
Amazon ESとは
Amazon Elasticsearch Service は、Elasticsearch を大規模かつ簡単でコスト効率の良い方法を使用してデプロイ、保護、実行する完全マネージド型サービスです。好きなツールを使用して、必要な規模でアプリケーションを構築、監視、およびトラブルシューティングできます。このサービスは、オープンソースの Elasticsearch API、マネージド Kibana、Logstash とその他の AWS サービスとの統合、組み込みのアラートと SQL クエリのサポートを提供します。Amazon Elasticsearch Service は従量課金制です。前払い費用や最低料金はありません。Amazon Elasticsearch Service では、必要なだけの ELK スタックをランニングコストなしで入手できます。
Amazon Elasticsearch Service完全マネージド型で安全かつスケーラブルな Elasticsearch サービス
こちらはAWSが用意しているサービスの1つで「Elastic Search」と言うオープンソースの RESTful 分散検索/分析エンジンをAWSで一括して管理運用できる物です。
経緯
Elastic Searchで全文検索について調べる
仕事の都合上、全文検索機能を実装したアプリを作ろうと思い、様々調べていたらElastic Searchそのものはは有料とのことでした。
~開発環境だけで動かす分であれば無料で使えるということに気づいていませんでした。。。~
無料で使える方法はないかいろいろ調べていたらAESにたどり着きます。
借りた
下記のサイトなどをみて、Amazon ESを借りてみました。
~別に無料で使えるとは載っていませんね~
この時、僕は別の仕事が立て込んでしまい、全文検索機能実装のアプリを作る暇がなく、1ヶ月ほど遠ざかってしまいました。
これが悲劇の始まり・・・・
1月はじめにメールが届く
「なんかAmazonからメールきたな。」
ポチッ
「あ〜なんか請求きた〜〜汗
無料のインスタンスしか使ってないはずだけど、なんかやらかしたかな、、、なになに・・・・」
請求内容/内訳
「・・・・・・・・・なん・・・・だ・・・と・・・・・・・・・・?」
こんな高額な請求がきてしまった理由
そもそも課金されることをわかっていなかったこともあるが、
large枠のサーバーを借りて放置してしまっていたことが要因。
Amazon ESの解除方法
速攻で記事を調べてサーバーレンタルを終了しました。
なんならAmazon ESの公式チュートリアルがあって、しかも削除するように記述があったとは、、、
Amazon ES ドメイン (コンソール) を削除するには
Amazon Elasticsearch Service コンソールにサインインします。
ナビゲーションペインの [My domains (マイドメイン)] で、movies ドメインを選択します。
[Actions (アクション)]、[Delete domain (ドメインの削除)] の順に選択します。
[Delete the domain (ドメインを削除する)] チェックボックスをオンにし、[Delete (削除)] を選択します。
Amazon ES ドメインを削除する
終わりに
まさかこんなことになるとは思っても見なかったので本当に焦りました。
仕事中にメールがきたのですが、職場の同僚には爆笑されましたね笑
他人の不幸は蜜の味と言いますが、僕の周りの人で同じように苦しんでほしくないので、この記事をご覧いただいている方は僕のような目に遭わないように、しっかりと公式のチュートリアルを読みましょう、、、!