スケジュールに従って EC2 インスタンスを自動的に停止および起動する - AWS Systems Manager

スケジュールに従って EC2 インスタンスを自動的に停止および起動する

AWS Systems Manager の一機能である Quick Setup を使用すると、Resource Scheduler を設定して Amazon Elastic Compute Cloud (Amazon EC2) インスタンスの起動と停止を自動化できます。

この Quick Setup 設定は、指定したスケジュールに従ってインスタンスを起動および停止することで、運用コストを削減するのに役立ちます。この機能により、必要のないときにインスタンスを実行することで不必要なコストが発生するのを防ぐことができます。例えば、1 日 10 時間、週 5 日しか使用されていない場合でも、現状、インスタンスを常時稼働させているかもしれません。そうではなく、営業時間後に毎日インスタンスを停止するようにスケジュールできます。その結果、実行時間が 168 時間から 50 時間に短縮されるため、これらのインスタンスでは 70% の節約になります。Quick Setup の使用にコストはかかりません。ただし、セットアップしたリソースと使用制限に基づいて費用が発生する可能性があり、設定のセットアップに使用したサービスには料金はかかりません。

Resource Scheduler では、指定したスケジュールに従って、複数の AWS リージョン と AWS アカウント にまたがってインスタンスを自動的に停止および起動することもできます。Quick Setup 設定は、指定したタグのキーと値を使用して Amazon EC2 インスタンスをターゲットにします。設定で指定した値と一致するタグを持つインスタンスのみが Resource Scheduler によって停止または起動されます。

個々の設定でサポートされるのは、リージョン当たり 5,000 インスタンスまでのスケジュールです。特定のリージョンで 5,000 を超えるインスタンスをスケジュールする必要がある場合は、複数の設定を作成する必要があります。インスタンスに適切にタグを付けて、各設定で管理するインスタンスを 5,000 以下にします。Resource Scheduler の Quick Setup 設定を複数作成する場合、異なるタグキー値を指定する必要があります。例えば、ある設定ではタグキー「Env」に値「Prod」を使用し、別の設定では「Env」と「Dev」を使用できます。

設定を削除すると、以前に定義されたスケジュールに従ったインスタンスの停止と起動は行われなくなります。まれに、API オペレーションが失敗してインスタンスが正常に停止または起動しないことがあります。

Resource Scheduler では、タグ付けされたインスタンスが起動されるのはは stopped 状態にある場合のみです。同様に、インスタンスが停止されるのは、running 状態にある場合のみです。Resource Scheduler はイベント駆動型モデルで動作し、指定した時刻にのみインスタンスを起動または停止します。例えば、午前 9 時にインスタンスを起動するスケジュールを作成します。Resource Scheduler は、指定したタグに関連付けられた、午前 9 時に stopped 状態にあるすべてのインスタンスを起動します。後でインスタンスを手動で停止した場合、Resource Scheduler はインスタンスを再起動せず、running 状態を維持します。同様に、スケジュールに従ってインスタンスが停止された後にインスタンスを手動で起動した場合、Resource Scheduler はインスタンスを再度停止しません。

起動時刻が停止時刻より遅いスケジュールを作成した場合、Resource Scheduler はインスタンスが翌日にまたがって実行されるものとみなします。例えば、インスタンスを午後 9 時に起動し、午前 7 時に停止するスケジュールを作成したとします。Resource Scheduler は、指定したタグに関連付けられた、午後 9 時に stopped 状態にあるすべてのインスタンスを起動し、翌日の午前 7 時に停止します。翌日にまたがったスケジュールの場合、起動時刻はスケジュールで選択した日に適用されます。一方、停止時刻はスケジュールの翌日に適用されます。

Amazon EC2 インスタンスのスケジュールをセットアップするには、AWS Systems Manager Quick Setup コンソールで次のタスクを実行します。

Quick Setup でインスタンスのスケジュールを設定するには
  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで、[Quick Setup] を選択します。

  3. [Resource Scheduler] カードで [作成] をクリックします。

    ヒント

    アカウントにすでに 1 つ以上の設定がある場合は、まず[設定] セクションで [ライブラリ] タブまたは [作成] ボタンを選択し、カードを表示します。

  4. [Instance tag] (インスタンスタグ) セクションで、スケジュールに関連付けるインスタンスに適用されるタグのキーと値を指定します。

  5. [Schedule options] (スケジュールオプション) セクションで、インスタンスを起動および停止するタイムゾーン、曜日、時刻を指定します。

  6. [Targets] (ターゲット) セクションで、スケジュール設定の対象を、組織単位 (OU) の [Custom] (カスタム) グループにするか、ログインしている [Current account] (現在のアカウント) にするかを次のように選択します。

    • [Custom] (カスタム) – [Target OUs] (ターゲット OU) セクションで、スケジュールをセットアップする OU を選択します。[Target Regions] (ターゲットリージョン) セクションで、スケジュールをセットアップするリージョンを選択します。

    • 現在のアカウント – [Current Region (現在のリージョン)] または [Choose Regions (リージョンの選択)] を選択します。[Choose Regions] (リージョンを選択) を選択した場合は、スケジュールをセットアップする [Target Regions] (ターゲットリージョン) を選択します。

  7. [Summary] (概要) セクションのスケジュール情報を確認します。

  8. [Create] (作成) を選択します。