如何使用 AWS CLI 從 AWS Backup 還原點還原 Amazon EFS 檔案系統?

3 分的閱讀內容
0

我想要使用 AWS Command Line Interface (AWS CLI) 從 AWS Backup 還原點還原 Amazon Elastic File System (Amazon EFS)。

分辨率

從 AWS Backup 還原點就地還原 EFS 檔案系統

1.    執行 list-backup-jobs 命令,取得要還原之 EFS 檔案系統的 Amazon Resource Name (ARN)。您必須擁有還原點 ARN,才能從 AWS Backup 還原點執行 EFS 檔案系統還原。

$ aws backup list-backup-jobs --by-resource-type EFS --region us-east-1

**注意:**如果您在執行 AWS CLI 命令時收到錯誤訊息,請確定您使用的是最新版本的 AWS CLI

2.    在命令輸出中,注意 RecoverypointArn

{
    "BackupJobs": [
        {
            "CompletionDate": 1583305453.7,
            "BackupVaultArn": "arn:aws:backup:us-east-1:111222333444:backup-vault:Default",
            "PercentDone": "0.0",
            "RecoveryPointArn": "arn:aws:backup:us-east-1:111222333444:recovery-point:123e4567-6cd9-464e-bb6b-13f70e79d347",
            "ResourceType": "EFS",
            "BackupSizeInBytes": 73,
            "State": "COMPLETED",
            "IamRoleArn": "arn:aws:iam::111222333444:role/service-role/AWSBackupDefaultServiceRole",
            "ResourceArn": "arn:aws:elasticfilesystem:us-east-1:111222333444:file-system/fs-6a1dcba2",
            "BackupJobId": "721ba96d-a656-4771-a1f4-78bcd0c930f8",
            "StartBy": 1583309035.684,
            "CreationDate": 1583305435.684,
            "BackupVaultName": "Default"
        }
    ]
}

3.    若要執行 start-restore-job 命令,您必須定義特定中繼資料以還原 EFS 執行個體。您可以在單獨的 JSON 檔案中定義中繼資料,也可以將中繼資料定義為命令中的參數。

若要在單獨的 JSON 檔案中定義中繼資料,請建立類似下列內容的 JSON 檔案:

{"file-system-id": "fs-6a1dcba2", "newFileSystem": "false", "Encrypted": "false", "PerformanceMode":"generalPurpose"}

然後,執行 start-restore-job 命令:

aws backup start-restore-job --region us-east-1 --recovery-point-arn "arn:aws:backup:us-east-1:111222333444:recovery-point:123e4567-6cd9-464e-bb6b-13f70e79d347" --iam-role-arn "arn:aws:iam::111222333444:role/service-role/AWSBackupDefaultServiceRole"  --metadata file://path_to_json_file

若要將中繼資料定義為 start-restore-job 命令中的參數,請以下列格式執行命令:

aws backup start-restore-job --region us-east-1 --recovery-point-arn "arn:aws:backup:us-east-1:111222333444:recovery-point:123e4567-6cd9-464e-bb6b-13f70e79d347" --iam-role-arn "arn:aws:iam::111222333444:role/service-role/AWSBackupDefaultServiceRole" --metadata '{"file-system-id": "fs-6a1dcba2", "newFileSystem": "false", "Encrypted": "false", "PerformanceMode":"generalPurpose"}'

從 AWS Backup 還原點還原新的 EFS 檔案系統

1.    執行 list-backup-jobs 命令,取得要還原的 EFS 檔案系統的 ARN。您必須擁有還原點 ARN,才能從 AWS Backup 還原點執行 EFS 檔案系統還原。

$ aws backup list-backup-jobs --by-resource-type EFS --region us-east-1

2.    在命令輸出中,注意 RecoverypointArn

{
    "BackupJobs": [
        {
            "CompletionDate": 1583305453.7,
            "BackupVaultArn": "arn:aws:backup:us-east-1:111222333444:backup-vault:Default",
            "PercentDone": "0.0",
            "RecoveryPointArn": "arn:aws:backup:us-east-1:111222333444:recovery-point:123e4567-6cd9-464e-bb6b-13f70e79d347",
            "ResourceType": "EFS",
            "BackupSizeInBytes": 73,
            "State": "COMPLETED",
            "IamRoleArn": "arn:aws:iam::111222333444:role/service-role/AWSBackupDefaultServiceRole",
            "ResourceArn": "arn:aws:elasticfilesystem:us-east-1:111222333444:file-system/fs-6a1dcba2",
            "BackupJobId": "721ba96d-a656-4771-a1f4-78bcd0c930f8",
            "StartBy": 1583309035.684,
            "CreationDate": 1583305435.684,
            "BackupVaultName": "Default"
        }
    ]
}

3.    若要還原至新的 EFS 檔案系統,請產生強制執行要求唯一性 (冪等性) 的 CreationToken 值。CreationToken 可以是您選擇的任何值。在 Linux 作業系統上,您可以執行 uuid 命令來產生唯一識別碼:

uuid -r

輸出為通用唯一識別碼 (UUID),類似下列內容:

d0c12345-678d-4071-bf30-8e7e54ab65df

