アプリケーション開発ポータルサイト
ServerNote.NET
ServerNote.NET厳選キャンペーン・クーポンはこちら!
カテゴリー【Amazon/AWSUbuntuDebian
【Amazon/AWS】決まったスケジュールで自動的にインスタンスを起動・停止する〔改訂版〕
POSTED BY
2022-09-23

指定インスタンスを決まったスケジュールで自動起動または自動停止したい。そのメモ。

インスタンス一覧から、操作したいインスタンスのIDを把握しておく。

https://ap-northeast-1.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1#Instances:

IAMを開く。

https://us-east-1.console.aws.amazon.com/iamv2/home?region=ap-northeast-1#/home

左タブのアクセス管理→「ロール」をクリック。「ロールを作成」する。

・信頼されたエンティティタイプは「AWSのサービス」
・ユースケースは「他のAWSのサービスのユースケース」→「CloudWatch Events」を選択、
CloudWatch Eventsラジオボタンを選択する。

「次へ」

・CloudWatchEventsBuiltInTargetExecutionAccess
・CloudWatchEventsInvocationAccess

がデフォルトで存在することを確認して「次へ」

ロールの詳細は「ロール名」だけ入力すればOK。ここでは「cloudwatch_events_for_auto_start_stop」と入力。

「ロールの作成」でロールの作成一旦完了。ロール一覧にcloudwatch_events_for_auto_start_stopが出現するのでクリックして選択。

ポリシーを追加するので「許可を追加」プルダウン「ポリシーをアタッチ」を選択。

「その他の許可ポリシー」で「AmazonSSMAutomationRole」と入力し一覧表示させ左チェックボックスをチェックし「ポリシーをアタッチ」する。

そうすると許可ポリシー一覧にAmazonSSMAutomationRoleが追加される。これが追加されれば、元々あった許可ポリシー

・CloudWatchEventsBuiltInTargetExecutionAccess
・CloudWatchEventsInvocationAccess

は不要となるので、左チェックボックスで選択して「削除」してしまってOK。以上でIAMの操作は完了。

<インスタンスの自動起動>

Amazon EventBridgeを開く。

https://ap-northeast-1.console.aws.amazon.com/events/home?region=ap-northeast-1#/

「ルールを作成」をクリック。まずはインスタンス自動起動のセットアップをする。

・名前(例):auto_start_instance
・ルールタイプ:「スケジュール」を選択して「次へ」

「スケジュールパターン」は「特定の時刻に実行されるきめ細かいスケジュール」を選択しcronの式を設定する。この設定スケジュールでルールが呼ばれることになる。

https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html#eb-cron-expressions

「毎週月~金曜日の朝9:00に起動」させたい場合、

年:*、曜日:MON-FRI、月:*、日付:?、時間:0、分:0とする。0はJSTでは9時であるからである。「次へ」。

「ターゲット」は「AWSのサービス」→「System Manager オートメーション」を選択、ドキュメントは「AWS-StartEC2Instance」を選択。

「自動化パラメータを設定」→「定数」InstanceIdに該当のインスタンスIDを貼り付ける。

「実行ロール」は「既存のロールを使用」でさきほどIAMで作成した「cloudwatch_events_for_auto_start_stop」を選択して「次へ」

タグは不要なのでそのまま「次へ」。最終確認して「ルールの作成」で完了。これで月~金の9:00にインスタンスが自動起動されるようになった。

<インスタンスの自動停止>

Amazon EventBridgeを開く。

https://ap-northeast-1.console.aws.amazon.com/events/home?region=ap-northeast-1#/

「ルールを作成」をクリック。自動起動と全く同じようにインスタンス自動停止のセットアップをする。

・名前(例):auto_stop_instance
・ルールタイプ:「スケジュール」を選択して「次へ」

「スケジュールパターン」は「特定の時刻に実行されるきめ細かいスケジュール」を選択しcronの式を設定する。この設定スケジュールでルールが呼ばれることになる。

https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html#eb-cron-expressions

「毎週月~金曜日の夜18:00に停止」させたい場合、

年:*、曜日:MON-FRI、月:*、日付:?、時間:9、分:0とする。9はJSTでは18時であるからである。「次へ」。

「ターゲット」は「AWSのサービス」→「System Manager オートメーション」を選択、ドキュメントは「AWS-StopEC2Instance」を選択。

「自動化パラメータを設定」→「定数」InstanceIdに該当のインスタンスIDを貼り付ける。

「実行ロール」は「既存のロールを使用」でさきほどIAMで作成した「cloudwatch_events_for_auto_start_stop」を選択して「次へ」

タグは不要なのでそのまま「次へ」。最終確認して「ルールの作成」で完了。これで月~金の18:00にインスタンスが自動停止されるようになった。

check! TVCM放映★初回最大30分無料!実力派占い師多数在籍のココナラ電話占いでお悩み相談
全国CM放映で安心の【電話占いココナラ】 ◆◇◆◇◆◇ コロナ禍で占いやカウンセリングの在り方が大きく変...READ MORE
妊娠を希望する方、妊娠中・授乳中の方にオススメのやさしい葉酸サプリ♪
★News!★ ・元モー娘。保田圭さんのブログに紹介されました! ・2018年モンドセレクション最高金賞を受賞し...READ MORE
創業1599年の老舗が立ち上げた入浴剤ブランド【FRO(フロー)】
【FRO(フロー)】は創業慶長4年の老舗メーカー馬居化成が立ち上げた メーカー直販のデイリーユースなバスソ...READ MORE
※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【webmaster/管理人】
自営業プログラマー
ご連絡は以下アドレスまで★

☆ServerNote.NETショッピング↓
ShoppingNote
☆お仲間ブログ↓
一人社長の不動産業務日誌
【キーワード検索】