Cette page explique comment utiliser la réplication interrégionale en créant et en gérant des instances secondaires.
Pour obtenir une présentation du concept de réplication interrégionale, consultez la section À propos de la réplication interrégionale.
Avant de commencer
Avant de commencer à utiliser la réplication interrégionale pour Memorystore pour Valkey, vérifiez les points suivants:
Vous avez installé gcloud CLI version 488.0.0 ou ultérieure. Pour déterminer la dernière version de votre gcloud CLI, utilisez la commande
gcloud components update
.Vous disposez d'une stratégie de réseau de service dans la région où vous souhaitez que vos instances secondaires se trouvent. Pour en savoir plus sur les règles réseau de service, consultez la section Mise en réseau.
Créer une instance secondaire
Lorsque vous créez une instance secondaire, Memorystore pour Valkey copie et applique certains paramètres de l'instance principale en tant que paramètres d'instance secondaire. Pour en savoir plus, consultez la section Paramètres d'instance.
Pour créer une instance Memorystore pour Valkey secondaire, utilisez la commande gcloud
memorystore instances create
:
gcloud
gcloud memorystore instances create SECONDARY_INSTANCE_ID \ --project=PROJECT_ID \ --location=SECONDARY_REGION_NAME \ --cross-instance-replication-config-role=secondary \ --psc-auto-connections=network=NETWORK,projectId=PROJECT_ID \ --primary-instance=PRIMARY_INSTANCE_RESOURCE_PATH
Remplacez les éléments suivants :
- SECONDARY_INSTANCE_ID: ID de l'instance secondaire que vous créez. L'ID doit comporter entre 1 et 63 caractères et ne contenir que des lettres minuscules, des chiffres ou des traits d'union. Il doit commencer par une lettre minuscule et se terminer par une lettre minuscule ou un chiffre.
- PROJECT_ID: ID du projet dans lequel vous souhaitez créer l'instance secondaire. Il s'agit du même projet que celui où se trouve votre instance principale.
- SECONDARY_REGION_NAME: région dans laquelle vous souhaitez placer l'instance secondaire.
- NETWORK: réseau cloud privé virtuel utilisé pour créer votre instance. Il doit respecter le format suivant:
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID
. L'ID de réseau doit correspondre à celui utilisé par la règle de connexion de service. Sinon, l'opération de création échoue. - PRIMARY_INSTANCE_RESOURCE_PATH: chemin d'accès à votre instance principale. Exemple :
projects/my-project/locations/us-central1/instances/my-primary-instance
. Vous pouvez choisir n'importe quelle instance de votre projet comme instance principale, à condition qu'elle ne soit pas une instance secondaire.
Exemple :
gcloud memorystore instances create my-secondary-instance \ --project=my-project \ --location=us-central1 \ --cross-instance-replication-config-role=secondary \ --psc-auto-connections=network=projects/my-project/global/networks/default,projectId=my-project \ --primary-instance=projects/my-project/locations/us-central1/instances/my-primary-instance
Afficher une instance secondaire
Cette section vous explique comment afficher des informations sur votre instance secondaire, y compris un champ d'appartenance qui liste les instances principales et secondaires du groupe de réplication.
Pour afficher des informations sur une instance secondaire, utilisez la commande gcloud memorystore instances describe
.
gcloud
gcloud memorystore instances describe SECONDARY_INSTANCE_ID \ --project=PROJECT_ID \ --location=SECONDARY_REGION_NAME
Remplacez les éléments suivants :
- SECONDARY_INSTANCE_ID: ID de l'instance secondaire
- PROJECT_ID: ID du projet contenant l'instance secondaire
- SECONDARY_REGION_NAME: région où se trouve l'instance secondaire
Effectuer une commutation
Le basculement vous permet d'inverser les rôles de vos instances principale et secondaire.
Pour effectuer un basculement, utilisez la commande gcloud memorystore instances update
.
gcloud
gcloud memorystore instances update SECONDARY_INSTANCE_ID \ --project=PROJECT_ID \ --location=SECONDARY_REGION_NAME \ --clear-primary-instance \ --cross-instance-replication-config-role=primary \ --cross-instance-replication-config-secondary-instances=[instance=SECONDARY_INSTANCE_RESOURCE_PATH]
Remplacez les éléments suivants :
- SECONDARY_INSTANCE_ID: ID de l'instance secondaire que vous souhaitez promouvoir en instance principale en effectuant le basculement.
- PROJECT_ID: ID du projet contenant l'instance secondaire.
- SECONDARY_REGION_NAME: région dans laquelle se trouve l'instance secondaire
SECONDARY_INSTANCE_RESOURCE_PATH: chemin d'accès à votre instance secondaire. Exemple :
projects/my-project/locations/us-central1/instances/my-secondary-instance
.Si vous disposez de plusieurs instances secondaires, séparez-les par une virgule. Exemple :
[instance=projects/my-project/locations/us-central1/instances/my-first-secondary-instance,instance=projects/my-project/locations/europe-west1/instances/my-second-secondary-instance]
.
Supposons que les instances suivantes soient contenues dans le projet my-project
:
instance-1
: cette instance principale se trouve dans la régionus-east1
.instance-2
: cette instance secondaire se trouve dans la régionasia-east1
.instance-3
: cette instance secondaire se trouve dans la régionsouthamerica-east1
.
Vous souhaitez inverser les rôles de instance-1
et instance-2
afin que instance-2
devienne la nouvelle instance principale et que instance-1
devienne une instance secondaire.
Pour ce faire, utilisez le code suivant:
gcloud memorystore instances update instance-2 \ --project=my-project \ --location=asia-east1 \ --clear-primary-instance \ --cross-instance-replication-config-role=primary \ --cross-instance-replication-config-secondary-instances=[instance=projects/my-project/locations/us-east1/instances/instance-1,instance=projects/my-project/locations/southamerica-east1/instances/instance-3]
Dissocier des instances secondaires
Si vous détachez les instances secondaires de l'instance principale, elles deviennent des instances indépendantes et entièrement fonctionnelles qui permettent à la fois les lectures et les écritures. Pour en savoir plus, consultez Gérer la réplication interrégionale.
Les deux options de cette section ont la même tâche : dissocier les instances secondaires de l'instance principale. Pour savoir quelle option utiliser, tenez compte des points suivants:
- Pour dissocier une seule instance secondaire de l'instance principale, utilisez l'option 1.
- Pour dissocier plusieurs instances secondaires de l'instance principale ou pour dissocier des instances secondaires indisponibles, utilisez l'option 2.
Dissocier une instance secondaire (option 1)
Pour dissocier une instance secondaire de l'instance principale, utilisez la commande gcloud memorystore instances update
.
gcloud
gcloud memorystore instances update SECONDARY_INSTANCE_ID \ --project=PROJECT_ID \ --location=SECONDARY_REGION_NAME \ --cross-instance-replication-config-role=none \ --clear-primary-instance
Remplacez les éléments suivants :
- SECONDARY_INSTANCE_ID: ID de l'instance secondaire que vous souhaitez dissocier
- PROJECT_ID: ID du projet contenant l'instance secondaire
- SECONDARY_REGION_NAME: région où se trouve l'instance secondaire
Dissocier les instances secondaires (option 2)
Vous pouvez également utiliser la commande gcloud memorystore instances update
pour dissocier plusieurs instances secondaires de l'instance principale ou pour dissocier des instances secondaires indisponibles.
gcloud
gcloud memorystore instances update PRIMARY_INSTANCE_ID \ --project=PROJECT_ID \ --location=PRIMARY_REGION_NAME \ --remove-cross-instance-replication-config-secondary-instances=[instance=SECONDARY_INSTANCES] \ --cross-instance-replication-config-role=none
Remplacez les éléments suivants :
- PRIMARY_INSTANCE_ID: ID de l'instance principale.
- PROJECT_ID: ID du projet contenant les instances secondaires.
- PRIMARY_REGION_NAME: région où se trouve l'instance principale.
- SECONDARY_INSTANCES: instances secondaires à dissocier. Vous pouvez dissocier une ou plusieurs instances. Pour dissocier plusieurs instances, utilisez une liste séparée par une virgule. Toutes les instances secondaires que vous spécifiez doivent utiliser le format suivant:
projects/PROJECT_ID/locations/SECONDARY_REGION_NAME/instances/INSTANCE_ID
.
Exemple :
gcloud memorystore instances update my-primary-instance \ --project=my-project \ --location=us-central1 \ --remove-cross-instance-replication-config-secondary-instances=[instance=projects/my-project/locations/us-west4/instances/my-secondary-instance-1,instance=projects/my-project/locations/asia-southeast2/instances/my-secondary-instance-2] \ --cross-instance-replication-config-role=none
Vous pouvez également dissocier des instances secondaires de l'instance principale en spécifiant une liste d'instances que vous ne souhaitez pas dissocier. Memorystore pour Valkey détache toutes les instances que vous n'incluez pas dans cette liste.
Supposons que vous disposiez des instances secondaires suivantes:
instance-1
: cette instance se trouve dans la régionus-east1
.instance-2
: cette instance se trouve dans la régionasia-east1
.
Vous souhaitez dissocier les deux instances secondaires de my-primary-instance
. Cette instance principale se trouve dans la région us-central1
et est contenue dans le projet my-project
.
Pour dissocier les instances secondaires, utilisez le code suivant:
gcloud memorystore instances update my-primary-instance \ --project=my-project \ --location=us-central1 \ --cross-instance-replication-config-secondary-instances=[] --cross-instance-replication-config-role=none
Dans cet exemple, comme la valeur []
nulle est attribuée au paramètre --cross-instance-replication-config-secondary-instances
, Memorystore for Valkey détache toutes les instances secondaires de l'instance principale.
Mettre à jour les paramètres de l'instance
Lorsque vous mettez à jour les paramètres de votre instance Memorystore for Firebase, vous ne pouvez modifier certains paramètres que sur l'instance principale. Memorystore pour Valkey synchronise automatiquement ces modifications avec l'instance secondaire.
Vous pouvez modifier d'autres paramètres des instances principales et secondaires indépendamment. Memorystore pour Valkey applique ces modifications localement et ne les synchronise pas avec les autres instances.
Supprimer des instances qui utilisent la réplication interrégionale
Cette section explique comment supprimer les instances principales et secondaires qui utilisent la réplication interrégionale.
Supprimer des instances principales
Avant de pouvoir supprimer une instance principale, vous devez dissocier ou supprimer toutes les instances secondaires. Supprimez ensuite l'instance principale.
Pour éviter toute suppression accidentelle, vous ne pouvez pas utiliser une seule commande pour supprimer les instances principales et secondaires.
Supprimer des instances secondaires
Pour supprimer des instances secondaires, suivez les instructions de la section Supprimer des instances, en remplaçant INSTANCE par l'ID de votre instance secondaire.