2023年1月27日に開かれたJAWS-UG SRE支部 #5にて、弊社の前田(@kzk_maeda)が登壇しました。
▼JAWS-UG SRE支部 #5「円安コスト削減」 https://jawsug-sre.connpass.com/event/270152/
▼開発チームの情報発信リンク集 https://linktr.ee/atama_plus_dev
JAWS-UG SRE支部 #5Deep dive in Reserved Instance~脳死推奨量購入からの脱却~@kzk_maeda
View Slide
Kazuki Maeda @kzk_maedaSRE @atama plusAWS Community BuildersAWS Startup Community Core Member7+ years of experience of AWSLike: Lambda / StepFunctions / Glue / MWAA / Athena自己紹介
みなさんReserved Instance買ってますか?
マネコンで推奨される量そのまま買ってませんか?
Reserved Instance購入時の思考ポイントについて話します(個人の意見)
アジェンダ● 考え方○ 前提となる一般的な考え方について紹介● 事例○ 考え方を踏まえた、実際の購入事例を紹介● まとめ
考え方
今日の前提● RDS AuroraのReseved Instanceを対象にお話しします○ EC2でも基本的な考え方は変わらないですが、 Savings Planなど別のソリューションもあるので● Multi Account / Multi Regionで複数台のAuroraを立ててサービス運営している状況を想定します
検討ステップ現状を理解する今購入するか?を考える購入単位を検討する削減効果を試算する買う
現状を理解する● 全てのAccount、全てのRegionで稼働しているRDSを一覧化● その際、下記の情報を収集するaccount region database engine cluster identifier instance classdev use1 aurora-postgresql dev-cluster-a dev-instance-a-1 db.t4g.mediumdev use1 aurora-postgresql dev-cluster-b dev-instance-b-1 db.t4g.mediumprod apn1 aurora-postgresql prod-cluster-a prod-instance-a-1 db.r5.4xlargeprod apn1 aurora-postgresql prod-cluster-a prod-instance-a-2 db.r5.4xlargeRIはregionを跨げないので、配置region情報は重要後述するインスタンス更改検討時に必要な情報同左出典:Amazon RDS リザーブドインスタンス
今購入するか?を考える● RIは購入後1年 or 3年のcommitmentを求められるので、少なくとも1年後を見越した計画が必要○ 対象サービスは1年後も同程度以上の規模か?○ インスタンスファミリーは古くなってないか?account region database engine cluster identifier instance classdev use1 aurora-postgresql dev-cluster-a dev-instance-a-1 db.t4g.mediumdev use1 aurora-postgresql dev-cluster-b dev-instance-b-1 db.t4g.mediumprod apn1 aurora-postgresql prod-cluster-a prod-instance-a-1 db.r5.4xlargeprod apn1 aurora-postgresql prod-cluster-a prod-instance-a-2 db.r5.4xlarge古い世代のinstanceを1年ロックすべきかどうかの検討期間限定サービスで半年後にcloseするなどの事情はないか?
購入単位を検討する● RIには「柔軟性」という重要な概念があります● 同一インスタンスファミリーの中では柔軟にRIを適用してくれるので、なるべく広いワークロードに対応できるように購入するのがポイントですr5.large r5.larger5.xlarge r5.xlarger5.4xlarge r5.4xlarge稼働中 正規化係数※large基準x1x2x8購入数r5.largex 22出典:Amazon RDS 向けリザーブド DB インスタンス
削減効果を試算する● 下記の購入オプションにより、実際の削減効果は変動します○ リザーブドインスタンスのリソースをコミットする期間( 1年 or 3年)○ 前払い料金出典:Amazon Aurora の料金削減効果金額 / 年= (リソース利用時間/年 x オンデマンド料金)- (リソース利用時間/年 x RI月額料金 + 前払い料金)
買う
事例
現状を理解する● crawlingするスクリプトを実行し、各アカウント/リージョンのインスタンス情報を収集し、csv形式で出力
今購入するか?を考える / 購入単位を検討する※数字は仮です● crawling時点で正規化係数を掛けて集計し、csvに出力● インスタンス更改計画や事業計画から正規化後の必要数を検討インスタンス更改※数字は仮です事業拡大
削減効果を試算する● 前払い費用の発生タイミング、年スパンでの削減効果金額などを事業計画・予算に計上
● ドキドキしながら購入ボタンを押します買う
まとめ
● Reserved Instance購入時は、下記のことを検討する○ 現状を理解する○ 今購入するか?を考える○ 購入単位を検討する○ 削減効果を試算する● ただ、マネコンの推奨量計算はかなり優秀なので、時間がないが早く削減効果を得たい場合、推奨量購入でも十分に効果があると思います● Reserved Instanceと仲良くして、適正コストでAWSを利用しましょう!まとめ