第2回 運用によるAWS利用料金削減

作成日 2015/8/21
更新日 2015/8/21

概要

第1回の記事で示したように、オフピークの時間帯に余剰インスタンスを停止することで、AWSの利用料金を下げることが可能です。

第2回では、統合運用管理ソフトウェア「Hinemos」を使って、 システムのピーク・オフピークにあわせてインスタンスの状態をコントロールすることで、 実際にAWSの利用料金を削減できることを紹介します。

AWS利用料金削減の方法

ピーク性があり、スケールアウトが容易なシステムに対して、インスタンスの適切な起動・停止を行うことでAWS利用料金を削減することが出来ます。インスタンスの起動・停止には、単に対象のEC2インスタンスに対してAWSのAPI等をコールして起動・停止を実行するだけではなく、停止前のシステム閉塞処理を実行したり、システム営業日や休日に合わせて処理するカレンダ制御が重要になります。

この技術情報では、ピーク性があり、スケールアウトが容易なシステムを想定し、Hinemosによりインスタンスの起動・停止を自動的に行うような制御を行うケースを例に、この方法を解説します。

このシステムの料金情報を取得し、インスタンスの適切な起動・停止を行うことによって、 実際に利用料金が削減可能なこと、またその削減率がどの程度であり、 理論値とどの程度乖離があるのか、その乖離が何によるものかも解説します。

対象システムの説明

ここでは、下図のような構成のシステムについて、 HinemosによるAWS利用料金削減を行います。


図1:対象システム

上記対象システム図の左側(運用自動化検証環境用VPC内の範囲)が、 実際にユーザからのリクエストを受け付けるシステム部分であり、 HinemosによるAWS利用料金削減の対象部分となります。

本システムは、ユーザからのリクエストとして、以下のような要件を持つ想定です。

・平日のみ稼働する
・稼働日は、8:30~23:30の間のみ稼働
・システムのピークは毎週金曜日

AWS自動制御の方法

上記要件のシステムでは、次のような制御を行うことで、AWS利用料金を大幅に削減することができます。

・平日の8:00に起動・業務開始処理を行う
・平日の24:00に業務閉塞・バックアップ・停止処理を行う
・月~木曜日はターゲットとするEC2は1台
・金曜日はターゲットとするEC2は4台

上記の制御を実現するために、 業務処理開始、業務処理停止には以下のようなジョブフローが必要になります。Hinemosでは、ジョブ機能やクラウド仮想化オプションを使用することで簡易に実現できます。


図:起動・業務開始処理用のジョブネット


図:業務閉塞・バックアップ・停止処理のジョブネット

また、これらのジョブネットの稼働日・非稼働日は、「営業日カレンダ」のような設定・制御が必要です。Hinemosのカレンダ機能を使用すると、以下の2つの設定で簡易に実現できます。


図:稼働日のカレンダ


図:ピーク稼働日のカレンダ

Hinemosクラウド仮想化オプションを使用すると、 AWSのEC2インスタンスの起動や停止、バックアップといった処理を自動化する機能が標準で搭載されているため、これまで紹介したジョブフローの設定が簡易に行えます。

クラウド仮想化オプション

AWS利用料金削減の結果

このような制御を1ケ月間行うと、当月の曜日、稼働・非稼働日等から計算すると、 何の制御をせずに稼働したシステムに対し、理論的には約20%の利用料金(約80%の削減)となります。

実際に測定したAWS料金の結果は、以下のようになっています。


図:利用料金の測定結果

Hinemosによる制御をしていない場合に比べ、約35%の利用料金(約65%の削減)となっています。

理論値の20%に対し、実測値で35%となった要因の1つとしては、 停止中のインスタンスのEBSに関する料金と、停止中のElasticIPに関する料金がかかっていることが挙げられます。

停止中のインスタンスは、インスタンスそのものの利用料はかかりませんが、 EBSやElasticIPを確保していることによる利用料金が発生します。 これは、EBSをSnapshot化・AMI化することで大幅に削減可能ですが、その場合は起動処理が煩雑になるため、本技術情報では割愛します。

また、今回インスタンスタイプは「t1.small」のかなり安いタイプ利用していますが、 実稼働システムではより高価・高性能なインスタンスタイプを利用する場合が多く、 その場合には相対的にストレージの利用料金が小さくなります。 従って、そういった環境の場合は、より理論値に近づくと考えられます。

第2回では、Hinemosを使って稼働日・非稼働日に合わせて、業務開始や閉塞処理と共にEC2インスタンスの起動・停止処理が簡易に実現でき、そしてAWS利用料金を大幅に削減できることを解説しました。

次回の第3回では、利用料金の配賦と可視化、をテーマに解説します。

お問い合わせ