1. はじめに

こんにちは、Global Solutions 事業部です。今回はAWSでコスト最適化を考える時、手っ取り早くコストを下げる方法の一つ、Instance Schedulerについて書きたいと思います。

コスト最適化を検討する時、現状の調査や改善実施プランの計画などで時間がかかることが多いと思います。Instance Schedulerの場合は、インスタンスの稼働時間を知っていれば、すぐに設定できるので、低リスクで簡単に大幅なコストカットの可能性があるソリューションです。

2. Instance Schedulerとは

Instance Scheduler は、定義されたスケジュールで自動的にEC2、RDSインスタンスを起動・停止するための仕組みです。AWS のサービスを組み合わせて提供されるソリューションで、図面にすると以下のようになります。(引用

AWS Instance Schedulers 図面
AWS Instance Schedulers 図面

3. 主なメリット

コスト削減:稼働時間外のリソースを停止することで効率的にクラウド予算を割り当てることができます。8営業時間だけインスタンスを稼働させる場合、1日あたりのインスタンスコストを66%節約することができます。

低リスク: 検討事項が少なく、すぐに実装できます。インスタンスのサイズダウンや不要なものを整理する場合、時間をかけてアセスメントする必要が多いと思います。Instance Schedulerの場合、必要な情報はインスタンスの稼働時間のみです。

自動化によるエラー防止: 手動でインスタンスの起動や停止を実施する場合、ヒューマンエラーなどが起こる可能性がありますが、自動化することで担当者のタスク低減とエラーのリスクを回避できます。

簡単な設定: CloudFormationをデプロイしてしまえばほぼ完成。エンジニアでなくとも実装可能です。

4. 実装方法の超概要

実装方法は以下のステップです。公式の実装ドキュメントは61ページあるので複雑そうですが、実は以下のステップを踏んでいるだけです。個人的にはこちらのブログがとてもわかりやすかったです (link)

  • AWSが提供するCloudFormationテンプレートを使用して、必要なリソースをデプロイする。(公式ドキュメントの「CloudFormationテンプレート」リンクで取得できます)
  • ステップ1でデプロイしたDynamoDBのテーブルを修正してスケジュールを設定する。
  • 対象のEC2またはRDSインスタンスに定義したタグを付与する

AWSがCloudFormationのテンプレートを提供してくれているので詳細をあまり理解していなくても自動的にデプロイされます。実装時間は1時間以内で前提知識は不要です。

CloudFormationのテンプレートを使うと以下のリソースがデプロイされます。(主なリソースを抜粋しています。実際はもっとあります。)自分で設定する部分はDynamoDB (ConfigTable) のスケジュールと対象インスタンスのタグ付けのみです。

5. まとめ

AWSでコスト最適化の取り組みを始める時、まずはInstance Schedulerでインスタンスの自動停止と起動を実装してみてはどうでしょうか。導入することでコスト削減はもちろん、運用担当者の業務効率化にも役立てることができます。 AWSのコスト最適化、インフラ設計、構築、運用ついてご質問、不明点などありましたらお気軽にご連絡ください。

アイレット株式会社のGlobal Solutions事業部では、お客様のビジネス変革を実現しながら、最新のデータソリューションの導入を加速できるように設計されたデータ分析ソリューションとデータサービスの幅広いポートフォリオを提供しています。ビジネスの成功こそ、私たちが追求するものです。お困りの際はぜひ一度お気軽にお問い合わせください。

cloudpack サービスページ