COLUMN
AWSでかかる費用、AWS公式見積もりツールの使い方を解説!
こんにちは、荒井です。 |
AWSの料金体系の基本的な考え方は「使った分だけ支払う」という従量課金制です。
つまり、使ってみないと正確な請求金額はわかりません。
しかし、それではあらかじめAWSの料金が確認できないため「予算確保ができない!」「社内稟議が通せない!」という方もいらっしゃるのではないでしょうか。
ここでは、AWSの利用でどのくらいの費用が発生するのかを個人で簡単に作成するためのツールである「AWS料金見積もりツール(AWS Pricing Calculator)」について解説します。
また、AWSの費用を抑えるポイントやNTT東日本の「コスト最適化 for AWS / Microsoft Azure」サービスについても紹介していきたいと思います。
1. AWSの料金体系
AWS料金見積もりツールを使用する前に、基本的なAWS料金体系を把握しておきましょう。
AWSは100を超えるサービスが存在しており、各サービスごとに料金体系が異なるため全てを把握することは難しいですが、以下3つの基本的な考え方を把握することでイメージをつけやすくなります。
1-1. 仮想サーバー
AWSで構築するサーバーといえばAmazon Elastic Compute Cloud (EC2)ですが、こうした仮想サーバーについては基本的に起動した分の費用(従量課金)が料金に計上されます。
なお、支払い方法によって割引を適用することが可能です。支払い方法の種類については後述します。
1-2. ストレージ
AWSで利用するストレージといえばAmazon Simple Storage Service (Amazon S3)ですが、ストレージサービスは基本的に保存したデータ量に応じた費用およびデータ転送量に応じた費用が料金として計上されます。
ストレージもサービスごとにプランがあり、ファイルへのアクセス頻度が低い、アーカイブを目的としたストレージを使用したいといったケースによって適切なプランを選択することによって費用を抑えることが可能です。
1-3. データ転送
一部データ転送においても費用が発生します。例えばAmazon EC2はインバウンド通信(受信)については基本的に無料ですが、アウトバウンド通信(送信)を行う場合や、VPCピアリングによるVPC間の通信を行う場合などにおいてデータ転送量に応じた料金が発生します。
2. AWS料金見積もりツールの使い方
料金体系はAWS公式のドキュメントにも記載されていますが、それを一つひとつ参照しながら自分で計算することは非常に大変です。
そのため、AWSは公式ツールとして
「AWS料金見積もりツール(AWS Pricing Calculator)」を用意しており、このツールを使用することで、月額の利用料を簡単に算出することが可能です。
この記事では、
AWS公式見積もりツールを実際にどのように使うかを実例とともに紹介します。
例として以下のような構成図における見積もりを作成していきたいと思います。
WEBサーバーがEC2インスタンスとして2台あり、DBとしてRDSがマルチAZで構成されているイメージです。ELBによるロードバランシングも行っています。
また、それぞれのパラメータはざっくりと以下のようなことを決めておきます。
【Amazon EC2】
OS:Windows Server
インスタンスタイプ:m6a.large
Amazon EBS ストレージタイプ:汎用SSD(gp3)
Amazon EBS ストレージ量:100GB
【Amazon RDS for SQL server 】
インスタンスタイプ:db.m4.large
デプロイオプション:マルチAZ
ストレージ量:100GB
【Elastic Load Balancing】
タイプ:Application Load Balancer
せっかくなのでクイズです!上記構成の見積もりを作成すると年間でいくらになるでしょうか?
以下の中から最も近いものを予想して読み進めてもらえればと思います。
- A:5,000ドル/年
- B:10,000ドル/年
- C:25,000ドル/年
- D:50,000ドル/年
ではさっそく進めていきましょう!
- AWS Pricing Calculatorにアクセスします。
利用に関してAWSへのログインは必要ありません。
アクセスすると最初は英語表示になっていますので上部のLanguageから「日本語」を選びます。
- 「見積もりの作成」から見積もり作成を始めます。
2-1. EC2インスタンスの見積もり作成
見積もり作成を進めると「サービス追加」画面になります。「サービスの検索」で「EC2」と入力すると「Amazon EC2」が表示されましたので「設定」を選択します
初期設定ではリージョンが「米国東部(バージニア北部)」となっているので、今回はリージョンを「アジアパシフィック(東京)」にしています。EC2インスタンスの見積もり作成
EC2の各種パラメータを設定する画面になりますので、入力していきます。
細かい部分はその都度考えるとして、冒頭に記載した通り以下のざっくりパラメータで作成していきたいと思います。
【Amazon EC2】
OS:Windows Server
インスタンスタイプ:m6a.large
Amazon EBS ストレージタイプ:汎用SSD(gp3)
Amazon EBS ストレージ量:100GB
それでは一つひとつ見ていきましょう!
リージョン:今回はアジアパシフィック(東京)にしています。
テナンシー:今回は共有インスタンスを選択しています。
テナンシーとは、AWSの物理的なハードウェアを他のユーザと共有するか、自分だけで専有するかを選ぶパラメータです。共有インスタンス、専有インスタンス、専有ホストから選択します。
共有インスタンスは物理的なハードウェアを他のユーザと共有する最も一般的な選択です。
専有インスタンスはAWSアカウント単位で物理的なハードウェアを専有するプランです。この選択をすると、他のAWSアカウントからはその物理サーバーにEC2インスタンスを起動することができなくなります。
専有ホストはインスタンス単位で物理的なハードウェアを専有できるプランです。このプランを設定すると、他のEC2インスタンスをその物理サーバー上に起動することができなくなります。
専有インスタンス、専有ホストを選択するとその分料金が高額になります。例えば、専有インスタンスの場合は通常の従量課金に加えてハードウェア専有分の料金も上乗せされるため高額となります。
オペレーティングシステム:Windows Serverを選択します。
ワークロード:今回は「一定の使用量」でインスタンス数は2といった設定で進めます。
ワークロードの選択は、EC2インスタンスの数がどのように増減するかを選択する項目です。一定の使用量、毎日のスパイクトラフィック、毎週のスパイクトラフィック、毎月のスパイクトラフィックから選択します。
一定の使用量は、常にEC2インスタンスの数が一定である想定の際に選択します。
毎日のスパイクトラフィックは、例えば毎朝9:00に接続のピークがあるといった際に、ピーク時の負荷に耐えられるようその時間帯だけEC2インスタンスの数を2倍にしておく、といったケースに選択します。
毎週のスパイクトラフィックは、上記ような時間単位ではなく曜日単位でEC2インスタンスの数を増減する際に選択します。例えば、毎月月曜日に大きな処理が発生する場合などに選択します。
毎月のスパイクトラフィックは、上記のような曜日単位ではなく一か月あたり何日間ピークがあり、その負荷に耐えるようインスタンスの数を増減する際に選択します。例えば、月末に請求書を発行するなどのピークが月単位で決まっている場合などに選択します。
EC2インスタンス:m6a.largeを選択します。
インスタンスファミリーでm6aを選択するとそのインスタンスファミリーの各インスタンス名が表示されるので、その一覧から「m6.large」を選択します。
インスタンスファミリーとは、CPU数やメモリ容量などをまとめたEC2インスタンスの性能のことを指しています。用途に合わせて適切なものを選択してください。
お支払オプション:今回はオンデマンドを選択します。あとから他のオプションを比較してみましょう。
お支払いオプションは、AWSに対して従量課金として利用料を毎月支払うか、あらかじめ決めておいた期間で前払いを行うなどの支払い方法を選択する項目です。大きく分けるとオンデマンド、リザーブドインスタンス、Savings Plans、スポットインスタンスから選択します。
オンデマンドは一般的なEC2の利用プランです。起動時間に応じた従量課金が行われます。
スポットインスタンスはAWSにおいて余っているリソースを時価によって購入できるプランです。余っているリソースを間借りしている関係上、AWSによって任意に停止されてしまう可能性があるため、処理の途中で停止しても問題がない処理を行うサーバーに割り当てることが一般的です。
リザーブドインスタンスは1年間または3年間の固定料金を支払うプランです。全額前払い、一部前払い、前払いなしから選択します。オンデマンドと比べて費用を抑えることが可能です。なお、さらに細かい部分ではスタンダードリザーブドインスタンスとコンバーティブルリザーブドインスタンスの2つがありますが、スタンダードリザーブドインスタンスを選択した場合は利用の途中でインスタンスタイプを変更することはできません。
Savings Plansはリザーブドインスタンスと同じく1年間または3年間の固定料金を支払うプランです。リザーブドインスタンスとの違いは、支払う額をこちら側で決定し、その支払った額に対して利用した分のインスタンスが割り当てられるといった考え方の違いがあります。
Savings Plansの詳細についてはぜひこちらのコラムを参考にしてください。AWSのSavings Plans(SP)とは何か?メリットや適用イメージを徹底解説
各EC2インスタンスのストレージ:あらかじめ決めておいた通り、汎用SSD(gp3)を選択します。
ストレージタイプはAmazon EBSの性能を示しているものです。汎用SSD(gp3/gp2)、プロビジョンドSSD(io1/io2)、スループット最適化HDD(st1)、cold HDD(sc1)から選択します。
汎用SSDは最も一般的な汎用的なボリュームタイプです。
プロビジョンドIOPS SSDは、1秒当たりに処理できる読み取り・書き込み性能(IOPS)を指定するボリュームタイプです。高い処理性能が必要なアプリケーションやデータベースを構築する際などに選択します。
スループット最適化HDDは、高いスループット(処理速度)を持ちつつ料金を抑えたボリュームタイプです。データウェアハウスやビックデータ分析といった利用ケースの際などに選択します。
Cold HDDは、データのアーカイブなど利用頻度の低いデータを格納する際などに選択するボリュームタイプです。
汎用SSD(gp3) - IOPS:デフォルトとしての3,000を入力しておきます。
IOPSは、1秒当たりに処理できる読み取り・書き込み性能を示します。AWSにおける汎用SSDの場合、最大サイズ256KBのファイルを1秒間にどのくらい読み取り・書き込みできるかという計算になります。
小さいファイルが複数存在する場合はIOPSを高めることによってパフォーマンスを上げることが可能です。
汎用SSD(gp3) - スループット バリュー:あらかじめ決めていませんでしたが、デフォルトとしての125を入力しておきます。
スループットは1秒間当たりに処理できるデータ転送量を示します。125MBpsの場合、1秒間に125MBの処理ができる計算になります。
大きいファイルを処理する機会が多い場合はスループットを高めることによってパフォーマンスを上げることが可能です。
ストレージ量:あらかじめ決めておいた通り、100GBを選択します。
ストレージ量は、名前の通りストレージの容量です。
スナップショットの頻度:決めていませんでしたが、毎週を選択します。
スナップショットの頻度は、Amazon EBSをどのくらいの期間でバックアップを取得するかの頻度です。最短で毎時、最長で毎月から選択できます。
スナップショットごとの変更量:こちらは目安ですので今回は適当に1GBを選択します。
Amazon EBSのスナップショットは毎回全てバックアップ(フルバックアップ)を取得しているのではなく、変更(追加・削除)があった分のみをバックアップして変更がなかった分は前回のバックアップデータ分でカバーする仕組みにすることでバックアップデータ全体の容量を抑える仕組みになっています。
毎回のスナップショット時にどのくらいファイルの変更があるかを選択する項目ですので、今回は1GBとして記載しています。
詳細モニタリング:今回は詳細モニタリングは無効としています。
詳細モニタリングは、CloudWatchという監視ツールでより詳細なモニタリングを行いたい際に選択します。例えば、基本モニタリングの場合は5分毎にCPU使用率などの集計を行いますが、詳細モニタリングを有効にした場合は1分毎に集計することができるようになります。
データ転送:毎月200GBの受信・送信を行う設定としています。
EC2インスタンスはデータの受信については基本的に無料であり、データの送信については料金が発生します。
なお、VPCピアリングなどのリージョン内データ転送については、今回は0としています。
追加コスト:任意のコストを入力できますが、今回は空白です。
最後に、「概要を保存して表示」を選択します。
見積もりが作成されました!
月あたり約350ドルで、年単位では約4,193ドルという結果になりました。
比較のために支払いオプションを「EC2 Instance Savings Plans」に変更してみます。
設定は1年間の全額前払いで設定しました。
1年間の合計コストが約4,193ドルから約3,447ドルに減りました!
プランを変えるだけで約18%ほど費用を下げることができたということになります。
なお、全額前払いであるにもかかわらず1月あたりのコストが52.15ドル分発生しているのは、前述で設定したAmazon EBSのストレージ使用分とデータ転送分としての費用が発生しているためです。
2-2. RDSの見積もり作成
続いて、「サービスの追加」を選択してAmazon RDSを追加していきます。
- サービスの検索から、「Amazon RDS for SQL server」を検索して「設定」を選択します。
RDSの見積もり作成
RDSの各種パラメータを設定する画面になりますので、入力していきます。
細かい部分はその都度考えるとして、冒頭に記載した通り以下のざっくりパラメータで作成していきたいと思います。
【Amazon RDS for SQL server 】
インスタンスタイプ:db.m4.large
デプロイオプション:マルチAZ
ストレージ量:100GB
それではまた一つひとつ見ていきましょう!
リージョン:今回も「アジアパシフィック(東京)」を選択します。
ノード:インスタンスの数は1、インスタンスタイプはdb.m4.largeを選択します。
バリュー:こちらについては、今回は100%にしています。
これは普段どのくらいRDSを起動しておくかという目安です。
RDSは前述のEC2と比べて料金が高いので、利用しない時間帯がある場合は停止しておくことで費用を抑えることが可能になります。
価格モデル:OnDemand(オンデマンド)を選択します。
利用した分従量課金で料金が発生するモデルです。
デプロイオプション:あらかじめ決めておいた通りMuti-AZを選択します。
Multi-AZ(マルチAZ)とは、普段使用するRDSとは別のAZ(アベイラビリティゾーン。地理的に離れた場所にあるデータセンターのことを指します)にスタンバイ用のRDSを設置することにより、災害が起きた場合などにすぐに復旧できるような仕組みを用意しておくオプションのことです。
ライセンス:License Includedを選択します。
Amazon RDS for SQL ServerはMicrosoftが開発したリレーショナルデータベース管理システムを使用していますが、サービスにライセンス料が含まれているためMicrosoft SQL Server ライセンスを別に購入する必要はありません。
データベース版:Standardを選択します。
SQL ServerにはEnterprise、Standard、Web、Developer、Expressといったエディションがあり、データベース版はそのうちどれを利用するかを選択する項目です。
インスタンスタイプによって選択できるエディションは異なりますが、今回設定したdb.m4.largeの場合はStandardのみ選択可能なのでStandardを選択しています。
データベースでRDSプロキシを作成しますか?:今回は「いいえ」を選択します。
RDSプロキシとは、例えば「一つのRDSに対して大量のコネクションが発生しRDS側の同時接続数上限を超えてしまうことでエラーが発生する」といった事態を回避するために、RDSの前にプロキシを設置するオプションのことを指します。プロキシを設置してコネクションをプロキシ経由にすることで、RDSから見た同時接続数はプロキシからの1本のみとなり、結果的に同時接続数の上限によるエラーを回避することが可能になります。
ストレージ:汎用SSD(gp3)を選択します。
ストレージタイプについては前述のEC2で記載していますので割愛します。
ストレージ量:あらかじめ決めておいた通り、100GBとします。
ストレージ量は、名前の通りストレージの容量を指します。
汎用SSD(gp3) - IOPS:デフォルトとしての3000で進めます。
IOPSについては前述のEC2で記載していますので割愛します。
汎用SSD(gp3) - スループット:デフォルトとしての125で進めます。
スループットについては前述のEC2で記載していますので割愛します。
RDS Performance Insightsの保持期間:7日間を選択します。
RDS Performance Insightsは、データベースの負荷などのデータを収集して分析・表示することで、データベースのパフォーマンス改善に向けた検討を行いやすくなる機能です。
7日間の収集データは無料で保持されます。
追加のバックアップストレージ:今回は0で進めます。
RDSは自動でバックアップが取得されますが、そのバックアップの合計サイズがRDSのデータ容量を超える場合は料金が発生します。例えば手動バックアップを何度も取得する場合や、長期間保存する必要がある場合などはこちらの数字を検討する必要があります。
しかし、このコストが発生する場合もそこまで大きな料金にはならないため、見積もり段階ではあまり気にする必要はないように思います。
最後に、「概要を保存して表示」を選択します。
RDSが見積もりに追加されました!
2-3. ELBの見積もり作成
続いて、「サービスの追加」を選択してElastic Load Balancing(ELB)を追加していきます。
同じように「サービスを検索」から「Elastic Load Balancing」を検索して「設定」を選択します。
ELBの見積もり作成
ELBの各種パラメータを設定する画面になりますので、入力していきます。
細かい部分はその都度考えるとして、冒頭に記載した通り以下のざっくりパラメータで作成していきたいと思います。
【Elastic Load Balancing】
タイプ:Application Load Balancer
それではまた一つひとつ見ていきましょう!
リージョン:例によって「アジアパシフィック(東京)」を選択します。
Elastic Load Balancing:「Application Load Balancer」を選択します。
Application Load Balancer(ALB)、Network Load Balancer(NLB)などを選択することができます。用途に合わせて選択をしてください。
各ロードバランサーの違いについては以下のコラムを参照ください。AWSのロードバランサーとは? ALB・NLBの違いと用途について
Application Load Balancer特徴:AWSリージョンのロードバランサーを選択します。
もう一つの選択肢であるOutpostsとは、AWSから提供される物理的なハードウェアをオンプレミス環境(自社のデータセンターなど)に設置することで、自社のデータセンターでAWSを利用することができるサービスです。ミリ秒単位のレイテンシーのみを許容するような処理を行う必要がある場合に利用されます。
AWS Outpostsについての詳細は以下のコラムを参考にしてください。AWS Outpostsとは?メリットや対応サービスから利用の流れまで
今回はOutpostsの利用はしないため、左側を選択しています。
Application Load Balancerの数:あらかじめ決めておいた通り1で進めます。
ロードバランサーキャパシティユニット:図のように記載しました。
処理されたバイトについては、今回はLambdaは設置していため0GB/時としています。
その他については、1秒あたりに1個の新しい接続があり、平均持続時間が2分、といった場合を想定してその他は目安として入力しました。
最後に、「概要を保存して表示」を選択します。
最終的な見積もりが完成しました!!
年間で約22,580ドルという結果になりました。
なお、作成した見積もりについてはPDFとしてエクスポートすることが可能です。
3. まとめ
今回は以下の構成図で見積もりを作成しました。
年間で約22,580ドルという結果になり、冒頭のクイズのうちCが最も近いということになりました!
- A:5,000ドル/年
- B:10,000ドル/年
- C:25,000ドル/年
- D:50,000ドル/年
なお、記事の中で紹介したように支払いオプション(オンデマンド、リザーブド、Savings Plans)や、インスタンスタイプ(m6a.large)などによって費用は上限します。ぜひ実際のプロジェクトを考慮しつつ、色々な組み合わせを試していただき最も適切なプランを検討してみてください!
また、NTT東日本では「コスト最適化 for AWS / Microsoft Azure」というサービスを行っています。
コストを最適化するためには色々な判断が必要であるため個人で行うのは難しい場合もあります。本サービスでは上記図のように、例えばタイマーによって起動/停止設定を行うことによってEC2などの従量課金を抑えることや、お客さまの利用内容に応じてインスタンスタイプ・ストレージタイプの見直しを行うこと、リザーブドインスタンスやSavings Plansの判断することなど、お客さまの状況に応じてコスト削減をレコメンド・設定を行うサービスです。
詳細はクラソルのホームページからご確認いただき、もし興味がありましたらぜひお問い合わせください!
RECOMMEND
その他のコラム
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。