殿堂入り記事

Amazon EC2とEBSの料金が秒単位の請求に変わります!

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ウィスキー、シガー、パイプをこよなく愛する大栗です。

2017年10月2日からAmazon EC2とAmazon EBSの料金が秒単位の請求となります。内容についてまとめてみました。

New – Per-Second Billing for EC2 Instances and EBS Volumes

秒単位の請求

今までEC2は従量課金モデルに従い、1時間単位の請求が発生していました。10月2日から以下のサービスについて1秒単位で請求が発生します。

  • Amazon EC2
  • Amazon EBS
  • Amazon EMR
  • AWS Batch

以下のように請求書は時間単位のままで小数で表示されます。

Source: <https://aws.amazon.com/blogs/aws/new-per-second-billing-for-ec2-instances-and-ebs-volumes/>

注意点

全てにおいて1秒単位の請求には以下の注意点があります。

  • 時間単位の料金が発生するMicrosoft WindowsまたはLinuxディストリビューションを実行するインスタンスには1秒単位の請求は適用されません。
  • 1インスタンスにつき最低1分の請求が発生します。
  • 価格表やスポット価格は1時間単位のまま表示されます。料金の計算は1秒単位となります。
  • リザーブドインスタンスの使用量も1秒単位で計算されます。
  • リージョン専用の料金(ハードウェア専有インスタンスの料金の一部)、EBSスナップショット、AWS Marketplaceの製品では1時間の請求となります。

さいごに

EC2が1秒単位の請求となり短時間の起動、停止でも無駄な料金が発生せず1時間の請求に比べてコスト効率が上がりました。

短時間の処理としてはLambdaの利用が考えられますが5分の起動制限がありました。今回EC2の請求が1秒単位になったため、Lambdaでは5分超過の可能性がある処理に対してEC2を使用したり以下の記事のようにAWS Batchを使用しても無駄な料金が発生しません。

AWS Batchを使って5分以上かかる処理を実行してみる

また起動失敗してしまうAuto Scalingの設定をした時に、インスタンス作り変えが大量に発生して一瞬起動して終了する場合、1インスタンス毎に1時間分の料金が発生して合計で大きな請求となってしまいましたが、無駄な費用を抑えられます。

EC2がリリースされた2006年当時と比べると実行する処理の種類が大きく増えました。最近ではDockerなどのコンテナ技術の発展により短時間での処理も増加しているため、EC2の1秒単位の請求が効果的だと思われます。今回の発表は直接の料金の低下ではありませんが、無駄な請求が無くなるため実質的な料金の低下と考えて良いと思います。さらにEC2をより短時間のワークロードへ適用可能になるアップデートだと言えると思います。