Alibaba Cloud ECS のコスト削減

このブログのWebサイトはAlibaba Cloud ECS で提供される仮想マシンを利用しています。 ブログサイトを立ち上げてから4年を過ぎましたがこのECS のインスタンスは月額サブスクリプションで毎月一定のコストが発生しています。 Saving Plans や Reserved Instance を利用してコスト削減できないか検討します。

現在の課金

以下はAlibaba Cloud のコンソールで課金を確認した画面のスクリーンショットです。 ECSがサブスクリプションで 13.79 USD の支払いです。 この毎月の支払いをSaving Plans またはReserved Instance を利用してコスト削減できないか検討します。

Saving Plans とReserved Instanceの違い

Reserved Instance は他のPublic Cloud でもよくあるコスト削減プランです。 1年や3年間の利用を事前に約束することで大きな割引が提供されます。 対象のインスタンスのリージョンやタイプを限定したクーポンのようなイメージです。 したがってインスタンスのタイプを変更(性能アップのために)すると適用対象から外れてしまうなど利用する際にはその特性をしっかりと理解しておく必要があります。 

Reserved Instanceについては詳しくはこちら。 以下は公式サイトのスクリーンショットですが1年と3年がありそれぞれ大きな割引が提供されることがわかります。

Saving Plans も1年や3年の単位でディスカウントを提供する仕組みです。 リージョンやインスタンスタイプを特定するReserved Instanceに対してSaving Plans はその制約がありません。 とは言いつつSaving Plansの中にはリージョン縛りがあるプランが提供されておりリージョン縛りがあるプランの方が割引率が高いとのこと(実際にはリージョン縛りかつインスタンスファミリー縛り)。

Saving Plansについて詳しくはこちら

Reserved InstanceとSaving Plansの違いをまとめると以下の通り。 これだけ見るとSaving Plans が優位です。 おそらくですが割引率に違いがあるはず(制約の多いReserved Instanceの方が割引率が高いはず)です。 Saving Plansが提供する試算ツールで割引率を確認することにします。

ポイントReserved InstanceSaving Plans
対象ECS インスタンスのコンピューティングリソース (vCPU とメモリ)ECS インスタンスのコンピューティングリソース (vCPU とメモリ)、システムディスク、およびパブリック帯域幅
期間1年・3年1年・3年
割引最大79%試算ツールで算出
リージョン同一リージョン一般用途プランは制限なし
ECSコンピューティングプランは制限あり
インスタンス同一のインスタンスファミリー、インスタンスサイズ一般用途プランは制限なし
ECSコンピューティングプランは制限あり

Saving Plans の試算ツールによるコスト削減内容の確認

Alibaba CloudのコンソールからECSの管理画面の節約プランに移動します。 使いやすさ>1既存ユーザの試行をクリックします。

しかし、試算結果は表示されません。 原因ですが私の使用しているECSインスタンスは従量課金ではなくサブスクリプションのためだと思われます。

Reserved Instanceを使用するにもSaving Plans を利用するにもECSインスタンスを従量課金(Pay-As-You-Go)に変更します。

サブスクリプションから従量課金への切り替えについては以下の記事で紹介。

従量課金に変更後、再度Saving Plansの試算ツールを確認します。

何も表示されません。 おそらく先ほどサブスクリプションから従量課金に変更したばかりで従量課金の支払いがまだ発生しておらずその結果として試算ができないようです。 

リージョンやインスタンスファミリーを特定して割引率を表示するツールもあるのですが以下の通り指定しても割引の欄には何も表示されません。 Saving Plans利用時には専用の価格テーブルがありここで確認できるはずだったのですが。

事前の試算は諦めます。 実際のSaving Plansの購入画面でコストを確認することにします。 汎用タイプの3年ですが前払い額が2628USDです。  元々は約13USD/Month 、36ヶ月で約468USDです。 2628USDでは大幅にコストアップします。

確約金額を0.1USD/Hour から0.01USD/Hourに変更してみます。 3年の前払い総額が262.80USDになりました。これであればコスト削減効果が出そうですがもうちょっとSaving Plansの仕組みを理解しないといけません。 

Saving Plansについて公式マニュアルを確認します。 読んだ結果をざっくりとまとめると確約金額を超えた場合は別途支払いがあること、Saving Plansの価格テーブルも別途あることがわかります。 ただ価格テーブルは先ほど確認したのですが不明でした。  今時点での情報ではSaving Plansを利用した場合にどうなるか具体的に予測できません。ということでSaving Plansの採用は今回はやめます。

Reserved Instanceの購入

Alibaba CloudコンソールからReserved Instanceの購入を進めます。 

まずはリージョンに日本(東京)を選択します。適用したいインスタンスが実在するリージョンを選ぶ必要があります。 リソースのリザーブは2つの選択肢があります。 リザーブドはゾーン単位となり適用範囲が絞られますがリソースが予約されます。 リザーブなしは複数ゾーンにまたがって購入したReserved Instanceを利用できますがリソースの予約はされないとの説明がありました。 今回は1台しかインスタンスがないためリザーブドでも良かったのですがリザーブなしにしました。 

インスタンスタイプには適用したいECSインスタンスの実際のタイプとファミリーを指定します。ここを間違えると購入するReserved Instanceは無駄になります。

残りの設定を進めていきます。

OSプラットフォームは適用したいECSインスタンスに合わせます。 

支払いオプションでは全額前払いと一部前払いを選択できます。 どちらも節約される内容は61%です。 全額にするか一部にするかですが為替変動をどう見るかでしょうか。 2年前ならあまり考えなかったことですがここ1年は円の価値がUSDに対して大きく下がりました。 簡単に言えば現在は円高の情勢で将来に円安が見込まれるなら全額前払いが良いのかなと。 そう考えたときに今回どうするかは中々難しいですね。 円高が進めば全額前払いは損するかもしれませんし、分割にして円安に進めば損します。 この手のは後々後悔してもしょうがないと思えるよう今回は全額前払いにします。

購入完了後、適用状態を確認します。 コンソールのECS>リザーブドインスタンスから”リザーブドインスタンスの表示”をクリックします。

”一致するインスタンスの表示”をクリックします。 

Reserved Instanceを適用したいECSインスタンスが表示されました。これでOKのはずです。

まとめ

今回このブログをホストしているECSインスタンスの購入方法を月額サブスクリプションから従量課金に変更したうえで3年のReserved Instanceを購入しました。 結果として3年トータルでは496.44USDから231.860USDと半額以上のコスト削減になりそうです。 

ただ先にも書きましたが今後の為替変動によってはコスト削減効果が小さくなることも大きくなることもあるかもしれません。ただそれは今考えても予測はできないことなのでそういうことはあまり考えないようにします。 

あとSaving Plans。 Reserved Instanceよりも制限が緩く(リージョンやインスタンスファミリーに縛られない)利用したかったのですが色々情報不足で今回は選択に至りませんでした。 

以上