0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【AWSコスト削減の道 for 開発環境】EC2編 ※ スポットインスタンス変更編

Last updated at Posted at 2021-11-11

【AWSコスト削減の道 for 開発環境】EC2編

前提

概要

  • 開発環境用に使用しているEC2インスタンスをスポットインスタンスに変更をおこなう
  • 使用する時間になったら自動的にスポットインスタンスを起動する
  • 使用していない時間に関しては自動的にスポットインスタンスを停止する

背景

  • 開発環境用に利用していたEC2インスタンスがオンデマンドインスタンスだったので、スポットインスタンスに比べ料金が高くなっていた

本記事内の利用技術について

  • EC2スポットインスタンス
    • AWSの料金を安くするための必須リソース!!
    • 私たちの開発環境ではソースコードやDBはすべて外出しをしているので、
      ソースコードのデプロイとインスタンス内に実行環境があれば問題ない状態となっている
  • EC2 Auto Scaling
    • EC2インスタンスに対しての起動及び停止ハンドラ
    • EC2 Auto Scalingを用いて、EC2インスタンスを起動するときにEC2スポットインスタンスとして起動させるために使用
    • EC2スポットインスタンスを起動する際に予め定義しているVPCや
      ロードバランサーターゲットグループに自動機に紐づけてくれるので超便利!!
  • 起動テンプレート
    • EC2 Auto Scalingから呼び出されるEC2インスタンス構築の際の手順をテンプレート化している
    • 「ユーザーデータ」にはすごくお世話になっております・・・
  • AMI
    • 特定時点のEC2インスタンスの状態を保存している
    • サーバ内のミドルウェアなど基本的に変更がない部分を設定後、
      その状態をAMI化して起動テンプレートから呼び出すようにしている

利用料金の比較 ※ 1時間当たり

前提

  • 開発環境のインスタンスタイプはt3a.mediumを利用している
  • 通信料金は変更がないため記載をしていない

インスタンス料金

ondemand_and_spot_price_comparison.PNG
70%安い!!!!! ※ リザーブドインスタンスに匹敵!!!

EC2 Auto Scaling

対応前

使っていない

対応後

EC2 Auto Scalingに対して料金は発生しない

起動テンプレート

対応前

使っていない

対応後

記事は発見できなかったが、利用料金を見る限り起動テンプレートに対しても料金は発生していない

AMI ※ EBSを含める

対応前

50G(AMI作成時点のストレージサイズ) * 1(1世代) * 0.05(1Gあたりの料金 ※USD) = $2.5

対応後

50G(AMI作成時点のストレージサイズ) * 1(1世代) * 0.05(1Gあたりの料金 ※USD) = $2.5

結論

🤣🤣コスト削減対応をしてもEC2の料金分しか変動対象がないため、単純に利用料金が**70%**安くなった!!!🤣🤣

おまけ

本記事の内容を実装した際のEC2スポットインスタンスのライフサイクルについて

前提

  • 画像にはEvent BridgeやLambdaを記載しているが、そちらのリソースについては別の記事で紹介します

spot_instance_life_cycle.drawio.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?