ヤマムギ

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認定クラウドプラクティショナー 改訂第2版」という本を書きました。

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

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

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

 - AWS , ,

ad

ad

  関連記事

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

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

php-fpm で Out of memoryが発生した際にメール通知する(AWS CloudWatch , Amazon SNS)

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

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

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

AWS Summit Tokyo 2017 Day3 開場~基調講演~Dev Day Night

AWS Summit Tokyo 2017 参加2日目のDay3です。 基調講演 …

CloudTrailのログファイルの整合性検証をAWS CLIで実行しました

CloudTrailのログファイルの検証を「有効」にしました。 上記のようなCl …

AWS Snowファミリーのジョブ作成画面を確認

使わないのですが、画面を見ておきたかったので確認しました。 Snowファミリージ …

AWS Systems Manager Session ManagerでLinuxインスタンスのRun Asサポートを有効にする

AWS Systems Manager Session Managerの設定画面 …

AWS CLIを使用せずにCodeCommitへhttpsで接続する

AWS CLIやアクセスキーID、シークレットアクセスキーなどを開発環境にセット …

テキストをAmazon PollyでMP3に変換してS3に格納(AWS Lambda Python)

Google Calendar Twilio ReminderのテキストをAma …

AWS Protonの管理者ガイドとユーザーガイドのチュートリアル

AWS Proton管理者ガイドのAWS Management Console …