ヤマムギ

growing hard days.

*

AWS Systems Manager AutomationでEC2の自動停止

   

Systems Manager Automationがない時代に、Lambdaを使ってEC2, RDSの自動停止、開始を実行してたので、触ったことがありませんでした。
でも、ニーズとしては多いので試しておこうと思って試してみたら、超簡単でした。
AWSも最近ノーコードなサービスが増えてきました。

構成

時間トリガーで実行するので、CloudWatch Eventsから実行します。

IAMロールの作成

CloudWatch Evetnsの設定時に、IAMロールの新規作成も出来るのですが、その方法でやると
“The Automation definition used by an SSM Automation target must contain an AssumeRole which evaluates to an IAM arn.”エラーになったので、あらかじめ作成することにしました。

AWS管理ポリシーの「AmazonSSMAutomationRole」をアタッチしました。
“ec2:StartInstances”,”ec2:StopInstances”がActionに含まれてるので、EC2の停止、開始は大丈夫そうです。

信頼ポリシーは、”events.amazonaws.com”を有効にします。
ロールを作るときに、ロールを使用するサービスでCloudWatch Eventsを選択して、ポリシーをアタッチしなおすか、ロールを使用するサービスでEC2を選択して、信頼ポリシーを編集するかのどちらかかで作れます。

CloudWatch Eventsの設定

止め忘れを防ぎたいので、毎日実行のスケジュールにします。
例えば毎日18:30に実行するときは、Cron式で 30 9 * * ? * と書きます。

ターゲットを SSM Automation、ドキュメントをAWS-StopEC2Instance、インスタンスIDを指定して、既存のロールであらかじめ作成したロールを設定しました。

あとは名前と説明を入力して作成です。

結果確認

実際に時間になったらEC2が停止しました。

CloudWatchメトリクスもできてます。

SystemsManager Automationダッシュボードにも実行結果が記録されています。

コードを書かなくても運用の自動化ができます。
さらにやるべき他の作業に集中することができますね。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , ,

ad

ad

  関連記事

Amazon SNSサブスクリプションフィルターで優先度別のSQSキューにサブスクライブする

EC2のコンシューマーアプリケーションは優先度の高いキューのメッセージを先に処理 …

kintone webhookからAWS API Gateway – Lambdaを実行しレコードの値を渡す

2017年2月のアップデートでkintoneにWebhook機能がリリースされま …

EC2とRDSのMySQLを他のAWSアカウントへ移設する

他のAWSアカウントへシステムごと移設した場合の手順です。 構成はEC2とRDS …

Amazon Route 53プライベートホストゾーン設定

Amazon Route 53プライベートホストゾーンを作成してみました。 Ro …

EFSのマウントターゲットがデフォルトで作成されるようになってました

ひさしぶりにAmazon EFSファイルシステムを作成しました。 作成手順がすご …

RDS + VPC + Lambda + API Gateway + CloudFront + WAF + ACMでAPIを構築する

RDSのMySQLの情報を与えられたリクエストをキーにしてjsonで返すAPIを …

Backlogの実績工数をAmazon QuickSightで可視化してわかったこと

今年に入ってから、Backlogで個人タスクを登録しだして、予定工数、実績工数を …

WordPressのwp-login.php , xmlrpc.phpへのアクセスをAWS WAFで接続元IPアドレスを制限する

AWS CloudWatch LogsエージェントでAmazon EC2上のNg …

AWS Transfer Family S3向けのSFTP対応サーバー

S3バケットは作成済です。 IAMロールの作成 [crayon-67f5d119 …

DynamoDBテーブル項目をS3にエクスポート

DynamoDBテーブルを一時テーブルとして使っていて、毎回使い捨てしてます。 …