share facebook facebook twitter menu hatena pocket slack

ec2-scheduleでEC2のインスタンスタイプの自動変更

河村 敏貴

WRITTEN BY 河村 敏貴

ec2-scheduleではインスタンスタイプの変更も可能です。
今回はインスタンスタイプを自動で変更する方法を紹介したいと思います。

設定方法

DynamoDBのConfigTableに以下を設定

テーブル名はスタック名+ConfigTableになっています。
ex)
月曜から金曜までの9:00 – 20:00(日本時間)t2.micro
月曜から金曜までの20:00 – 9:00(日本時間)t2.nano

scheduleレコード

typenamedescriptionperiodstimezone
scheduleec2_type_changeec2 type change{ “down-period@t2.nano”, “up-period@t2.micro” }Asia/Tokyo

periodレコード

typenamedescriptiontimezoneweekdaysbegintimeendtime
periodup-periodOffice hoursAsia/Tokyo{“mon-fri”}9:0019:59
perioddown-periodOffice hoursAsia/Tokyo{“mon-fri”}20:0008:59

EC2の設定

以下のとおりタグを付与します

動作確認

インスタンスタイプがt2.nanoの状態です。

設定時間がすぎるとt2.microに変更されて起動されました。

変更の動きとしては、9:00に動くLambdaで一旦EC2が停止されます。
その後、9:05のLambdaでインスタンスタイプが変更されて起動されます。
停止に時間がかかる場合は、変更されるタイミングももう少し遅くなるかと思います。

インスタンスタイプを自動で変更してくれるのはすごく便利な機能ですね。
平日は大きめのインスタンスタイプとし、週末はタイプを落とすなどしたいユースケースなどで使えそうです。
ただし、稀に変更するインスタンスタイプが枯渇しているため起動できないなどのケースも想定されるので、本番での利用についてはそのあたりの考慮が必要になりますがぜひ利用を検討してみてください

元記事はこちら

ec2-scheduleでEC2のインスタンスタイプの自動変更

河村 敏貴

河村 敏貴

クラウド業界に興味を持ち、業務系のアプリエンジニアからインフラエンジニア見習いに転身しました。日々新しい技術に触れることができる環境でもがきつつも楽しい毎日を過ごしています。 河村 敏貴

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。