🎃

AWS Step FunctionsでEC2の自動起動と自動停止を実現しよう

2024/12/20に公開

AWS Step Functionsを使用して、EC2の起動と停止を自動化するステートマシンを構築し、これをパッケージとして公開しました。この機能により、EC2インスタンスの管理が効率化され、柔軟なスケジューリングが可能になります。

機能概要

  • EC2の自動起動と自動停止
  • タグに基づく制御: インスタンスを個別に管理する必要はありません。対象とする場合はタグを追加し、対象外にする場合はタグを変更したり削除するだけです。
  • 開始時刻の設定
  • 終了時刻の設定

なぜこのステートマシンが必要なのか

AWSを利用している中で、EC2インスタンスの利用時間を知らずに起動しっぱなしになっていると、無駄なコストが発生することがあります。このステートマシンを利用することで、定時にインスタンスを停止し、使用が必要な場合にのみ起動することが可能になります。これはコスト削減と運用効率化に寄与します。

構築の概要

  1. タグ利用のロジック
    • EC2に指定のタグを付与するだけで、対象の設定が可能です。
    • 例: タグ名を“WorkHoursRunning”にし、値に開始時刻と終了時刻を設定。
  2. 自動化の流れ
    • AWS Step Functionsでステートマシンを構築し、CloudWatch Eventsをトリガーとしてスケジュールを実行します。
    • ステートマシン内で、タグ情報をもとに対象インスタンスを起動または停止する処理を行います。

Discussion