TL; DR
EC2において、Reserved Instancesはもう買う必要がない。
利用確約でコストを下げるならSavings Planを、キャパシティを確保するにはオンデマンドキャパシティ予約を行う。両方組み合わせればRIと同様の機能でより柔軟性が上がる。
Savings Plan
EC2のFAQにも以下のように書かれている。
引き続き EC2 RI を購入することはできますか?
はい。既存のコスト管理プロセスとの互換性を維持するために引き続き RI を購入することができ、お使いの RI は全体的な請求額を削減するために Savings Plans と並行して機能します。ただし、Savings Plans は RI と同様の節約を実現しながら追加の柔軟性を提供するため、RI の期限が切れたときは Savings Plans にサインアップすることをお勧めします。
RDSなどEC2以外のReserved Instancesは引き続き利用価値がある。
RIを購入するメリット(だったもの)
-
コスト削減
1年間,3年間利用を確約することで、EC2インスタンス費用が割引されます。 -
キャパシティ予約(Standard Zone RIのみ)
RIを購入した分はインスタンスが確保されているため、一時的なキャパシティ不足で起動失敗することがなくなります。
小規模だとあまり影響はありませんが、大規模なサービスだとリソース不足による起動失敗はしばしば発生します。
Savings Planはコスト削減機能に特化したものです。キャパシティ予約機能は「オンデマンドキャパシティ予約」として独立しました。
Savings Planとオンデマンドキャパシティ予約を組み合わせることでRI同様の運用になります。
割引率は同じ
Convertible RIとComputing Savings Plan、Standard RIとEC2 Savings Planの割引率は同じ。
Savings Planのほうが優れている点(Computing Savings Plan vs Convertible RI編)
EC2だけでなく、Fargate, Lambdaにも適用できる
Computing Savings PlanはEC2インスタンスだけでなく、FargateやLambdaも割引します。ただし、Fargate, LambdaはEC2より割引率が低いです。
EC2, Fargate, Lambdaを併用している場合、割引率が高い順に適用されていくため、割引率が最も悪いLambda(10%)に割引が適用されることはあまりないと思います。むしろLambdaに割引が適用されているのであれば、買いすぎの可能性があります。
全リージョンで有効
Convertible RIはリージョン単位で購入しましたが、Compute Savings Planは全リージョンで有効です。DR用のサブリージョンなど量が微妙すぎるリージョンでも買いやすくなりますね。
インスタンス交換が不要
Convertible RIは、c5->r5などインスタンスファミリー交換ができますが、手動で交換操作を行う必要がありました。そのため新しいファミリーに入れ替えるときなど、交換作業を忘れていると無駄になってしまいます。
Compute Savings Planは特定のインスタンスファミリーに結びつかないので、割引率が高くなるように勝手に適用されます。
なお同一インスタンスファミリー内での振り分けはConvertible RIでも自動的に行われます。
Savings Planのほうが優れている点(EC2 Instance Savings Plan vs Standard Region RI編)
テナンシー、OSが切り替え可能
Reserved Instancesは購入時のテナンシー(共有インスタンスか専有インスタンスか)、OS(無料Linuxか商用LinuxかWindowsか)が異なるインスタンスには適用できませんでした。
Savings Planは異なるテナンシーやOSでも自動的に適用されます。実際に入れ替えることは少なそうですが、買い間違えて悲惨な思いをすることはなくなります。
Savings Planのほうが優れている点(共通)
値下げの恩恵が受けられる
RIは購入時にインスタンスあたりの値段が決まるため、あとで値下げがあっても恩恵を受けられませんでした。Savings Planは台数ではなく時間あたりの料金ので確約します。そのため将来的に値下がりすると、費用は同じで起動できるインスタンス数が増えるというメリットがあります。
Reserved Instancesのほうが優れている点
##同一リージョンでのボリュームディスカウントがない
1リージョンで有効なRIの金額が合計500,000USDを超えると超えた分は割引があります。Savings Planにはありません。
ただ、この割引は下限で日本円で約5500万円という高いハードルと、超過した分の割引率が5%(さらに4,000,000USDを超えた分は10%)という微妙な割引率なので、これが関係してくる人はあまりいないかと思われます。
計算が面倒
常時起動しているインスタンスに対してSavings Planを購入することが多いと思いますが、インスタンスタイプ×台数で購入すれば良かったRIに対してSavings Planの購入は若干面倒です。
東京リージョンのt3.large(共有テナンシーLinux)を1年前払いなしで購入するとします。
1年前払いなしプランは0.0685USD/hなので、仮に10台相当購入するとした場合、0.0685 * 10 = 0.685USDをコミットすればよいことになります。オンデマンドインスタンスの価格でコミットしてしまうと過剰に購入することになるのでご注意ください。