

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Tutorial: Ripristino di un cluster di database da uno snapshot del cluster di database mediante la AWS CLI
<a name="tut-restore-cluster.CLI"></a>

Con questo tutorial, è possibile ripristinare un cluster di database da una snapshot del cluster di database mediante la AWS CLI. Il ripristino di un cluster di database da uno snapshot mediante la AWS CLI comprende due passaggi:

1. [Ripristino del cluster database](#tut-restore-cluster.CLI.restore) usando il comando [restore-db-cluster-from-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-cluster-from-snapshot.html)

1. [Creazione dell'istanza database (scrittura) primaria](#tut-restore-cluster.CLI.create) usando il comando [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)

## Ripristino del cluster database
<a name="tut-restore-cluster.CLI.restore"></a>

Si utilizza il comando `restore-db-cluster-from-snapshot`. Sono richieste le seguenti opzioni:
+ `--db-cluster-identifier`: il nome del cluster database ripristinato.
+ `--snapshot-identifier`: il nome dello snapshot DB da cui eseguire il ripristino.
+ `--engine`: il motore di database del cluster database ripristinato. Deve essere compatibile con il motore di database del cluster database di origine.

  Le scelte sono le seguenti:
  + `aurora-mysql`: compatibile con Aurora MySQL 5.7 e 8.0.
  + `aurora-postgresql`: compatibile con Aurora PostgreSQL.

  In questo esempio viene utilizzato `aurora-mysql`.
+ `--engine-version`: la versione del cluster database ripristinato. In questo esempio, si utilizza una versione compatibile con MySQL-8.0.

Nell'esempio seguente viene ripristinato un cluster database compatibile con Aurora MySQL 8.0 denominato `my-new-80-cluster` da uno snapshot cluster DB denominato `my-57-cluster-snapshot`.

**Per ripristinare il cluster database**
+ Utilizzare uno dei seguenti comandi.

  Per Linux, macOS o Unix:

  ```
  aws rds restore-db-cluster-from-snapshot \
      --db-cluster-identifier my-new-80-cluster \
      --snapshot-identifier my-57-cluster-snapshot \
      --engine aurora-mysql \
      --engine-version 8.0.mysql_aurora.3.02.0
  ```

  Per Windows:

  ```
  aws rds restore-db-cluster-from-snapshot ^
      --db-cluster-identifier my-new-80-cluster ^
      --snapshot-identifier my-57-cluster-snapshot ^
      --engine aurora-mysql ^
      --engine-version 8.0.mysql_aurora.3.02.0
  ```

L'output è simile a quello riportato di seguito.

```
{
    "DBCluster": {
        "AllocatedStorage": 1,
        "AvailabilityZones": [
            "eu-central-1b",
            "eu-central-1c",
            "eu-central-1a"
        ],
        "BackupRetentionPeriod": 14,
        "DatabaseName": "",
        "DBClusterIdentifier": "my-new-80-cluster",
        "DBClusterParameterGroup": "default.aurora-mysql8.0",
        "DBSubnetGroup": "default",
        "Status": "creating",
        "Endpoint": "my-new-80-cluster.cluster-############.eu-central-1.rds.amazonaws.com",
        "ReaderEndpoint": "my-new-80-cluster.cluster-ro-############.eu-central-1.rds.amazonaws.com",
        "MultiAZ": false,
        "Engine": "aurora-mysql",
        "EngineVersion": "8.0.mysql_aurora.3.02.0",
        "Port": 3306,
        "MasterUsername": "admin",
        "PreferredBackupWindow": "01:55-02:25",
        "PreferredMaintenanceWindow": "thu:21:14-thu:21:44",
        "ReadReplicaIdentifiers": [],
        "DBClusterMembers": [],
        "VpcSecurityGroups": [
            {
                "VpcSecurityGroupId": "sg-########",
                "Status": "active"
            }
        ],
        "HostedZoneId": "Z1RLNU0EXAMPLE",
        "StorageEncrypted": true,
        "KmsKeyId": "arn:aws:kms:eu-central-1:123456789012:key/#######-5ccc-49cc-8aaa-############",
        "DbClusterResourceId": "cluster-ZZ12345678ITSJUSTANEXAMPLE",
        "DBClusterArn": "arn:aws:rds:eu-central-1:123456789012:cluster:my-new-80-cluster",
        "AssociatedRoles": [],
        "IAMDatabaseAuthenticationEnabled": false,
        "ClusterCreateTime": "2022-07-05T20:45:42.171000+00:00",
        "EngineMode": "provisioned",
        "DeletionProtection": false,
        "HttpEndpointEnabled": false,
        "CopyTagsToSnapshot": false,
        "CrossAccountClone": false,
        "DomainMemberships": [],
        "TagList": []
    }
}
```

## Creazione dell'istanza database (scrittura) primaria
<a name="tut-restore-cluster.CLI.create"></a>

Per creare l'istanza database (scrittura) primaria, si utilizza il comando `create-db-instance`. Sono richieste le seguenti opzioni:
+ `--db-cluster-identifier`: il nome del cluster database ripristinato.
+ `--db-instance-identifier`: il nome dell'istanza database primaria.
+ `--db-instance-class`: la classe istanza dell'istanza database primaria. In questo esempio viene utilizzato `db.t3.medium`.
**Nota**  
Consigliamo di utilizzare le classi di istanza database T solo per i server di sviluppo e test o altri server non di produzione. Per ulteriori informazioni sulle classi di istanza T, consulta [Tipi di classi di istanza database](Concepts.DBInstanceClass.Types.md).
+ `--engine`- il motore di database dell'istanza database primaria. Deve essere identico a quello utilizzato dal cluster database ripristinato.

  Le scelte sono le seguenti:
  + `aurora-mysql`: compatibile con Aurora MySQL 5.7 e 8.0.
  + `aurora-postgresql`: compatibile con Aurora PostgreSQL.

  In questo esempio viene utilizzato `aurora-mysql`.

Nell'esempio seguente viene creata un'istanza database (scrittura) primaria denominata `my-new-80-cluster-instance` nel cluster database compatibile con Aurora MySQL 8.0 denominato `my-new-80-cluster`.

**Per creare l'istanza database primaria**
+ Utilizzare uno dei seguenti comandi.

  Per Linux, macOS o Unix:

  ```
  aws rds create-db-instance \
      --db-cluster-identifier my-new-80-cluster \
      --db-instance-identifier my-new-80-cluster-instance \
      --db-instance-class db.t3.medium \
      --engine aurora-mysql
  ```

  Per Windows:

  ```
  aws rds create-db-instance ^
      --db-cluster-identifier my-new-80-cluster ^
      --db-instance-identifier my-new-80-cluster-instance ^
      --db-instance-class db.t3.medium ^
      --engine aurora-mysql
  ```

L'output è simile a quello riportato di seguito.

```
{
    "DBInstance": {
        "DBInstanceIdentifier": "my-new-80-cluster-instance",
        "DBInstanceClass": "db.t3.medium",
        "Engine": "aurora-mysql",
        "DBInstanceStatus": "creating",
        "MasterUsername": "admin",
        "AllocatedStorage": 1,
        "PreferredBackupWindow": "01:55-02:25",
        "BackupRetentionPeriod": 14,
        "DBSecurityGroups": [],
        "VpcSecurityGroups": [
            {
                "VpcSecurityGroupId": "sg-########",
                "Status": "active"
            }
        ],
        "DBParameterGroups": [
            {
                "DBParameterGroupName": "default.aurora-mysql8.0",
                "ParameterApplyStatus": "in-sync"
            }
        ],
        "DBSubnetGroup": {
            "DBSubnetGroupName": "default",
            "DBSubnetGroupDescription": "default",
            "VpcId": "vpc-2305ca49",
            "SubnetGroupStatus": "Complete",
            "Subnets": [
                {
                    "SubnetIdentifier": "subnet-########",
                    "SubnetAvailabilityZone": {
                        "Name": "eu-central-1a"
                    },
                    "SubnetOutpost": {},
                    "SubnetStatus": "Active"
                },
                {
                    "SubnetIdentifier": "subnet-########",
                    "SubnetAvailabilityZone": {
                        "Name": "eu-central-1b"
                    },
                    "SubnetOutpost": {},
                    "SubnetStatus": "Active"
                },
                {
                    "SubnetIdentifier": "subnet-########",
                    "SubnetAvailabilityZone": {
                        "Name": "eu-central-1c"
                    },
                    "SubnetOutpost": {},
                    "SubnetStatus": "Active"
                }
            ]
        },
        "PreferredMaintenanceWindow": "sat:02:41-sat:03:11",
        "PendingModifiedValues": {},
        "MultiAZ": false,
        "EngineVersion": "8.0.mysql_aurora.3.02.0",
        "AutoMinorVersionUpgrade": true,
        "ReadReplicaDBInstanceIdentifiers": [],
        "LicenseModel": "general-public-license",
        "OptionGroupMemberships": [
            {
                "OptionGroupName": "default:aurora-mysql-8-0",
                "Status": "in-sync"
            }
        ],
        "PubliclyAccessible": false,
        "StorageType": "aurora",
        "DbInstancePort": 0,
        "DBClusterIdentifier": "my-new-80-cluster",
        "StorageEncrypted": true,
        "KmsKeyId": "arn:aws:kms:eu-central-1:534026745191:key/#######-5ccc-49cc-8aaa-############",
        "DbiResourceId": "db-5C6UT5PU0YETANOTHEREXAMPLE",
        "CACertificateIdentifier": "rds-ca-2019",
        "DomainMemberships": [],
        "CopyTagsToSnapshot": false,
        "MonitoringInterval": 0,
        "PromotionTier": 1,
        "DBInstanceArn": "arn:aws:rds:eu-central-1:123456789012:db:my-new-80-cluster-instance",
        "IAMDatabaseAuthenticationEnabled": false,
        "PerformanceInsightsEnabled": false,
        "DeletionProtection": false,
        "AssociatedRoles": [],
        "TagList": []
    }
}
```