EC2のバックアップをAWS CLIコマンドで作成する(AWS Backup)

バックアップストレージの画像 AWS

AWS Backupを利用してEC2のバックアップをコマンドで作成します。

AWS Backupとは

AWSのフルマネージド型のバックアップサービスです。
下記リンクに対象サービスが記載されていますが、今回はコマンドでのEC2バックアップ取得方法です。
AWS Backup とは?

またAWS Backupはオンラインバックアップです。本来AMIを取得する際はオフラインであることが望ましいため、データの整合性が重要なアプリケーションが入っているEC2インスタンスでの使用は避けた方がよさそうです。
Amazon EC2 の操作

AWS CLIのインストール

自分の端末でAWSのコマンドを使用するために、「AWS CLI」のインストールを行います。
(すでにインストール済の場合は不要です。)

下記リンクからダウンロード、インストールを行います。
AWS CLIの最新バージョンをインストールまたは更新する

OSに応じて下記を起動してバージョン確認のコマンドを実行し、下記のように表示されていたら問題なくインストールされています。

  • Windows:コマンドプロンプト
  • Mac       :ターミナル
aws --version

AWSバージョン画像

IAMユーザーを作成する

AWS Backupを取得するためのIAMユーザーを作成します。

AWSのマネジメントコンソールでIAMにアクセスし、左メニューのユーザーから「ユーザーを追加」クリック。

ユーザー名を入力し、「アクセスキー・プログラムによるアクセス」にチェックを入れて次のステップへ。

AWS Backupを作成するためのポリシーを当てます。
「既存のポリシーを直接アタッチ」を選択、”Backup”でフィルタすると表示される「AWSBackupFullAccess」にチェックして次のステップへ。

任意でタグを設定し、次のステップへ。

内容を確認したら「ユーザーの作成」をクリック。

csvファイルはダウンロードし、無くさないように保存。
「アクセスキー」と「シークレットアクセスキー」はこの次で使用するためコピーして控えておきます。バックアップユーザ作成画面

ユーザーが作成されたことを確認します。

AWS CLIの設定

作成できたらcredentialsファイルにIAMの情報を登録します。
(すでにユーザが登録済の場合不要です。権限が不足している場合、IAMの画面から登録しているユーザに「AWSBackupFullAccess」のポリシーを追加で当てるだけでOKです。)
設定の基本

下記コマンドを入力し、順番に表示される4つの項目に対してそれぞれ入力してEnter押下していきます。

AWS Access Key ID 上記手順で入手したアクセスキーを入力
AWS Secret Access Key 上記手順で入手したシークレットアクセスキーを入力
Default region name 対象のリージョンを入力(東京ならap-northeast-1)
Default output format json
> aws configure

AWS Access Key ID [None]: Axxxxxxxxxxxxxxxxxxx
AWS Secret Access Key [None]: Axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Default region name [None]: ap-northeast-1
Default output format [None]: json

 

AWS Backupでバックアップボールトを作成

「バックアップボールト」とは、バックアップを保存するためのコンテナのことです。
バックアップの保存先に最初から作成されている”Default”を指定する場合、作成する必要はありません。

AWS Backupにアクセスし、右メニューの「バックアップボールト」から「バックアップボールトを作成」をクリック。

AWSBackup設定画面

バックアップボールト名、暗号化キーを指定します。AWSBackup設定画面

バックアップボールトが作成されたことを確認します。AWSBackup設定画面

AWS BackupアクセスのためのIAMロールを確認

バックアップ作成するためのコマンドを実行する際、IAMロールが必要になります。
IAMロールはデフォルトで用意されているものを使用しますが、ARNをコピーするためにIAMへアクセスします。

右メニューの「ロール」をクリック。検索バーで”backup”と入力し、「AWSBackupDefaultServiceRole」をクリックします。AWSBackupアクセスロール設定画像

右上に表示されているARNをコピーします。AWSBackupアクセスロール設定画像

コマンドを実行

コマンドを実行します。
オプションの内容は上記手順で調査した内容を反映させます。

aws backup start-backup-job --backup-vault-name Default --resource-arn arn:aws:ec2:ap-northeast-1:123456789012:instance/i-01234567890123456 --iam-role-arn arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole --lifecycle DeleteAfterDays=3
オプション 内容 記載例
–backup-vault-name 対象にするバックアップボールト名を指定 EC2Backup
–resource-arn EC2のARN(AWS リソースを一意に識別する値)を指定※
arn:aws:ec2:ap-northeast-1:123456789012:instance/i-01234567890123456
–iam-role-arn AWSBackupにアクセスするためのIAMロールを指定
上記手順でコピーしたもの。
arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole
–lifecycle バックアップの保持日数を登録しておきたい場合、指定
(なくてもOK)
DeleteAfterDays=3

※EC2のARNは下記の方法で調査可能です。
arn:aws:ec2:ap-northeast-1:[AWSアカウントの12桁]:instance/[インスタンスID]
EC2のARN画像

確認

下記のような値が返ってきたら成功です。

コマンド上はすぐにレスポンスがありますが、バックアップ作成完了するまでは時間がかかります。AWSバックアップ作成中画像

↓作成後の画面AWSバックアップ作成後画面
なお、AWS Backup画面から確認できる内容はEC2上の画面から見れるAMIとリンクしていて、こちらから復元ポイントIDを削除するとEC2の画面からもバックアップが削除されます。

コメント

タイトルとURLをコピーしました