みなさんこんにちは。マネージドサービス部MS2課の塩野です。
普段から弊社サービスのCloud Automatorを使う機会は多いのですが、たくさんある機能の中でよく使う機能もあればほとんど使ったことがない機能もあります。
今回は私個人があまりつかったことがない機能を試してみた結果をブログにしてみました。
CloudAutomaterってなに?
細かいところは割愛しますが、早い話がAWS運用のめんどくさそうな作業を設定したスケジュールに基づいて自動化できるツールです。
CloudAutomaterでできること
- インスタンスの起動や停止
- バックアップ(AMI作成、DBスナップショット取得など)
- インスタンスタイプの変更
- コマンドの実行(EC2)
- Windows Update(Windows系EC2のみ)
- スナップショットのリージョン間コピー
他にもいろいろありますが、主だったところはこんな感じでしょうか。上記に記載していない機能で個人的に気になるものは、EC2のセキュリティグループへのインバウンドルール追加や削除の設定もあります。うまく使えば特定時間のみしかアクセスできないようにルールを追加したり削除したりということもできそうです。
今回のやってみた
今回は表題のとおり、DBインスタンスの変更をCloud Automatorを使って実際にやってみました。
変更対象インスタンス情報
インスタンスクラスが「db.t2.micro」のものを「db.t3.micro 」に変更してみます。
Cloud Automatorの設定
1.管理画面にログインして、運用ジョブ一覧の画面からジョブの追加をクリックします。
2.ステップ1で一覧の中からグループを選択し、ステップ2でタイマートリガーを選択します。
3.ステップ3でジョブの動作時間を設定します。今回は設定変更になりますので実行は特定の日時に1度だけ実施するような設定になります。
4.ステップ4で「RDS:DBインスタンスクラスを変更」を選択し、ステップ5でリストにあるAWSアカウントを選択します。ステップ6で対象DBインスタンスを選択し、変更後のDBインスタンスクラスを設定します。
5.ステップ7でジョブの成功/失敗時の通知設定を実施しますが、今回は通知なしの設定にしております。ステップ8でジョブ名を入力し、作成するボタンをクリックすることでジョブが作成できます。
トリガーがキックされた際の挙動
設定された時間になると対象インスタンスのステータスが変更中となり、設定した内容が反映されていることがわかります。
なおAWSのマニュアルに記載がありますが、DBインスタンスクラスの変更はダウンタイムを伴いますので、実際の運用時にはユーザーが利用していない時間やメンテナンス周知している時間に実行するよう設定されることをオススメします。
docs.aws.amazon.com
システムの変更が完了すると下記のようにステータスが利用可能な状態となり、DBインスタンスが変更されていることが確認できます。
ジョブの実行履歴については下記のようにログとして確認することもできます。
総括
今回はDBインスタンスクラスの変更でしたが、一度設定さえしてしまえば自動的にジョブが実行されるので、夜間しかできないような作業をこうしたツールにお任せしてしまうことで人的な運用負荷を軽減できるかもしれません。実際にはツールで夜間設定変更をして翌朝にシステムの動作確認だけ実施するような運用になるでしょう。
他にも気になる機能がありますので、また別の機会にそちらを試してみたいと思います。
余談な話になりますが、社内にAWSに知見がなく運用まで手が回らないなどでお困りの場合は、弊社サービスの中にAWSの運用代行サービスもありますのでお気軽にご相談ください。