Cette page explique comment migrer une instance Cloud SQL pour PostgreSQL en copiant une sauvegarde Cloud SQL dans un AlloyDB pour PostgreSQL d'essai gratuit. Copier une sauvegarde Cloud SQL dans un cluster AlloyDB vous permet de charger rapidement des données dans Cloud SQL pour PostgreSQL, ce qui vous permet d'évaluer ou de migrer vers AlloyDB.
Cette page suppose que vous connaissez Cloud SQL. Si vous débutez avec AlloyDB, consultez la présentation d'AlloyDB.
Pour découvrir comment migrer vos données de Cloud SQL vers AlloyDB à l'aide de la réplication de données continue, consultez Database Migration Service pour PostgreSQL vers AlloyDB.
Les éléments suivants ne sont pas acceptés :
- Restaurations interprojets et interrégionales
- Instances avec des clés de chiffrement gérées par le client (CMEK)
- Instances avec authentification de groupe Identity and Access Management (IAM)
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the AlloyDB, Compute Engine, and Service Networking APIs.
- Assurez-vous de disposer des éléments suivants:
- Les autorisations IAM (Identity and Access Management) nécessaires
- Une sauvegarde Cloud SQL dont la taille est inférieure à 1 To
- Une version de PostgreSQL compatible avec AlloyDB
Rôles requis
Pour obtenir les autorisations nécessaires pour copier une sauvegarde Cloud SQL pour PostgreSQL dans un cluster AlloyDB, attribuez-vous les rôles IAM suivants sur votre projet:
- Lecteur
(
roles/viewer
) - Administrateur Cloud AlloyDB (
roles/alloydb.admin
)
Copier une sauvegarde Cloud SQL dans un cluster AlloyDB
Lorsque vous copiez une sauvegarde Cloud SQL dans un cluster AlloyDB, la sauvegarde est restaurée dans la même version de PostgreSQL sur AlloyDB. Par exemple, une sauvegarde Cloud SQL PostgreSQL 14 est restaurée dans un cluster PostgreSQL 14 . N'oubliez pas que les versions d'extension et les versions mineures de PostgreSQL peuvent être différentes.
La copie d'une sauvegarde à partir de Cloud SQL n'est compatible qu'avec la configuration des éléments compatibles avec le cluster AlloyDB essai gratuit.
Pour copier une sauvegarde Cloud SQL dans un cluster AlloyDBsansfrais d'essai, procédez comme suit:
Console
- Dans la console Google Cloud , accédez à la page Clusters.
- Si vous n'avez pas encore provisionné de cluster, cliquez sur Démarrer un essai gratuit. Si vous disposez déjà d'un cluster, cliquez sur Migrer les données.
- Cliquez sur Copier à partir de la sauvegarde Cloud SQL.
- Sur la page Copier à partir de la sauvegarde Cloud SQL, activez les API requises. Si vous avez déjà activé les API, vous n'avez pas besoin de les réactiver.
- Sur la page Sélectionner le type de cluster, cliquez sur Cluster d'essai gratuit. Si vous n'êtes pas éligible à un cluster d'essai gratuit, ce champ est grisé.
- Cliquez sur Sélectionner un type de cluster.
- Sélectionnez l'instance Cloud SQL à partir de laquelle vous souhaitez créer une copie, puis cliquez sur Sélectionner une instance. Vous pouvez filtrer les instances Cloud SQL.
Seules les versions de base de données compatibles sont affichées. Les réplicas ne disposent pas de sauvegardes et ne s'affichent pas dans la liste des instances disponibles. - Sélectionnez la sauvegarde à partir de laquelle vous souhaitez importer, puis cliquez sur Sélectionner une sauvegarde. Cette page affiche les 1 000 dernières sauvegardes.
- Sur la page Créer votre cluster gratuit, saisissez l'ID du cluster et vos informations de mise en réseau.
- Cliquez sur Démarrer un essai gratuit.
Une fois l'opération terminée, une instance principale est automatiquement créée. Un nouveau cluster AlloyDB s'affiche avec les données copiées à partir de la sauvegarde Cloud SQL pour PostgreSQL que vous avez sélectionnée.
Lorsque vous copiez une sauvegarde Cloud SQL pour PostgreSQL dans un cluster AlloyDB, les indicateurs de base de données et les autorisations au niveau des ressources ne sont pas migrés automatiquement. Une fois la copie terminée, vous devez configurer manuellement ces indicateurs et ces autorisations.
Vous pouvez vérifier les indicateurs de base de données de Cloud SQL pour PostgreSQL compatibles avec AlloyDB sur la page Créer votre cluster sans frais.
API REST
- Pour obtenir la liste des sauvegardes de l'instance à partir de laquelle vous souhaitez restaurer votre sauvegarde, appelez la méthode
backupsRuns.list
:
GET "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/backupRuns"
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet.INSTANCE_ID
: ID de l'instance.
Corps JSON de la requête :
{ "kind": string, "items": [ { object (BackupRun) } ], "nextPageToken": string }
Pour envoyer votre requête, utilisez l'une des options suivantes:
curl (Linux, macOS ou Cloud Shell)
La commande suivante suppose que vous vous êtes connecté à
gcloud CLI
avec votre compte utilisateur en exécutantgcloud init
ougcloud auth login
, ou en utilisantCloud Shell
, qui vous connecte automatiquement àgcloud CLI
.Vous pouvez vérifier le compte actif en exécutant
gcloud auth list
.Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ "https://sqladmin.googleapis.com//sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/backupRuns"
PowerShell (Windows)
La commande suivante suppose que vous vous êtes connecté à
gcloud CLI
avec votre compte utilisateur en exécutantgcloud init
ougcloud auth login
, ou en utilisantCloud Shell
, qui vous connecte automatiquement àgcloud CLI
.Vous pouvez vérifier le compte actif en exécutant
gcloud auth list
.Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante:$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -Uri "https://sqladmin.googleapis.com//sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/backupRuns"|Select-Object -Expand Content
Vous recevez une réponse JSON semblable à celle-ci:
Réponse
Si la requête aboutit, le corps de la réponse contient une liste de
La réponse de l'API renvoie une liste de sauvegardes pour l'instance sous la forme d'une liste de tableaux, y comprisBackupRun
."id": string,
. - Appelez la méthode restoreFromCloudSQL:
POST https://alloydb.googleapis.com/v1beta/projects/PROJECT_ID/locations/REGION/clusters:restoreFromCloudSQL
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet.REGION
: région dans laquelle le cluster AlloyDB est déployé.
Corps JSON de la requête :
{ "clusterId": string, "cluster": { "databaseVersion": "POSTGRES_14/POSTGRES_15/POSTGRES_16", "subscriptionType": "TRIAL" }, // Union field source can be only one of the following: "cloudsqlBackupRunSource": { object (CloudSQLBackupRunSource) } // End of list of possible types for union field source. }
Pour envoyer votre requête, utilisez l'une des options suivantes:
curl (Linux, macOS ou Cloud Shell)
La commande suivante suppose que vous vous êtes connecté à
gcloud CLI
avec votre compte utilisateur en exécutantgcloud init
ougcloud auth login
, ou en utilisantCloud Shell
, qui vous connecte automatiquement àgcloud CLI
.Vous pouvez vérifier le compte actif en exécutant
gcloud auth list
.Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://alloydb.googleapis.com/v1beta/projects/PROJECT_ID/locations/REGION/clusters:restoreFromCloudSQL"
PowerShell (Windows)
La commande suivante suppose que vous vous êtes connecté à
gcloud CLI
avec votre compte utilisateur en exécutantgcloud init
ougcloudauth login
, ou en utilisantCloud Shell
, qui vous connecte automatiquement àgcloud CLI
.Vous pouvez vérifier le compte actif en exécutant
gcloud auth list
.Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante:$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://alloydb.googleapis.com/v1beta/projects/PROJECT_ID/locations/REGION/clusters:restoreFromCloudSQL"|Select-Object -Expand Content
Vous recevez une réponse JSON semblable à celle-ci:
Réponse
Si la requête aboutit, le corps de la réponse contient une instance de
Operation
.Un cluster est créé dans le projet et l'emplacement spécifiés, avec un volume restauré à partir de la sauvegarde indiquée dans le message CloudSQLBackupRunSource.
- Lorsque le cluster est en état
READY
, créez l'instance principale en appelant la méthodeprojects.locationsinstances.create
:
POST https://alloydb.googleapis.com/v1beta/{parent=projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID}/instances
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet.REGION
: région dans laquelle le cluster AlloyDB est déployé.CLUSTER_ID
: ID du cluster.
Corps JSON de la requête :
{ "instanceId": "string", "instance": { "object": "Instance" } }
Le corps de la requête contient une instance de
Instance
.Pour envoyer votre requête, utilisez l'une des options suivantes:
curl (Linux, macOS ou Cloud Shell)
La commande suivante suppose que vous vous êtes connecté à
gcloud CLI
avec votre compte utilisateur en exécutantgcloud init
ougcloud auth login
, ou en utilisantCloud Shell
, qui vous connecte automatiquement àgcloud CLI
.Vous pouvez vérifier le compte actif en exécutant
gcloud auth list
.Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://alloydb.googleapis.com/v1beta/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID/instances"
PowerShell (Windows)
La commande suivante suppose que vous vous êtes connecté à
gcloud CLI
avec votre compte utilisateur en exécutantgcloud init
ougcloud auth login
, ou en utilisantCloud Shell
, qui vous connecte automatiquement àgcloud CLI
.Vous pouvez vérifier le compte actif en exécutant
gcloud auth list
.Enregistrez le corps de la requête dans un fichier nommé
request.json
, puis exécutez la commande suivante:$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://alloydb.googleapis.com/v1beta/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID/instances"|Select-Object -Expand Content
Vous recevez une réponse JSON semblable à celle-ci:
Réponse
Si la requête aboutit, le corps de la réponse contient une nouvelle instance de
Operation
. - Une fois l'instance mise à jour à l'état
READY
, connectez-vous à l'instance et accédez aux données restaurées à partir de l'instantané Cloud SQL.
Étape suivante
- Se connecter à AlloyDB à l'aide d'une adresse IP publique
- Gérer vos données à l'aide d'AlloyDB Studio