カスタマーサクセス部の山﨑です。
AWSクラウドを活用する中で、リソースの効率的な管理とコスト最適化は重要なテーマです。特に、開発・検証環境のEC2インスタンスは極力コストを抑えたいと思います。コスト最適化は、推進することによってサステナビリティ(持続可能性)にも貢献することができるため、昨今興味関心がより高まっています。
本記事では、AWS Systems Manager Quick Setup Resource Schedulerを活用して、EC2インスタンスの起動・停止を自動化し、コスト最適化を実現する方法をご紹介します。
AWS Systems Manager Quick Setup とは
AWS Systems Manager (SSM) Quick Setupは、AWSリソースの管理とモニタリングを簡単にするためのツールです。SSM Quick Setupを使用することで、ライブラリとして用意されている管理タスク(例:パッチ適用)を数クリックで自動化することができます。
以下、SSM Quick Setup で用意されているライブラリの一例です。 詳細はAWS公式ドキュメントをご覧ください。
- パッチポリシーを用いたパッチ適用の自動化(Patch Manager)
- CloudWatch Agentのインストールと設定、Agentの更新(月次)
- SSM Agent の更新(隔週)、インベントリの収集(30分間隔)、パッチスキャン(日次)
- AWS Configの有効化
- Config Conformance Packsのデプロイ
- DevOps Guruの有効化
- SSM Distributorによるソフトウェアパッケージの配布
- Resource Schedulerによるインスタンスの起動、停止をスケジューリング
AWS Systems Manager Quick Setup Resource Scheduler とは
AWS Systems Manager (SSM) Quick Setup Resource Schedulerは、EC2インスタンス(SSMマネージドノード)の起動と停止をスケジュール管理し、コストを最適化するためのツールです。
例えば、本番稼働していない検証用EC2インスタンスや開発用EC2インスタンスであれば、必ずしも24時間365日起動しておく必要はありません。
このような場合に「月〜金の午前9時に起動し、月〜金の午後18時に停止させる」といったジョブをスケジューリングすることができます。 これにより、EC2インスタンスを必要な曜日、必要な時間帯だけ起動させることができます。
コンソール画面から簡単な設定で毎日や毎週のスケジュールを定義することができるため、業務時間外や週末などにインスタンスを自動停止することで、無駄なリソース消費を防ぎ、コスト削減に繋がります。
SSM Quick Setup Resource Scheduler による効果
コスト最適化
例えば平日の8時から20時までの時間帯はEC2インスタンスを起動し、それ以外の時間帯はEC2インスタンスを停止させるというスケジューリングを前もって行うことで運用負荷を下げながらコストを最適化することが可能となります。
下表は、3つのシナリオにおける稼働時間帯、使用時間/日、月間の使用時間(平日21営業日を想定)、稼働率/月、およびコスト削減率を示しています。
No | 稼働時間帯 | 使用時間/日 | 月間の使用時間(21営業日) | 稼働率/月 | コスト削減率 |
---|---|---|---|---|---|
1 | 7時~22時 | 15時間 | 315時間 | 42.3% | 57.7% |
2 | 8時~20時 | 12時間 | 252時間 | 34.0% | 66.0% |
3 | 9時~18時 | 9時間 | 189時間 | 25.4% | 74.6% |
サステナビリティ(持続可能性)
EC2インスタンスを必要な曜日、必要な時間帯だけ起動させるということはコンピューティングリソースを稼働させるために無駄に電力を消費せずに済みます。電力消費が抑えられるということは、それだけ二酸化炭素の排出量を削減することができるため、サステナビリティ(持続可能性)へ貢献することができます。
サステナビリティについては、Well-Architeded Frameworkでも「Sustainability Pillar」として掲げられています。Sustinability Pillar は「エネルギー消費とエネルギー効率」による環境への影響に重点を置いており、システム設計者がエネルギー使用量を削減しながらもビジネスニーズを最大限満たすために必要なアーキテクチャ設計を支援するドキュメントです。
ご興味がある方は、以下のブログも合わせてご覧ください。
SSM Quick Setup Resource Scheduler の利用方法
まず、AWS Systems Manager のコンソール画面の左メニューから「Quick Setup」を選択します。検索ウィンドウで「Resource Scheduler」と検索すると対象のライブラリがヒットするので、「Create」を押下します。
Resource Schedulerで起動・停止するEC2インスタンスは、タグキーとタグ値の組み合わせで指定します。この組み合わせは1つのみ指定可能です。 今回は以下の設定としています。
- タグキー:environment
- タグ値:staging
続くSchedule options では以下の設定を行います。
- スケジューリングに利用するタイムゾーン
- スケジューリングを適用する曜日
- EC2インスタンスを起動する時刻
- EC2インスタンスを停止する時刻
Taregts では Resource Scheduler をデプロイするリージョンを指定します。Local deployment roles については今回はAWS側で新規作成してもらいます。
あとは、本設定のNameを入力して画面最下部の「Create」を押下するだけです!
しばらく待つと作成が完了します!
まとめ
AWS Systems Manager Quick Setup Resource Schedulerを利用することで、EC2インスタンスの稼働時間を効率的に管理し、無駄なコストを大幅に削減できます。また、必要なときにだけリソースを稼働させることで、環境負荷を軽減し、サステナビリティへの貢献も可能となります。
ぜひ本記事を参考に、実際にResource Schedulerを設定してみてください。
山﨑 翔平 (Shohei Yamasaki) 記事一覧はコチラ
カスタマーサクセス部所属。2019年12月にインフラ未経験で入社し、AWSエンジニアとしてのキャリアを始める。2023 Japan AWS Ambassadors/2023-2024 Japan AWS Top Engineers