Webエンジニアの日常とリーグオブレジェンド

Webエンジニアとして働いている猫のブログ。EmacsとMySQLとリーグオブレジェンド(LoL)が好物。主に技術的な記事かLoLの記事を書く。

AWS EC2 インスタンスっていくらかかるの?その料金とは

f:id:yoshiki_utakata:20190331002619p:plain

はじめに

AWS EC2 とは、要するにアプリケーションを動かしたりするための汎用的なサーバーです。ただ、初見では料金体系が分かりづらい気がしたので簡単にまとめます。

オンデマンド・スポット・リザーブドの違い

AWSの料金ページを見ようとすると、「オンデマンド」「スポット」「リザーブド」の3種類あるよって言われてナンノコッチャと思うんですが、基本は「オンデマンド」だと考えたらいいです。

オンデマンド

普通のインスタンス。インスタンスを起動している時間×時間単価でお金がかかります。

スポット

一番安いインスタンスだけど、突然シャットダウンされる可能性があるインスタンスです。常に動いていなくていいバッチ処理とかするインスタンスのためのやつだと思います。

リザーブド

1年~3年分の一括支払いする代わりにオンデマンドインスタンスよりちょっとやすくなるやつです。「途中で使わなくなったらキャンセル」とかはできません。また、インスタンスのサイズの変更なども制限が入ります。

ということで基本的にはオンデマンドを使っていくことになるかな音もいます。スポットは何に使ったらいいのかが難しいですし、リザーブドはインスタンスのサイズ変更などに制限が入るので、基本はオンデマンドのインスタンスを利用することになります。以下オンデマンドインスタンスの話として進めていきます。*1

EC2サーバーの料金を見積もる際に考えること

EC2サーバーの料金は以下の3つによって決まります

  • EC2インスタンス自体の料金
  • EC2インスタンスにマウントするストレージの料金
  • 通信料金

それぞれ説明します。

EC2インスタンス自体の料金

みんながイメージするのはまずこれだと思います。EC2インスタンスを起動していると時間ごとにかかる料金です。インスタンスタイプ(CPUのスペックやメモリのサイズ)によって変わります。

料金はこのページから見ることができます。

aws.amazon.com

まずリージョンを選択します。基本は東京リージョンを選ぶことにになるかと思います。東京リージョンは他のリージョンと比べて割高です。*2

例えば t3.micro だと 0.0136USD/時間 なので、1ヶ月起動しっぱなしで10ドル弱くらいですね。1ドル110円として1100円くらいです。結構高いですね。t3.nano だと 500円~600円といったところでしょうか。

開発環境用のインスタンスの場合は t3.nano - t3.small くらいですかね。nanoはちょっと小さすぎる気がするので、microくらいがちょうどいいかも。microだとちょっと物足りないのであればsmallくらいでしょうか。

ストレージの料金

EC2インスタンスの料金とは別に、ストレージの料金もかかってきます。以下のページから見られます。

aws.amazon.com

通常のEC2インスタンスの場合、Amazon EBS 汎用 SSD ボリューム、というものになるかと思います。この記事執筆時では、東京リージョンの場合、 1 GB の月額料金が 0.12USD と書いてありました。8GBの場合はだいたい1ドル弱。100円ちょいくらいの値段かなと思います。

8GBでちょっと足りない場合もあると思います。16GBにすると倍の200円ちょっとということになります。

通信料金

下記のページの下のほうにある「データ転送」の料金です。

aws.amazon.com

Amazon EC2 からインターネットへのデータ転送送信 (アウト) という部分が重要です。例えばこのブログのトップページのサイズはだいたい2MBくらいのようです。PVが1万PVだとすると、20GB程度になります。1GBまでは無料なので、 19GB * 0.114USD でだいたい2ドルちょい。250円くらいになるかと思います。

ここが結構見積もりづらく、当然いっぱいアクセスがあると料金がかさんでいきます。開発環境だと1GBの範囲でも持たせられるかなと思います。

試算

東京リージョンで試算してみる

普通の開発環境の例

何の料金? 何にするか 単価 料金
EC2インスタンス t3.micro 0.0136USD * 24時間 * 30日 11.7504 USD
EBSストレージ 16GB 0.12USD * 16GB 1.92 USD
データ転送 1GB以内 0USD 0 USD

合計 13.67 USD * 110円/ドル = 1503.7円くらい

ざっくりAWSで計算してみる

ざっくりAWSで計算してみると 1310 円と出たのでだいたいあってます。*3

f:id:yoshiki_utakata:20190331032031p:plain

節約した開発環境の例

何の料金? 何にするか 単価 料金
EC2インスタンス t3.nano 0.0068USD * 24時間 * 30日 4.896 USD
EBSストレージ 16GB 0.12USD * 16GB 1.92 USD
データ転送 1GB以内 0USD 0 USD

合計 6.816 * 110円/ドル = 749.76円くらい

まとめ

  • EC2インスタンスの料金は、インスタンスの料金・ストレージの料金・データ転送にかかる料金で決まる。
  • インスタンスの料金に対してストレージや通信料は小さいので、結局インスタンスの料金が支払うお金のほとんどになる。

Amazon Web Services実践入門 (WEB+DB PRESS plus)

Amazon Web Services実践入門 (WEB+DB PRESS plus)

*1:もし私がオンデマンド以外を使う機会がありましたらそれについても書こうと思います。

*2:しかし、海外のリージョンなど物理的に遠い場所にサーバーを設置すると通信に時間がかかるため、基本は東京に設置したほうが良いです。

*3:誤差が出ているのはインスタンスの料金に変動があったか、円<->ドルのレートが変わったのかしら