Como usar os comandos da AWS CLI para gerenciar meus snapshots e criar backups para minhas instâncias do Lightsail?

5 minuto de leitura
0

Quero usar comandos da AWS Command Line Interface (AWS CLI) para gerenciar meus snapshots e criar backups para minhas instâncias do Amazon Lightsail.

Resolução

Observação:

Gerenciar backups manuais

Use comandos da AWS CLI para gerenciar backups manuais para sua instância e listar snapshots disponíveis.

Criar um backup manual para uma instância do Lightsail

Execute o comando create-instance-snapshot para criar um snapshot da instância do Lightsail. O exemplo a seguir cria um snapshot da instância SnapshotTestLightsailInstance1 na região da AWS eu-west-1:

# aws lightsail create-instance-snapshot --instance-name TestLightsailInstance1 --instance-snapshot-name SnapshotTestLightsailInstance1{
    "operations": [
        {
            "id": "d3196be7-3dc6-4508-b335-16ce45f11c90",
            "resourceName": "SnapshotTestLightsailInstance1",
            "resourceType": "InstanceSnapshot",
            "createdAt": 1602180831.638,
            "location": {
                "availabilityZone": "all",
                "regionName": "eu-west-1"
            },
            "isTerminal": false,
            "operationDetails": "TestLightsailInstance1",
            "operationType": "CreateInstanceSnapshot",
            "status": "Started",
            "statusChangedAt": 1602180831.638
        },
        {
            "id": "df237a33-bca9-4fc3-8f46-ea5d12606f5c",
            "resourceName": "TestLightsailInstance1",
            "resourceType": "Instance",
            "createdAt": 1602180831.638,
            "location": {
                "availabilityZone": "eu-west-1a",
                "regionName": "eu-west-1"
            },
            "isTerminal": false,
            "operationDetails": "SnapshotTestLightsailInstance1",
            "operationType": "CreateInstanceSnapshot",
            "status": "Started",
            "statusChangedAt": 1602180831.638
        }
    ]
}

Observação: substitua instance-snapshot-name, instance-name e region pelos seus valores.

Relacionar snapshots disponíveis

Execute o comando get-instance-snapshots para listar todos os snapshots das suas instâncias do Lightsail. O exemplo a seguir mostra detalhes dos snapshots disponíveis na região eu-west-1:

# aws lightsail get-instance-snapshots --region eu-west-1 --query 'instanceSnapshots[].{name:name,createdAt:createdAt,resourceType:resourceType,state:state,fromInstanceName:fromInstanceName,sizeInGb:sizeInGb}' --output table
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                                                                GetInstanceSnapshots                                                                                                 |
+----------------+-----------------------------------------+------------------------------------------------------------------------------------------------------------+-------------------+-----------+-------------+
|    createdAt   |            fromInstanceName             |                                                   name                                                     |   resourceType    | sizeInGb  |    state    |
+----------------+-----------------------------------------+------------------------------------------------------------------------------------------------------------+-------------------+-----------+-------------+
|  1602180831.638|  TestLightsailInstance1                 |  SnapshotTestLightsailInstance1                                                                            |  InstanceSnapshot |  40       |  available  |
+----------------+-----------------------------------------+------------------------------------------------------------------------------------------------------------+-------------------+-----------+-------------+

Observação: substitua region pela sua região.

Gerenciar backups automáticos

Use os comandos da AWS CLI para verificar se snapshots automáticos estão ativados para suas instâncias e ative snapshots automáticos. Você também pode listar snapshots automáticos e criar uma nova instância a partir de um backup com um tamanho de pacote maior ou com um plano do Lightsail superior.

Verificar se snapshots automáticos estão ativados para suas instâncias

Execute o comando a seguir para verificar se snapshots automáticos estão ativados para sua instância e para mostrar a programação definida:

# aws lightsail get-instances --region eu-west-1  --query 'instances[].{addOns:addOns,name:name,publicIpAddress:publicIpAddress,AutoMatciSnapshotStatus:(addOns[].status),Schedule:(addOns[].snapshotTimeOfDay)}' --output text| grep -w "TestLightsailInstance1"['Enabled']     ['20:00']       [{'name': 'AutoSnapshot', 'status': 'Enabled', 'snapshotTimeOfDay': '20:00'}]   TestLightsailInstance1  3.250.xx.xx

