円安に負けないAWSコスト削減を考えてみた
「クラウドにしたら安くなる」といつから錯覚していた?
必要なものを必要な分だけ用意できるのがクラウドの魅力です。素晴らしいです。
しかし、まともに運用しだすとどうしても維持コストがかかります。私もAWSアカウントを持っています、月1000円ぐらいです。
いやいや、月500円すらかけたくない。
普段使ってないのならお金をかけたくないです。
550円あったらニコニコのチャンネル会員できるんですよ。noteのサブスクだってtwichのサブスクだって試せちゃう。
そして2022年10月現在、円安が進行。
一年前と比べたら円に換算して20%は請求が高くなってます。これに対抗しましょう。安くなるとは行かなくても一年前の水準で維持できるくらいに。
STEP 1 未使用のコストの削減
クラウドなので使っていないものは消しましょう。特にAWSはネットワークインターフェイス系は一度用意してそのまま放置しがちです。
VPCエンドポイント
プライベートサブネットに関するアクセスするために用意したPrivateLinkとかNAT Gatewayなどは必要なときにまた作ればいいです。時間課金ですから使う時だけ起動、使い終わってしばらく使う見込みがない消す癖を。
Route53
Route53で作成したプライベートホストゾーンも消しましょう。1ホストゾーン 0.5ドル 、1年放置したら千円近くになります。月額課金ですので月末までに削除しておくのがおすすめです。
あとRoute 53 Resolverは冗長構成を避けられないのでコスト下げれません。必要なくなったら忘れず削除。1ヶ月1つリゾルバーエンドポイントを放置すると 0.125ENI*720h*2 = 180ドル にもなります。
STEP 2 維持コストの削減
使ってるもの、たまに使うものは定期的に棚卸ししましょう。
S3
データを保管するにはもってこいです。大きめのファイルでたまにしか使わないものはS3標準からS3標準-低頻度アクセスにしましょう。保管コストが4割削減になります。デメリットは取り出しコストが約2倍になることです。つまり粒が大きいのがコスト削減に向いています。細かいファイルがたくさんあると取り出しコストが高くになります。
S3標準 : 保管 0.025USD/GB
操作 0.0047USD/1,000request
S3標準低頻度 : 保管 0.0138USD/GB
操作 0.01USD/1,000request
ただクラウドストレージとしてS3を使うなら手元にHDDを用意したほうが安く済むでしょう。プレステで撮った動画を置いておこうと思ったけど家に配置したほうがよさそうだな。
EC2 EBS
お試して作ったEC2インスタンスは消すのが無難ですが、Cloud9のインスタンスはたまに使うので消したくないとか、検証構成残しておきたいとかの場合はストレージのタイプを確認することをおすすめします。
GUIからぽちぽち作ると一番上の選択肢はgp2になります。お得なgp3に変更することで使わないときに課金されるボリュームを保管コストのより低いものにすることができます。
gp2 : 0.12 USD/GB月
gp3 : 0.096 USD/GB月 (20%お得)
デフォルトスペックでよいならgp3は上位互換になるのでは?と思います。気になる方は記事をご参考に。
ちなみにボリューム一覧にはEC2にアタッチされていないのもありますのでチェックをお忘れなく。
他のテクニックとして、EBSのスナップショットをスタンダードからアーカイブにするとコストがだいたい半分ぐらいになります。だいたい半分と書いたのはデータの保存方式が「スタンダードは差分、アーカイブは全量」となるためです。アーカイブのほうが保管サイズが大きくなり単純比較できません。
環境構築をコード化しておけば必要なときに1から作ればいいから保管コストゼロになるという人も多そうですね。そんな人はこの記事読んでない気がしますけど。
STEP 3 運用コストの削減
まず、全リージョンで動かしていて、常に動作するものは本当に必要か吟味しましょう。
SecurityHub
リージョン内のリソースでセキュリティルールを守れていないものを検出してくれる有能な子です。しかし、チェックする対象が多ければ多いほどコストがかさみます。実行のコストだけでなくチェック時にはAPIを呼びまくるのでCloudTrailのログもでます。故に全リージョンで有効化するとそれなりにコストが掛かります。
CloudTrail と Config
この2つのログをS3に保存している方は多いと思います。どのリージョンに保存していますか?私は最近まで東京リージョン(ap-northeast-1)でした。でもずっと保存しておくだけなので保管コストが低いところに置くのがコスパが良いです。というわけでバージニア北部(us-east-1)に変更。
ap-northeast-1: 0.025 USD/GB
us-east-1 : 0.023 USD/GB (8%安い)
個人で使う分には微量なんですが、仕事で使うとなるとログは大量にでるのでサイズが馬鹿になりません。なので検討の余地ありです。
とはいえですね、なぜ東京に配置しているかというとデータを国外に持ち出してはいけないというルールがあったりするわけだからです。でもよく考えると CloudTrailとConfigにアプリや個人の情報が入ることって少ないので別にこれくらい検討の余地ないかなーという気持ちがあります。
以上考えたテクニックでした。(考えたというか実践中)
まずは先月分の請求書をにらみつけるところからスタートです。
でも数百円のために何時間も使うとそれこそコスパ悪いよなー。
よろしければサポートお願いします。プロデュース代になります