Créer une instance Memorystore pour Redis Cluster avec Terraform

Ce guide de démarrage rapide explique comment utiliser Terraform pour créer une instance Memorystore pour Redis Cluster. Elle vous explique également comment vous connecter à l'instance à l'aide de telnet.

Ce guide de démarrage rapide suppose que vous commencez un nouveau fichier Terraform et inclut la ressource Terraform pour configurer le fournisseur Google Cloud . Toutefois, il omet les étapes d'authentification de votre fichier Terraform avec le fournisseur Google Cloud .

Pour savoir comment authentifier Terraform avec le fournisseur Google Cloud , consultez Premiers pas avec le fournisseur Google Cloud .

Avant de commencer

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Si ce n'est pas déjà fait, installez le SDK Google Cloud.

    Lorsque vous y êtes invité, choisissez le projet que vous avez sélectionné ou créé ci-dessus.

  7. Si Google Cloud SDK est déjà installé, mettez-le à jour.

    gcloud components update
  8. Activez l'API Memorystore pour Redis Cluster
    Memorystore pour Redis Cluster
  9. Configurer Terraform pour Memorystore

    Cette section présente des exemples de cinq ressources Terraform nécessaires pour créer une instance de cluster Memorystore pour Redis :

    • Configuration du fournisseur Google Cloud .

    • Configuration d'une instance Memorystore. Dans ce guide, il s'agit d'un cluster de 39 Go avec trois nœuds redis-highmem-medium dans la région us-central1.

    • Une règle de connexion de service Private Service Connect.

    • Un sous-réseau pour votre instance.

    • Un réseau pour votre instance.

    Voici comment ajouter ces ressources Terraform :

    1. Ajoutez les ressources suivantes à votre fichier de configuration Terraform :

      
      provider "google" {
        project = "PROJECT_ID"
      }
      
      resource "google_redis_cluster" "cluster-ha" {
        name           = "CLUSTER_ID"
        shard_count    = 3
        psc_configs {
          network = google_compute_network.producer_net.id
        }
        region = "us-central1"
        replica_count = 1
        depends_on = [
          google_network_connectivity_service_connection_policy.default
        ]
      
      }
      
      resource "google_network_connectivity_service_connection_policy" "default" {
        name = "POLICY_NAME"
        location = "us-central1"
        service_class = "gcp-memorystore-redis"
        description   = "my basic service connection policy"
        network = google_compute_network.producer_net.id
        psc_config {
          subnetworks = [google_compute_subnetwork.producer_subnet.id]
        }
      }
      
      resource "google_compute_subnetwork" "producer_subnet" {
        name          = "SUBNET_ID"
        ip_cidr_range = "10.0.0.248/29"
        region        = "us-central1"
        network       = google_compute_network.producer_net.id
      }
      
      resource "google_compute_network" "producer_net" {
        name                    = "NETWORK_ID"
        auto_create_subnetworks = false
      }
      
      

      Remplacez les éléments suivants :

      • PROJECT_ID est l'ID de projet de votre instance.
      • CLUSTER_ID correspond à l'ID que vous avez choisi pour l'instance Memorystore pour Redis Cluster 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.
      • POLICY_NAME est le nom que vous avez choisi pour la règle de connexion au service Private Service Connect pour votre projet. Pour en savoir plus sur la règle de connexion au service, consultez Mise en réseau.
      • SUBNET_ID correspond à l'ID de sous-réseau que vous avez choisi et créé dans cet exemple, et qui est utilisé par le cluster Memorystore.
      • NETWORK_ID correspond à l'ID de réseau que vous avez choisi et créé dans cet exemple, et qui est utilisé par le cluster Memorystore.

    Déployer le fichier de configuration Terraform

    1. Exécutez terraform init.

    2. Exécutez terraform plan.

    3. Exécutez terraform apply.

    Se connecter à l'instance à partir d'une VM Compute Engine

    Connectez-vous ensuite à l'instance Memorystore pour Redis Cluster que vous venez de créer.

    Vous pouvez vous connecter à l'instance depuis n'importe quelle VM Compute Engine utilisant le réseau autorisé de l'instance.

    1. Si vous ne disposez pas encore d'une VM Compute Engine utilisant le même réseau autorisé que votre instance, créez-en une et connectez-vous en suivant les instructions de la page Démarrage rapide à l'aide d'une VM Linux.

    2. Installez telnet à l'aide de apt-get :

      sudo apt-get install telnet
      
    3. Depuis le terminal, connectez telnet à l'adresse IP de l'instance, en remplaçant les VARIABLES par les valeurs appropriées.

      telnet CLUSTER_DISCOVERY_ENDPOINT_IP_ADDRESS CLUSTER_DISCOVERY_ENDPOINT_PORT_NUMBER
      
    4. Dans la session telnet, renseignez quelques commandes Redis. Exemple :

      Saisissez le code suivant :

      PING
      

      Résultat :

      PONG
      

    Effectuer un nettoyage

    Pour éviter que les ressources utilisées dans ce guide de démarrage rapide ne soient facturées sur votre compte Google Cloud , supprimez l'instance Redis en procédant comme suit :

    1. Supprimez la ressource google_redis_instance de votre fichier de configuration Terraform.
    2. Exécutez les commandes Terraform init, plan et apply pour détruire la ressource Redis.
    3. Supprimez les VM Compute Engine que vous avez créées pour ce démarrage rapide.

    Configurer Terraform pour configurer plusieurs réseaux VPC

    Les sections de cette page présentent des exemples de création d'une instance Memorystore pour Redis Cluster et de configuration de la connectivité dans un réseau de cloud privé virtuel (VPC). Pour obtenir des instructions et des exemples d'utilisation de Terraform pour configurer la connectivité dans plusieurs réseaux VPC, consultez la page google_redis_cluster_user_created_connections.

Étapes suivantes