Observação: substitua TestLightsailInstance1 pelo nome da instância e region pela sua região.

Ativar snapshots automáticos

Execute o comando enable-add-on para ativar os snapshots automáticos para suas instâncias do Lightsail. O exemplo a seguir cria snapshots automáticos diários que são definidos para um incremento de hora em hora em UTC (08PM UTC):

# aws lightsail enable-add-on --region eu-west-1 --resource-name TestLightsailInstance1 --add-on-request addOnType=AutoSnapshot,autoSnapshotAddOnRequest={snapshotTimeOfDay=20:00}{
    "operations": [
        {
            "id": "823bb162-9848-4897-b845-8f41c375801a",
            "resourceName": "TestLightsailInstance1",
            "resourceType": "Instance",
            "createdAt": 1602181856.652,
            "location": {
                "availabilityZone": "eu-west-1",
                "regionName": "eu-west-1"
            },
            "isTerminal": false,
            "operationDetails": "EnableAddOn - AutoSnapshot",
            "operationType": "EnableAddOn",
            "status": "Started"
        }
    ]
}

Observação: substitua resource-name, snapshotTimeOfDay e region pelos seus valores.

Listar snapshots automáticos e crie uma nova instância a partir do backup com tamanho de pacote maior ou um plano do Lightsail superior

Execute o comando get-auto-snapshots para listar todos os snapshots automáticos disponíveis para suas instâncias ou discos do Lightsail. O exemplo a seguir mostra detalhes dos snapshots disponíveis para a instância TestLightsailInstance1:

# aws lightsail get-auto-snapshots --region eu-west-1 --resource-name TestLightsailInstance1{
    "resourceName": "TestLightsailInstance1",
    "resourceType": "Instance",
    "autoSnapshots": [
        {
            "date": "2020-10-08",
            "createdAt": 1602188663.0,
            "status": "Success",
            "fromAttachedDisks": []
        }
    ]
}

Observação: substitua resource-name e region pelos seus valores.

Execute o comando create-instances-from-snapshot para criar instâncias do Lightsail a partir de um backup manual ou automático. O exemplo a seguir usa um backup específico e um pacote maior para criar uma instância na região eu-west-1:

# aws lightsail create-instances-from-snapshot --region eu-west-1 --instance-snapshot-name SnapshotTestLightsailInstance1 --instance-names RestoredTestLightsailInstance1-New  --availability-zone eu-west-1a --bundle-id large_2_0{
    "operations": [
        {
            "id": "09f7d1bb-90f4-48dc-b304-543499e11208",
            "resourceName": "RestoredTestLightsailInstance1-New",
            "resourceType": "Instance",
            "createdAt": 1602182374.625,
            "location": {
                "availabilityZone": "eu-west-1a",
                "regionName": "eu-west-1"
            },
            "isTerminal": false,
            "operationType": "CreateInstancesFromSnapshot",
            "status": "Started",
            "statusChangedAt": 1602182374.625
        }
    ]
}

Observação: substitua instance-snapshot-name, instance-names, bundle-id e region pelos seus valores.

Veja a seguir um exemplo dos detalhes da instância RestoredTestLightsailInstance1-New que você criou:

# aws lightsail get-instances --region eu-west-1 --query 'instances[].{name:name,createdAt:createdAt,blueprintId:blueprintId,blueprintName:blueprintName,publicIpAddress:publicIpAddress}' --output table |grep -i RestoredTestLightsailInstance1-New
|  wordpress      |  WordPress     |  1602182374.625 |  RestoredTestLightsailInstance1-New      |  34.247.xx.xx    |

Informações relacionadas

Referência de comandos da AWS CLI para o Lightsail

Referência de APIs do Lightsail

Como posso gerenciar minha instância do Lightsail usando os comandos da CLI da AWS?

Documentos do Lightsail

AWS OFICIAL
AWS OFICIALAtualizada há 3 meses