Quora回答シリーズです。
質問
Awsのコスト(費用) を抑えるために何をしていますか?
https://qr.ae/TVc3TV
AWSはこういうコストダウンを狙った作戦もシステム面でがんばる必要があって正直なところ面倒ですねw メニューがもう少し少なければ悩む必要もない気がするんだけどな…。
回答
細かいところを上げると切りがないのでよく話題に上がるものを列挙します。
契約
法人であれば代理店経由で仕払う
無条件で3〜5%引きになります。例えば有名所だと以下のような企業があります。 classmethod.jp cloudpack.jp
代理店によってはAWSのビジネスサポートとほぼ同等のサポートが無料でついてくる場合があります。またクレジットカードではなく請求書払にすることも可能です。ただし一部制約があるので注意が必要です。
リザーブドインスタンスを契約する
EC2を長期間利用することがわかっている場合、1〜3年間継続して利用すると約束をすることで最大で75%安くなります。これは契約上の話なのでシステム的な変更などは一切必要ありません。 aws.amazon.com
また最近SavingsPlanが新しく登場したのでこちらもおすすめです。 aws.amazon.com
Cloud Frontのディスカウント
AWSのCDNであるCloudFrontにそれなりの流量がすでにあるか、今後見込まれるようであればディスカウントを打診します。特に巨大なデータを配信しているような場合この交渉は必須です。 aws.amazon.com
設計
スポットインスタンスが活用できないか
EC2が大量にある場合はスポットインスタンスを利用することでも大幅にコストを削減できます。 「スポットインスタンス」はAWSの余剰リソースを割り当てられる代わりにお安くしますというサービスです。そのためAWS側でリソースが必要になると処理中であってもシャットダウンさせらる点に注意が必要です。と言っても最近はずいぶん安定しているようで90%程度は最後まで処理が行われているようです。 aws.amazon.com
EC2/RDSからサーバーレスに移行できないか検討する
例えば1日1回ちょっとした処理をするためだけにEC2を起動するのはコスパが悪すぎます。そういった場合にはLambdaなどに置き換えることができない検討します。またLambda以外にも例えば社内向けの利用頻度の低いツールであればAuroraをサーバレスとして使うこともできます aws.amazon.com
Lightsailで事足りないか検討する
例えば社内でWebサイトをプレピューしたい、ちょっとしたPHPも動かしたいといった軽めの案件であれば、EC2を使ってももちろん良いのですが、Lightsailなら3.5ドルから利用できます。CloudFrontなどのCDNと組み合わせればオリジンサーバとしても十分な役目を果たしてくれます。 aws.amazon.com
S3のリージョンを海外に移す
S3をバックアップなどで利用している場合は、より低額な海外リージョンに移すことでコストを削減できます。日本はちょっとだけ高いのです。 aws.amazon.com
RedshiftではなくGCP(BigQuery)を検討する
ビッグデータ解析などでクエリーの実行数がそれほどない場合、従量課金制であるBigQueryの方が安く抑えることができる可能性があります。ただしAWSから外部への通信はネットワーク転送料がかかるので注意が必要です。 cloud.google.com
どうしてもAWSでやりたい場合はAthenaという選択肢もあります。 aws.amazon.com
AWSから外にでる情報を圧縮/削減
例えば画像であれば減色や余計な情報(Exifなど)を削除、HTML/JS/CSSやJSONなどはminifyした上でgzipなど 例えばAPI Gatewayはリクエスト回数と料金が比例しますので、リクエスト数自体を減らすことも有効な場合があります。
運用
インスタンスタイプを最適化
CloudWatchなどでどの程度のリソースが消費されているか確認し、余力が有り余っているようであればスペックを低い物に切り替えることをすべきです。
またEC2/RDSの性能は日々アップデートされています。大量にEC2インスタンスを作成している場合、上位プランに移動しインスタンス数を減らすことでトータルの料金を減らすことができる可能性もあります。
不要ファイルの削除
定期的にS3の不要ファイル、CloudWatchのログ、RDSのレコードなどを削除します。S3の場合はストレージタイプの見直しも効果的でしょう。
そのほか
ウルトラCなところだと、法人であれば自社でAWSの販売パートナーになることで自社でもいわゆる卸価格で利用することができます。 aws.amazon.com
ちなみにAWSにまとめページがありますのでこちらもご覧ください。 aws.amazon.com