EC2 の自動バックアップなら無料ツールの insightwatch におまかせください!

インサイトウォッチ

先日、弊社プロダクトのインサイトウォッチ(insightwatch) v1.3 のリリースにより、ジョブ実行機能の公開がアナウンスされました。このアップデートにより、EC2 のバックアップ(AMIの作成)の自動化が超簡単に設定できるようになりました!しかも、インサイトウォッチは無料です!。もし、自動バックアップのために有料ツールをご利用になられているユーザがおられましたら、ぜひ、一度お試しください!

今回は、EC2バックアップのジョブ設定方法についてご紹介したいと思います。

事前準備

インサイトウォッチの利用には、アカウント登録が必要になります。ユーザガイドを参考に、アカウントを作成してください。

AWS アカウントを連携する

これまで「セキュリティチェック」でインサイトウォッチをご利用いただいていた場合も、ジョブ実行用のアカウント連携が必要となります。画面右上のアイコンから[ジョブ]をクリックします。

画面上部のメニューから[管理] - [AWSアカウント設定] をクリックします。

[AWSアカウント設定]画面が表示されますので、[AWSアカウント連携作成]をクリックします。

[AWSアカウント連携作成]画面が表示されますので、ステップ1 [IAM Roleを作成] をクリックします。AWS アカウントのログイン画面が表示されますので、ログインします。ログイン後、CloudFormation の画面が表示されます。

ステップ2 CloudFormationに自動で入力された [ExternalId] と [insightwatchAccountId] が一致していることを確認してください。

ステップ3 画面最下部の [CAPABILITY] の [AWS CloudFormation によって IAM リソースが作成される場合があることを承認します。] にチェックをいれ、画面右下の [作成] をクリックします。

ステップ4 CloudFormation の状況が [CREATE_COMPLETE] に変わりましたら、[出力] メニューを開き、[AccoundID] および [IAMRoleName] をそれぞれコピー&ペーストします。

ステップ5、6 で[アカウント名]、[組織]、[プロジェクト]を選択・入力し、[作成] をクリックします。

AWS アカウント連携が完了しましたら、以下のように一覧に表示されます。

バックアップ用のタグ付

インサイトウォッチのタスクは、[タグ] で管理することが出来ます。事前に EC2 管理コンソールからバックアップ用のタグを付与しておくか、[Name] など既に付与されているタグを利用しても構いません。今回はバックアップ対象の EC2 に [DailyBackup] というタグを作成し、値を [true] としました。管理しやすいように任意に決めてください。

タスクの作成

[ジョブ] に登録するには、まず [タスク] の作成が必要です。[タスク] メニューからタスクの種類を選択します。2018年9月時点で、選択できる種類は以下の2つです。(今後、種類が増えることを期待しましょう!)

  • EBSスナップショット
  • EC2バックアップ

今回は [EC2バックアップ] を選択して進みます。

[作成] タブを開き、以下の項目を選択・入力し、[保存]します。

項目名 説明
名前 バックアップタスクに任意の名前を入力します
組織 対象の組織を選択します
AWSアカウント 連携済みの AWS アカウントが表示されます。対象のAWSアカウント選択します
リージョン 対象のリージョンを選択します
Key バックアップ対象のインスタンスに付与している [タグ名] を入力します
Value バックアップ対象のインスタンスに付与された [タグ名] の値を入力します
世代数 バックアップを保持する数を選択します。世代数を超えたものは、古い順に削除されます
EC2インスタンスの再起動 静止点を確保したい場合、「する」を選択します。バックアップ作成時にダウンタイムが発生しますが、データの整合性を保てます
AMIのステータスチェック 作成したリソースが [available] ではない場合、[再実行する] or [通知する] を選択できます。いずれも不要な場合、[チェックしない]を選択します

AMI のステータスチェックで [通知する] を選択した場合でも、[管理] - [通知設定] の設定が [通知しない] になっていると通知されませんので、設定を確認してください。

ジョブの作成

[タスク] が作成できましたら、[ジョブ]を作成します。画面上部のメニューから [ジョブ] を開き、[ジョブの追加] をクリックします。

[ジョブの追加] 画面が表示されますので、[ジョブ名] に任意の名前を入力し、[追加] をクリックします。

スケジュール:手動

以下の例は [スケジュール] を [手動] に設定した場合です。対象の [組織] と、タスクの [種別] と、[タスク名] を指定します。ここでは先ほど作成した、[EC2バックアップ] の [EC2テストバックアップ] をしています。指定できましたら [更新] をクリックします。

その他のスケジュールを指定した場合のメニュー画面も確認しておきましょう。([タスク] 部分は同じなので、割愛しています)

スケジュール:1回だけ実行

[1回だけ実行] の場合、[日付] と [時間] をしています。もちろん日本時間での指定です。

スケジュール:日次

[日次] の場合、[時間] のみを指定します。

スケジュール:週次

[週次] の場合、[曜日] と [時間] を指定します。

スケジュール:月次

[月次] の場合、[日付] と [時間] を指定します。29日、30日、31日を指定した場合、実行月に指定日が無い場合はスキップされますのでご注意ください。

ジョブの手動実行

ジョブを作成すると、ジョブ一覧に以下のように表示されます。それではジョブを手動実行してみましょう!対象ジョブの [リンク] より、[実行] をクリックします。

確認画面が表示されますので、[実行] をクリックします。

ジョブの確認

ジョブの実行履歴は、ジョブ一覧の [実行履歴カウンター] から確認できます。この欄では左から順に以下ステータス毎のカウントが表示されています。

  • 成功
  • 実行中
  • 失敗
  • 待機
  • リトライ中

カウンターの数字をクリックすると、[実行履歴] が表示されます。

[実行履歴] では、[実行時間] や [トライ回数]も確認できます。[ログ] のアイコンをクリックすると、実行時のログを確認することもできます。

EC2 管理コンソールから AMI が作成されいてることも確認しておきましょう!今回、2つのインスタンスにタグを設定しましたので、2つの AMI が正常に作成されていますね。作成されるリソース名は以下の命名規則で付与されているようです。

  • AMI 名: インスタンスID_YYYY-MM-DD_hhmm
  • タグ名: EC2のNameタグ_YYYY-MM-DD_hhmm

さいごに

今回、インサイトウォッチのジョブ機能を使った EC2バックアップ についてご紹介しました。EBSスナップショット も基本的には同じような設定で利用可能です。EBS スナップショットについては、Amazon Data Lifecycle Manager (Amazon DLM) が GA になり、自動化が楽になりつつありますが、指定可能なスケジュールが 12時間毎24時間毎 といった枠しかなく、まだ自由度という点では痒いところに手が届かないことろがあります。

また、AMI については標準機能での自動化はまだ提供されておらず、CloudWatch Events + Lambda, SSM など、いくつかの機能を組み合わせる必要があります。エラー処理や、通知なども考えると自分で作るには少し手間が必要ですね。それらの課題をインサイトウォッチは解決してくれることでしょう!

同じようなジョブ機能をもったツールはありますが、有料だったりしますよね・・・。単純にバックアップスケジュールのために使われているのであれば無料のインサイトウォッチを一度お試しください!また、インサイトウォッチは弊社メンバーズアカウント(請求代行アカウント)以外でもご利用いただけますので、ご心配なく!

これを機に「インサイトウォッチ使ってみようか!」という方は、従来より提供されている セキュリティチェック も、あわせてご活用くださいませ!

以上!大阪オフィスの丸毛(@marumo1981)でした!