GSP922

Présentation
La récupération à un moment précis vous aide à récupérer l'état précédent d'une instance à un moment spécifique. Par exemple, en cas de perte de données due à une erreur, vous pouvez restaurer une base de données pour qu'elle revienne à l'état qu'elle avait avant que l'erreur se produise. Une récupération à un moment précis d'une instance existante n'est pas possible, car une instance est créée lors de l'opération. La nouvelle instance hérite des paramètres de l'instance source.
Dans cet atelier, vous allez configurer et tester la récupération à un moment précis pour une instance Cloud SQL pour PostgreSQL.
Objectifs de l'atelier
- Activer la récupération à un moment précis sur une instance Cloud SQL pour PostgreSQL
- Effectuer une récupération à un moment précis
- Vérifier que la base de données récupérée correspond à un état antérieur
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement.
Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :
- Le bouton "Ouvrir la console Google Cloud"
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
-
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
-
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Audience cible
Le contenu de cet atelier pratique s'adresse principalement aux administrateurs de bases de données PostgreSQL. Cet atelier est conçu pour permettre aux professionnels d'acquérir une expérience pratique de la configuration de ressources Google Cloud afin de prendre en charge PostgreSQL.
Tâche 1 : Activer les sauvegardes sur l'instance Cloud SQL pour PostgreSQL
Dans cette tâche, vous allez activer les sauvegardes planifiées sur une instance Cloud SQL pour PostgreSQL.
- Dans Cloud Shell, affichez les détails de l'instance :
export CLOUD_SQL_INSTANCE=postgres-orders
gcloud sql instances describe $CLOUD_SQL_INSTANCE
Si vous y êtes invité, cliquez sur le bouton Authorize (Autoriser).
-
Dans Cloud Shell, obtenez l'heure UTC actuelle au format 24 heures :
date +"%R"
-
Dans Cloud Shell, saisissez la commande suivante pour activer les sauvegardes planifiées, en remplaçant HH:MM
par une heure antérieure à celle affichée à l'étape précédente.
gcloud sql instances patch $CLOUD_SQL_INSTANCE \
--backup-start-time=HH:MM
Remarque : Pour cet atelier, vous devez absolument spécifier une heure de début de sauvegarde antérieure à celle affichée à l'étape précédente. En effet, vous ne voulez pas que la sauvegarde démarre pendant que vous exécutez l'atelier.
Par exemple, si la commande date indique que l'heure actuelle est 14:25
, vous pouvez remplacer HH:MM
par 13:25
ou même 12:00
. Vous devez vous assurer qu'il s'agit d'une heure valide au format 24 heures. Sinon, vous recevrez un message d'erreur indiquant que la requête est incorrecte.
- Confirmez les modifications. Notez le paramètre format, qui extrait uniquement les champs souhaités.
gcloud sql instances describe $CLOUD_SQL_INSTANCE --format 'value(settings.backupConfiguration)'
Vous obtenez alors une réponse semblable à ce qui suit. Elle indique que les sauvegardes sont définies pour une période de sept jours et qu'elles s'exécutent tous les jours à 14 h.
backupRetentionSettings={'retainedBackups': 7, 'retentionUnit': 'COUNT'}; enabled=True;kind=sql#backupConfiguration; startTime=14:00; transactionLogRetentionDays=7
Activer les sauvegardes sur l'instance Cloud SQL pour PostgreSQL
Tâche 2 : Activer et exécuter la récupération à un moment précis
Dans cette tâche, vous allez activer et configurer la récupération à un moment précis sur une instance Cloud SQL pour PostgreSQL. Une récupération à un moment précis d'une instance existante n'est pas possible, car une instance est créée lors de l'opération. La nouvelle instance hérite des paramètres de l'instance source.
Activer la récupération à un moment précis
Au cours de cette étape, vous allez activer la récupération à un moment précis.
- Dans Cloud Shell, activez la récupération à un moment précis :
gcloud sql instances patch $CLOUD_SQL_INSTANCE \
--enable-point-in-time-recovery \
--retained-transaction-log-days=1
L'exécution de cette commande prend une à deux minutes.
Modifier la base de données Cloud SQL pour PostgreSQL
À cette étape, vous allez ajouter une ligne à la table orders.distribution_centers
dans la base de données. Après la récupération à un moment précis, cette ligne ne devrait plus apparaître dans la base de données.
-
Dans la console Cloud, accédez au menu de navigation (
), puis cliquez sur Bases de données > SQL. Cliquez ensuite sur l'instance Cloud SQL nommée postgres-orders
.
-
Dans la console Cloud, sous la section Se connecter à cette instance
, cliquez sur Ouvrir Cloud Shell. Une commande est automatiquement insérée dans Cloud Shell.
-
Exécutez cette commande et saisissez le mot de passe supersecret!
lorsque vous y êtes invité. Une session psql démarre dans Cloud Shell.
-
Dans psql, passez à la base de données orders
:
\c orders
-
Lorsque vous y êtes invité, saisissez de nouveau le mot de passe supersecret!
.
-
Dans psql, obtenez le nombre de lignes de la table distribution_centers
:
SELECT COUNT(*) FROM distribution_centers;
Résultat :
orders=> SELECT COUNT(*) FROM distribution_centers;
count
-------
10
(1 row)
- Dans Cloud Shell, ouvrez un nouvel onglet (+) et obtenez l'heure UTC actuelle au format RFC 3339. Il s'agit du code temporel que vous utiliserez pour l'instance répliquée à un moment précis que vous allez créer lors de la prochaine tâche.
date --rfc-3339=seconds
À ce stade, vous devez attendre quelques instants pour vous assurer que les modifications que vous allez apporter à l'étape suivante seront appliquées après ce code temporel.
Remarque : Pour cet atelier, il est impératif que vous spécifiiez un code temporel après que la récupération à un moment précis a été activée (sinon, une sauvegarde réussie sera nécessaire comme point de départ), mais avant que l'instance source soit modifiée. Si vous ne le faites pas, les modifications apportées à l'instance source seront répliquées dans le clone, et le rollback ne sera pas évident.
- Dans psql, pour ajouter une ligne à la table
orders.distribution_centers
et obtenir le nouveau nombre de lignes, exécutez la commande suivante :
INSERT INTO distribution_centers VALUES(-80.1918,25.7617,'Miami FL',11);
SELECT COUNT(*) FROM distribution_centers;
Résultat :
orders=> SELECT COUNT(*) FROM distribution_centers;
count
-------
11
(1 row)
- Quittez psql :
\q
Effectuer une récupération à un moment précis
Au cours de cette étape, vous allez créer un clone de l'instance Cloud SQL postgres-orders
à un moment précis.
- Dans Cloud Shell, pour créer un clone à un moment précis, exécutez la commande suivante :
export NEW_INSTANCE_NAME=postgres-orders-pitr
gcloud sql instances clone $CLOUD_SQL_INSTANCE $NEW_INSTANCE_NAME \
--point-in-time 'TIMESTAMP'
Vous devez remplacer l'espace réservé TIMESTAMP par le code temporel exact affiché par la commande date
que vous avez utilisée précédemment dans le deuxième onglet Cloud Shell.
Le code temporel TIMESTAMP doit être au format RFC 3339 et dans le fuseau horaire UTC. Par exemple, '2021-11-01 15:00:00'. TIMESTAMP indique la date et l'heure souhaitées de récupération de l'état de la base de données. Elle doit être placée entre guillemets simples. L'autre variante au format RFC3339 est également acceptée : '2021-11-01T15:00:00.000Z'.
La création et la mise à disposition de l'instance répliquée peuvent prendre 10 minutes ou plus. En attendant, passez à la tâche suivante.
Activer et exécuter la récupération à un moment précis
Tâche 3 : Vérifier que la base de données a été restaurée au bon moment
Dans cette tâche, vous allez vérifier qu'une ligne de données ajoutée à la base de données d'origine après le code temporel de récupération à un moment précis n'apparaît pas dans la base de données clonée.
- Dans la console Cloud, accédez à la page Présentation. Ensuite, cliquez sur le fil d'Ariane Toutes les instances, puis sur l'instance Cloud SQL nommée
postgres-orders-pitr
.
Vous devez maintenant attendre que l'instance répliquée soit en ligne.
-
Dans la console Cloud, sous la section Se connecter à cette instance
, cliquez sur Ouvrir Cloud Shell. Une commande est automatiquement insérée dans Cloud Shell.
-
Exécutez cette commande et saisissez le mot de passe supersecret!
lorsque vous y êtes invité. Une session psql démarre dans Cloud Shell.
-
Dans psql, passez à la base de données orders
:
\c orders
-
Lorsque vous y êtes invité, saisissez de nouveau le mot de passe supersecret!
.
-
Dans psql, obtenez le nombre de lignes de la table distribution_centers
:
SELECT COUNT(*) FROM distribution_centers;
Résultat :
orders=> SELECT COUNT(*) FROM distribution_centers;
count
-------
10
(1 row)
La table distribution_centers
dans la nouvelle instance Cloud SQL pour PostgreSQL devrait contenir les 10 lignes qu'elle avait dans l'instance source au moment du clonage. Si votre requête affiche 11 lignes, vérifiez que vous vous êtes connecté à l'instance répliquée et non à l'instance d'origine.
La base de données clonée n'inclut pas les modifications apportées après le code temporel de récupération.
Félicitations !
Au cours de cet atelier, vous avez configuré et testé la récupération à un moment précis pour une instance Cloud SQL pour PostgreSQL.
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 23 avril 2024
Dernier test de l'atelier : 6 décembre 2023
Copyright 2025 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.