Amazon EC2 - コスト
概要
Amazon EC2を使用する上で、不要なインスタンスを利用し続けて余計な料金が掛かることがある。
料金が掛かる部分を把握して、コストと性能とのバランスを監視、分析、最適化していくことは、クラウドを利用する上で最も重要な項目の1つとなる。
料金の決定
Amazon EC2の料金は、以下に示すように決まる。
- インスタンスの料金
- データ転送の料金
- ボリュームの料金
- その他
インスタンスの料金
インスタンスの起動時は、以下の要素に応じて料金が発生する。 (インスタンスの停止時および休止時には、この料金は発生しない)
名称 | 説明 |
---|---|
インスタンスのタイプ | インスタンスのタイプにより変動する。 詳細は、Amazon EC2 - 概要#EC2の構造#インスタンスタイプを参照すること。 |
インスタンスの購入方式 | 同じタイプのインスタンスでも、3種類の購入方式により価格が変動する。 |
リージョン | リージョンにより価格が変動する。 |
具体的なコストは、インスタンスの購入方式のセクションにある料金表を見ることで、大まかな価格を知ることができる。
ただし、コストを意識しすぎてクラウドで実現する機能を制限してはならないため、使用しながら料金を確認して調整することを推奨する。
インスタンスのタイプ
Amazon EC2 - 概要#EC2の構造#インスタンスタイプにあるインスタンスタイプにより料金が変動する。
高性能なタイプほど高価であるため、コストと性能のバランスを見て選択する。
インスタンスの購入方式
同じタイプのインスタンスでも、下表に示す4種類の購入方式により料金が変動する。
名称 | 課金体系 (リンク先に料金表) | 適した用途 |
---|---|---|
オンデマンドインスタンス | 使用時間に応じて、固定額で課金される。 ※注意 Linuxのインスタンスは秒単位で課金される。 Linux以外のインスタンスは秒単位ではなく時間単位の課金であることに注意する。 詳細を知りたい場合は、Amazon EC2 オンデマンド料金を参照すること。 |
通常はこちらを使用 |
リザーブドインスタンス | 1年単位または3年単位で固定額で課金される。 (時間あたり価格はオンデマンドより安い) 詳細を知りたい場合、Amazon EC2 リザーブドインスタンスの料金を参照すること。 |
本番環境等の長期稼働が確定したシステム |
Saving Plans | 1年単位または3年単位で最低利用額が定められるオンデマンドとリザーブドの中間的な契約方式である。 詳細を知りたい場合は、AWSの公式WebサイトにあるSavings Plansを参照すること。 |
長期稼働が予想されるシステム |
スポットインスタンス | 入札制で需給に応じて価格が決まる。 詳細を知りたい場合、Amazon EC2 スポットインスタンスの料金を参照すること。 |
入札価格より相場が高くなるとインスタンスが落ちる。 インスタンスが落ちてもよい用途、かつ、コストを削減したい場合に使用する。 |
リザーブドインスタンスやSavingPlansの場合は長期稼働、
スポットインスタンスの場合は、入札相場の逐次確認、かつ、インスタンスが落ちるリスクの受容が必要となるため、初めて使用するユーザはオンデマンドを選択することを推奨する。
リザーブドインスタンス
1年単位または3年単位でインスタンスを長期契約することにより、時間当たりの契約額を大幅(約30%〜70%程度)に削減することができる。
本番環境等の長期でインスタンスを連続使用することを想定している用途に向いた契約方式である。
契約途中でインスタンスファミリーまたはOSが変更できないスタンダード (比較的安い料金)、
インスタンスファミリーまたはOSが変更できるコンバーティブルが存在する。
また、契約しているリザーブドインスタンスを途中で破棄する場合、マーケットプレイスでインスタンスを売却することもできる。
Savings Plans
オンデマンドインスタンスとリザーブドインスタンスの中間的な契約方式として、1年または3年の期間で一定の使用量(USD/時間)を契約して、割引が適用されるSavings Plansという契約も存在する。
リザーブドインスタンスは、契約期間内はインスタンスを起動し続けることを前提としているのに対して、
Savings Plansは、契約期間内は、1時間あたり最低XXドル分のインスタンスを使用するという最低使用量が定められるサービスである。
具体的には、以下に示すルールが適用される。
(携帯電話料金の無料通話分のシステムに近い)
- 実使用量が最低使用量を下回る場合、最低使用量に相当する料金が請求される。
- 最低使用量を超過した分は、通常のオンデマンドインスタンスの料金が適用される。
また、Amazon EC2以外にもLambdaやFargateのようなサーバーレス向けサービスにも適用できる。
詳細は知りたい場合は、AWSの公式Webサイトを参照すること。
スポットインスタンス
AWSが予備用に保持しているインスタンスを入札制で利用できるサービスである。
多くの場合オンデマンドと同等のインスタンスを低価格で利用することができるが、
相場によりオンデマンドより高くなることもある、入札価格より相場が高くなると突然インスタンスが落ちる等のリスクがあるため、取り扱いに注意が必要な上級者向けサービスといえる。
スポットインスタンスにおいて、スポットフリートやEC2フリートのように複数のインスタンスをまとめて制御および購入する仕組みが存在するため、戦略次第ではインスタンスが落ちるリスクとコスト両者を抑えることができる。
リージョン
リージョンにより料金が変動する。
例えば、バージニア北部リージョンは比較的安めの設定である。
リージョンごとの料金は、Amazon EC2 - コスト#インスタンスの料金#インスタンスの購入方式のセクションを参照すること。
データ転送の料金
通信経路 | 料金 |
---|---|
インターネットからEC2への通信 (内向き) | 無料 |
EC2からインターネットへの通信 (外向き) | 通信量に応じて課金 (約0.11ドル/GB) |
EC2から他リージョンへの通信 | 通信量に応じて課金 (約0.09ドル/GB) |
データ転送の料金の詳細を知りたい場合は、AWSの公式Webサイトにあるデータ転送を参照すること。
ボリュームの料金
Amazon EC2と一緒に作成されるボリューム(EBS)にも、別途料金が発生する。
名称 | 料金 |
---|---|
EBSボリューム | 使用時間とボリューム容量に応じて課金される。 |
EBSスナップショット | S3へのバックアップ作成時、および、復元時に課金される。 |
ボリュームの料金の詳細を知りたい場合は、AWSの公式Webサイトにあるを参照すること。
※注意
- EBSでなくインスタンスストアを使用している場合、ボリュームの料金は掛からない。(インスタンスの料金に含まれる)
- スナップショットを90日以上保持する場合、EBS Snapshots Archive機能を使用することにより、バックアップのコストを削減できる。
その他のコスト
Amazon EC2と併用する他のサービスにも別途料金が発生する。
※注意
紐付けたAmazon EC2インスタンスを削除した場合でも、これらのサービスが解除されないため課金されることがあるので注意する。
サービス名 | 料金 |
---|---|
Elastic IP | 実行中のインスタンスに自動的に付与されたElastic IPは無料であるが、 2個目以降のEIP、または、実行中のインスタンスに関連付けられていないEIPは、追加のEIP毎に時間当たり(プロラタベース)の料金が必要となる。 追加のEIPは、Amazon VPCでのみ利用可能である。 詳細を知りたい場合は、AWSの公式Webサイトを参照すること。 |
キャリアIPアドレス | AWS WavelengthのIPアドレス 詳細を知りたい場合は、AWSの公式Webサイトを参照すること。 |
Elastic Load Balancing (ELB) | ロードバランサの種類に応じて時間課金される。 詳細を知りたい場合は、AWSの公式WebサイトにあるElastic Load Balancing 料金表を参照すること。 |
オンデマンドキャパシティ予約 | 対応するAmazon EC2インスタンスと同価格 詳細を知りたい場合は、AWSの公式Webサイトにあるオンデマンドキャパシティ予約、または、オンデマンドキャパシティ予約のFAQを参照すること。 |
Amazon CloudWatch | 利用時間に応じて課金される。 課金体系が複雑であるため、AWSの公式WebサイトにあるAmazon CloudWatch 料金表の[料金の例]を参照すること。 |
また、NATゲートウェイやエンドポイント等のVPC関連サービスにも別途料金が掛かる。
詳細を知りたい場合は、Amazon VPC#外部ネットワークサービスとの接続のページを参照すること。
(外向き通信量に課金はデータ転送の料金と同じ内容のため、2重課金されない)
コストの監視および最適化
Amazon EC2は起動時間に応じて課金されるため、長期継続運用すると多くの金額が請求されることが多く、コストダウンの施策が事業上の競争力向上に繋がりやすいサービスである。
したがって、コストを監視して最適化するための仕組みづくりが重要となる。
インスタンスの停止・終了
Amazon EC2インスタンスを使用し終えた後、停止・終了していない状態で放置すると、数ヶ月で多額の料金が発生する。
特に、普段使用しないリージョンのインスタンスを停止しない等。
詳細は、DevelopersIOを参照すること。
AWS Budgets
あらかじめ予算を決定した上で、予算のXX%を超過するとメールで通知する、Savings Plansの使用率が閾値を下回るとSNSで通知する等のきめ細やかなアラート通知を実現できるのが、AWS Budgetsである。
料金が増大した場合のみ通知するAWS Budgetsは、再現性のあるコストマネジメント手法として役に立つ。
AWS Cost Explorer
コンソールから料金を確認する方法は多数存在するが、AWS Cost Explorerはグラフを表示することができる。
詳細は、DevelopersIOを参照すること。
AWS Console
Amazonが開発しているコンソールソフトウェア(スマートフォン向け)を使用することにより、サービス毎の利用料金を確認することができる。
これにより、AWS Cost Explorerと同様のグラフを表示することができる。
- Google Play Store
- Apple Store
EC2 Global View
Amazon EC2 Global Viewを使用することにより、全てのリージョンにあるAmazon EC2インスタンスを確認できるため、停止・削除すべきリージョンにあるインスタンスに気付くことができる。
Amazon EC2 Global Viewの使用方法は、Amazon EC2 - コンソール#Amazon EC2 Global Viewのページを参照すること。