EC2インスタンスのバックアップについて
EC2インスタンスのバックアップを取るには大きく分けて次の2つの方法があります。
- ストレージのスナップショットを取得する
- AMIイメージを作成する
EC2インスタンスの完全なバックアップとしてはAMIイメージを作成するのが一番良いのですが、稼働中のインスタンスからAMIイメージを作成するには原則、インスタンスの停止が必要なのでストレージのスナップショットを取得するほうがお手軽ではあります。
さらに、Amazon DLMを利用することで、スナップショットの取得を自動化&スケージュール化が可能になります。
Amazon DLMの特徴
Amazon DLMは次のような特徴を持っています。
- EBSストレージのスナップショット作成、保持、削除を自動化する
- スナップショットの作成、保持、削除(世代管理)はライフサイクルポリシーで定義する
- スナップショットを作成する頻度を設定できる(スケージュール化)
Amazon DLM利用上の制限
Amazon DLMを利用する上で、次のような制限があります(2018.12.10現在)
AWSアカウントあたり
- ライフサイクルポリシーはリージョンごとに最大100まで
- リソースごとに最大50個のタグを追加可能
- ライフサイクルポリシー対して、1つのスケジュールを作成可能
Amazon DLMの設定
- 前提条件
設定を実施するIAMユーザーにAmazon DLMへのアクセス権が割り当てられていること
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::123456789012:role/AWSDataLifecycleManagerDefaultRole"
},
{
"Effect": "Allow",
"Action": "dlm:*",
"Resource": "*"
}
]
}
対象のEBSボリュームにタグが設定されていること。
今回はSnapshotというタグをつけて、値にDLMを設定する。
ライフサイクルポリシーの作成
「Create Policy」をクリックして、ポリシー作成を完了する
その他の注意点
- 稼働中のインスタンス(EBSボリューム)のスナップショットを作成する場合、完全なコピーではないことを理解すること
- スナップショットは増分で作成されるので、保持するスナップショットの数と合計サイズをきちんと把握すること(コスト管理)