{Backup}AWS Backup を始める

 

https://docs.aws.amazon.com/ja_jp/aws-backup/latest/devguide/getting-started.html
https://dev.classmethod.jp/articles/aws-backup-ec2-instances/


You cannot delete two backup vaults: the AWS Backup default backup vault and the Amazon EFS automatic backup vault.


スポットインスタンスはバックアップできない


-- 1. コマンド等のインストール

-- 1.1 aws cli version 2 インストール

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version

 

-- 1.2 jqインストール
sudo yum -y install jq

-- 2. テスト用EC2インスタンス作成


aws ec2 run-instances \
--image-id ami-0404778e217f54308 \
--instance-type t3.nano \
--key-name key1 \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=instance01}]' 

aws ec2 describe-instances


-- 3. バックアッププランを作成する

aws backup list-backup-vaults


aws backup describe-backup-vault \
--backup-vault-name Default

 

aws backup create-backup-plan \
--backup-plan '{
        "BackupPlanName": "plan01",
        "Rules": [
            {
                "RuleName": "rule01",
                "TargetBackupVaultName": "Default",
                "ScheduleExpression": "cron(0 4 ? * * *)",
                "StartWindowMinutes": 60,
                "CompletionWindowMinutes": 120,
                "Lifecycle": {
                    "DeleteAfterDays": 1
                },
                "RecoveryPointTags": {},
                "CopyActions": ,
                "EnableContinuousBackup": false
            }
        ]
    }'


aws backup list-backup-plans

aws backup get-backup-plan \
--backup-plan-id 11111111-2222-3333-4444-555555555555

 

-- 4. バックアッププラン対象リソースを作成する

 

aws backup create-backup-selection \
--backup-plan-id 11111111-2222-3333-4444-555555555555 \
--backup-selection '{
        "SelectionName": "selection01",
        "IamRoleArn": "arn:aws:iam::999999999999:role/service-role/AWSBackupDefaultServiceRole",
        "Resources": [
            "arn:aws:ec2:ap-northeast-1:999999999999:instance/i-11111111111111111"
        ],
        "ListOfTags": ,
        "NotResources": ,
        "Conditions": {
            "StringEquals":
,
            "StringNotEquals": ,
            "StringLike":
,
            "StringNotLike": []
        }
    }'


aws backup list-backup-selections \
--backup-plan-id 11111111-2222-3333-4444-555555555555


aws backup get-backup-selection \
--backup-plan-id 11111111-2222-3333-4444-555555555555 \
--selection-id 66666666-7777-8888-9999-aaaaaaaaaaaa


-- 5. 動作確認

バックアップが動作するまで待つ


aws backup list-backup-jobs

aws backup describe-backup-job \
--backup-job-id bbbbbbbb-cccc-dddd-eeee-ffffffffffff

 

aws backup list-protected-resources

aws backup describe-protected-resource \
--resource-arn arn:aws:ec2:ap-northeast-1:999999999999:instance/i-11111111111111111

 

 


-- 6. クリーンアップ

-- 復旧ポイントの削除


aws backup list-recovery-points-by-backup-vault \
--backup-vault-name Default


aws backup describe-recovery-point \
--backup-vault-name Default \
--recovery-point-arn arn:aws:ec2:ap-northeast-1::image/ami-ggggggggggggggggg


aws backup delete-recovery-point \
--backup-vault-name Default \
--recovery-point-arn arn:aws:ec2:ap-northeast-1::image/ami-ggggggggggggggggg

 

※AMIも削除されていることを確認する

 


-- バックアッププラン対象リソースの削除

aws backup list-backup-selections \
--backup-plan-id 11111111-2222-3333-4444-555555555555

aws backup get-backup-selection \
--backup-plan-id 11111111-2222-3333-4444-555555555555 \
--selection-id 66666666-7777-8888-9999-aaaaaaaaaaaa

aws backup delete-backup-selection \
--backup-plan-id 11111111-2222-3333-4444-555555555555 \
--selection-id 66666666-7777-8888-9999-aaaaaaaaaaaa

 

-- バックアッププランの削除

aws backup list-backup-plans

aws backup delete-backup-plan \
--backup-plan-id 11111111-2222-3333-4444-555555555555

 

-- EC2インスタンスの削除

aws ec2 describe-instances

aws ec2 terminate-instances --instance-ids i-11111111111111111