【Cloud Automator】休日や夜間に自動でインスタンスタイプを変更する方法

記事タイトルとURLをコピーする

こんにちは。AWS CLIが好きな福島です。

はじめに

今回は、タイトル通り、Cloud Automator(以下、CA)を使い、休日や夜間に自動でインスタンスタイプを変更する方法をご紹介いたします。

インスタンスタイプを変更するためには、インスタンスを停止する必要がありますが、それを平日や日中帯にできない際に、今回ご紹介する方法が利用できるかと存じます。

流れ

実際にマネジメントコンソールでインスタンスタイプを変更する手順は、以下の通りとなります。

①インスタンスの停止
②インスタンスタイプの変更
③インスタンスの起動

これをCAで実施する手順は、以下の通りとなります。

①「インスタンスの停止」ジョブの作成
②「インスタンスタイプの変更」ジョブの作成
③「インスタンスの起動」ジョブの作成
④①‐③を連結するワークフロージョブを作成

手順

では、ここから具体的な手順を記載いたします。
と、記載する前に各ジョブの設定を以下に簡単にまとめておきます。

f:id:swx-fukushima:20211101222423p:plain

①「インスタンスの停止」ジョブの作成

①-①「ジョブの追加」をクリック

f:id:swx-fukushima:20211101213443p:plain

①-②グループとジョブの種類を選択

  • 適切なグループを選択
  • ワークフロー専用ジョブをチェック
  • タイマートリガーを選択

f:id:swx-fukushima:20211101213618p:plain

①-③トリガーの条件を選択

ここにインスタンスタイプを変更したい時間を設定します。今回は、2021/11/01 23:00(JST)に設定しました。

  • タイムゾーンの設定
  • 一度だけにチェックし、日付を設定
  • 実行時間を設定

f:id:swx-fukushima:20211101214244p:plain

①-④アクション、AWSアカウント、パラメーターの設定

  • アクションに「EC2: インスタンスを停止」を設定
  • 適切なAWSアカウントを設定
  • 対象のインスタンスを指定
    今回はインスタンスを指定していますが、タグベースで実施も可能です。
  • 「リソースの終了ステータスをチェックする」をチェック

f:id:swx-fukushima:20211101214539p:plain

①-⑤通知およびジョブ名の設定

  • 処理の成功または失敗時の通知の設定(任意)
  • ジョブ名を入力
    例: wk_ca-test(ec2)_停止

f:id:swx-fukushima:20211101214931p:plain

②「インスタンスタイプの変更」ジョブの作成

②-①「ジョブの追加」をクリック

f:id:swx-fukushima:20211101213443p:plain

②-②グループとジョブの種類を選択

  • 適切なグループを選択
  • ワークフロー専用ジョブをチェック
  • トリガーなしを選択

f:id:swx-fukushima:20211101215437p:plain

②-③アクション、AWSアカウント、パラメーターの設定

  • アクションに「EC2: インスタンスタイプを変更」を設定
  • 適切なAWSアカウントを設定
  • 対象のインスタンスを指定
    今回はインスタンスを指定していますが、タグベースで実施も可能です。
  • 変更したいインスタンスタイプを設定(今回は、t3.smallに設定)

f:id:swx-fukushima:20211101215810p:plain

②-④通知およびジョブ名の設定

  • 処理の成功または失敗時の通知の設定(任意)
  • ジョブ名を入力
    例: wk_ca-test(ec2)_インスタンスタイプの変更(t3.small)

f:id:swx-fukushima:20211101220119p:plain

③「インスタンスの起動」ジョブの作成

③-①「ジョブの追加」をクリック

f:id:swx-fukushima:20211101213443p:plain

③-②グループとジョブの種類を選択

  • 適切なグループを選択
  • ワークフロー専用ジョブをチェック
  • トリガーなしを選択

f:id:swx-fukushima:20211101215437p:plain

③-③アクション、AWSアカウント、パラメーターの設定

  • アクションに「EC2: インスタンスを起動」を設定
  • 適切なAWSアカウントを設定
  • 対象のインスタンスを指定
    今回はインスタンスを指定していますが、タグベースで実施も可能です。
  • 「リソースの終了ステータスをチェックする」をチェック

f:id:swx-fukushima:20211101220505p:plain

③-④通知およびジョブ名の設定

  • 処理の成功または失敗時の通知の設定(任意)
  • ジョブ名を入力
    例: wk_ca-test(ec2)_起動

f:id:swx-fukushima:20211101220557p:plain

④①‐③を連結するワークフロージョブを作成

④-①ワークフローの追加を選択

f:id:swx-fukushima:20211101220729p:plain

④-②基本設定

  • ジョブワークフロー名の入力
    例: wk_ca-test(ec2)_停止⇒インスタンスタイプの変更⇒起動
  • 適切なグループを選択

f:id:swx-fukushima:20211101220916p:plain

④-③ジョブの指定

  • ①‐③で作成したジョブを順番に設定 f:id:swx-fukushima:20211101221142p:plain

最後に登録を押下すれば、全ての設定が完了となり、 「①-③トリガーの条件を選択」で設定した時間になるとジョブが実行されます。

実行ログ

実際に実行した結果のログを記載しておきます。

f:id:swx-fukushima:20211101222557p:plain

終わりに

今回は、CAを使い、休日や夜間に自動でインスタンスタイプを変更する方法をご紹介いたしました。
どなたかのお役に立てれば幸いです。

福島 和弥 (記事一覧)

SRE3課

2019/10 入社

AWS CLIが好きです。