初心者がAWSを使い始め、無料枠をあっという間に使い切ってしまった話

最近、AWSにも興味があり、AWSをやってみようと・・・
以前から、無料セミナや、無料配布のPDFとかは見ていたんですが、こんなのは実際やってみないと座学だけじゃわからない。AWSはクラウドなので新規サービスが増えたり、機能追加されたりするペースが早いので、数年前の資料はもうアテにならない。

で、とりあえず、[無料枠](https://aws.amazon.com/jp/free)があるので、それでなんとかなるんじゃないか・・・的な、軽いノリで初めてみましたが・・・
![Screenshot_20221114_150542.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933408/4dc2dcc7-360f-5d7b-2e3c-be9b9ddcb716.png)
**世の中、そんなオイシイ話はありません**

1. まず、たとえ、無料枠であっても、登録時にクレジットカードの入力を求められます。
つまり、無料枠を超えたら、容赦なく請求されます。ここが、Amazonプライム商法的な感じ。^^;
1. 無料枠で使えるサービスが色々あるのですが、これを見ると、EC2なんて、24時間稼働しぱなしでも余裕で1ヶ月間大丈夫なんじゃないか？と思いますが、そんなことはありません。
1. 課金される単位が色々ある。回数、時間、データ量、リソースの数(何個まで)。どのサービスの何を使うと、どの単位で何が課金されるのかが初心者にはわかりずらい。(ま、そこがAmazon商法。課金については独特のノウハウが必要。そのスペシャリストもいるくらいだから)
1. おそらく、どのサービスで何をするかによって、回数で課金＋データ量等、複数で課金される場合があるのではないか？なので回数が余っているから楽勝と思って、安心していると、データ量が超えたりする。

自分がAWSでお試ししたのは、この位です
* おまかせモードでEC2のインスタンスを1個作成。VPC、subnet、InternetGW、等など。とりあえず、外からつないで見る。
* RDS(PostgeSQL)のインスタンスを1個作成。VPC、subnet、InternetGW、等など。とりあえず、外からつないで見る。
* 同一VPCに、subnetふたつ。それぞれにEC2のインスタンスを作成(2個)。RDSのインスタンスを作成。EC2のそれぞれのsubnetから繋いでみる。ALB作成。ALBからロードバランスでふたつのEC2に分散してみる。
* lambdaとSQS、S3作成。S3→lambda、lambda→SQSを試してみる。
* CodeStarで一通り、CodeCommit、CodeBuild、CodeDeploy、PipeLineを作成。自動ビルド、デプロイできるところまで。

わずか、数日なんですが、今こんな状態です
<img width="75%" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933408/eb3cf1bc-7052-fda7-b3fb-35e6efc68ccd.png">

Amazon Elastic Compute Cloud	
1 GB of Amazon Elastic Block Storage snapshot storage
が、もう上限に達してしまいました。

で、これが何が起因なのか、これがまた、初心者にはわかりずらい。どうやらRDSのsnapshotらしいのですが
![Screenshot_20221114_153205.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933408/c2c853d4-50b6-80cd-7589-9c275c708be7.png)

AWSは基本、「使わないインスタンスは止めておけ」なんですが、RDSの場合、インスタンスを作成して止めておいても、1週間後に自動的に起動するという謎仕様になっています。DBは基本、止めるものじゃないと、言う考えなんだろうか？じゃ、と削除すると、DBのインスタンスをsnapshotに保存させられる仕様になっています。間違って作成したRDSのインスタンス削除でも、snapshotに保存を強制されます。おそらく、そのときのsnapshotで大部分が消費したのと、

RDSのインスタンスを作成するときに、気づかずにsnapshotの取得を「自動」にしてしまったらしく、その後、RDSのインスタンスを削除したのですが、何故かこのsnapshotの自動取得が残ってしまい。消せない状態になってしまいました。おそらく、どっちかが原因では？
![Screenshot_20221114_154005.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933408/23a35e82-acc4-b4e1-db45-c0a1ef739b21.png)
今はゼロになっていますが、今日の午前中ぐらいまでは、RDSのインスタンスがないのに、上の図の赤い部分が1残っていました。(いつ消えたんた？これもまた謎仕様)

あと、AWS Consoleで気をつけないといけないことがいくつか。
![Screenshot_20221114_154641.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933408/98e511c1-a3c3-d213-2faf-04ccefb8d0f8.png)
AWS Consoleでリージョンを選択するんですが、(インスタンスはここのリージョンに作られる)これが、意図せず違うリージョンに変わっているときがあります。日本に住んでいるなら日本のリージョンに作ったほうがいいのですが、気づかずに、違うリージョンに作ってしまう場合があります。
「あれ？今、作ったはずなのに・・・」と東京リージョンにもう1個インスタンスを作ってしまう。
違うリージョンに作ってしまった、インスタンスは隠れていて、気が付かない・・・って、こともあります。

で、最近、リージョンを跨いで、リソースを検索できる[AWS Resource Explorer](https://www.google.com/search?q=AWS+Resource+Explorer&sourceid=chrome&ie=UTF-8)というのがリリースされたんですが、この仕組みがまたひと癖あって、常に最新のリソースを検索しにいくわけではなく、既に作成されたインデックスを元に検索する仕組みのようです。

アグリゲータインデックスとローカルインデックスがあり、通常アグリゲータインデックスは日本に住んでいるなら東京リージョン、とローカルインデックスが他の国のリージョンで、リンクしてる仕組みです。
![RE_Terms_and_concepts_for_Resource_Explorer_-_AWS_Resource_Explorer.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/933408/678ee5da-207c-14c1-ffa4-0586ecfc4b0d.png)
なんですが、このインデックスの更新タイミングがいつなのかよくわからない。クラウドで複数リージョンにまたがっているのでリアルタイムではないのはしょうがないとして、AWS Resource Explorerで検索して、そのリンクをクリックしても、既に削除されていて無いってこともあります。その逆もあります。

なので、AWSはどこに何のリソースがつくられていて、何が課金されるのか、初心者には非常にわかりずらい仕組みになっています。(プロフェッショナルな人ならそんなことないんだろうな・・・)

**なので、初心者でAWSを始める人はそんなことはわからずに、あっちこっちいじってしまうので、無料枠をはみ出して多少は課金されてしまうことは、覚悟の上で始めたほうがよろしいかと。^^;**

ちなみに、無料枠の場合、無料枠内で打ち止めしてくれる機能があるのかと、いうとなさそうです。(これも、またAmazon商法らしい・・・) 自分で請求コンソールで監視して、不要なサービスを止めろ、と・・・