4.    若要執行 start-restore-job 命令,您必須定義特定中繼資料以還原 EFS 執行個體。您可以在單獨的 JSON 檔案中定義中繼資料,也可以將中繼資料定義為命令中的參數。

若要在單獨的 JSON 檔案中定義中繼資料,請建立類似下列內容的 JSON 檔案:

注意:對於建立權杖,請使用您在步驟 3 中產生的建立權杖值。

{"file-system-id": "fs-6a1dcba2", "Encrypted": "false", "PerformanceMode": "generalPurpose", "CreationToken": "d0c12345-678d-4071-bf30-8e7e54ab65df", "newFileSystem": "true"}

然後,執行 start-restore-job 命令:

**注意:**對於 --metadata,請輸入您在上一個步驟中建立的 JSON 檔案。

aws backup start-restore-job --region us-east-1 --recovery-point-arn "arn:aws:backup:us-east-1:111222333444:recovery-point:123e4567-6cd9-464e-bb6b-13f70e79d347" --iam-role-arn "arn:aws:iam::111222333444:role/service-role/AWSBackupDefaultServiceRole"  --metadata file://path_to_json_file

若要將中繼資料定義為 start-restore-job 命令中的參數,請以下列格式執行命令:

注意:對於建立權杖,請使用您在步驟 3 中產生的建立權杖值。

aws backup start-restore-job --region us-east-1 --recovery-point-arn "arn:aws:backup:us-east-1:111222333444:recovery-point:123e4567-6cd9-464e-bb6b-13f70e79d347" --iam-role-arn "arn:aws:iam::111222333444:role/service-role/AWSBackupDefaultServiceRole" --metadata '{"file-system-id": "fs-6a1dcba2", "newFileSystem": "true", "CreationToken": "d0c12345-678d-4071-bf30-8e7e54ab65df", "Encrypted": "false", "PerformanceMode":"generalPurpose"}'

從 AWS Backup 還原點執行項目層級 EFS 檔案系統還原

1.    執行 list-backup-jobs 命令,取得要還原之 EFS 檔案系統的 Amazon Resource Name (ARN)。您必須擁有還原點 ARN,才能從 AWS Backup 還原點執行 EFS 檔案系統還原。

$ aws backup list-backup-jobs --by-resource-type EFS --region us-east-1

**注意:**如果您在執行 AWS CLI 命令時收到錯誤訊息,請確定您使用的是最新版本的 AWS CLI

2.    在命令輸出中,注意 RecoverypointArn

{
    "BackupJobs": [
        {
            "AccountId": "686948106210",
            "BackupJobId": "261f13d0-5ede-458e-a00e-d83ed5de0afe",
            "BackupVaultName": "Default",
            "BackupVaultArn": "arn:aws:backup:us-east-1:111222333444:backup-vault:Default",
            "RecoveryPointArn": "arn:aws:backup:us-east-1:111222333444:recovery-point:123e4567-6cd9-464e-bb6b-13f70e79d347",
            "ResourceArn": "arn:aws:elasticfilesystem:us-east-1:111222333444:file-system/fs-6a1dcba2",
            "CreationDate": "2021-08-23T07:52:56.652000+00:00",
            "CompletionDate": "2021-08-23T07:53:09.547000+00:00",
            "State": "COMPLETED",
            "PercentDone": "100.0",
            "BackupSizeInBytes": 75,
            "IamRoleArn": "arn:aws:iam::111222333444:role/service-role/AWSBackupDefaultServiceRole",
            "StartBy": "2021-08-23T08:52:56.652000+00:00",
            "ResourceType": "EFS"
        }

3.    若要執行 start-restore-job 命令,您必須定義特定中繼資料以還原 EFS 執行個體。您可以在單獨的 JSON 檔案中定義中繼資料,也可以將中繼資料定義為命令中的參數。

若要在單獨的 JSON 檔案中定義中繼資料,請建立類似下列內容的 JSON 檔案:

{"file-system-id": "fs-6a1dcba2", "newFileSystem": "false", "Encrypted": "false", "PerformanceMode":"generalPurpose", "itemsToRestore":"[\"/my.test\"]"}

然後,執行 start-restore-job 命令:

aws backup start-restore-job --region us-east-1 --recovery-point-arn "arn:aws:backup:us-east-1:111222333444:recovery-point:123e4567-6cd9-464e-bb6b-13f70e79d347" --iam-role-arn "arn:aws:iam::111222333444:role/service-role/AWSBackupDefaultServiceRole"  --metadata file://path_to_json_file

若要將中繼資料定義為 start-restore-job 命令中的參數,請以下列格式執行命令:

aws backup start-restore-job --region us-east-1 --recovery-point-arn "arn:aws:backup:us-east-1:111222333444:recovery-point:123e4567-6cd9-464e-bb6b-13f70e79d347" --iam-role-arn "arn:aws:iam::111222333444:role/service-role/AWSBackupDefaultServiceRole" --metadata '{"file-system-id": "fs-6a1dcba2", "newFileSystem": "false", "Encrypted": "false", "PerformanceMode":"generalPurpose", "itemsToRestore":"[\"/my.test\"]"}'

AWS 官方
AWS 官方已更新 2 年前