Crea una instancia de Memorystore for Redis Cluster con Terraform

En esta guía de inicio rápido, se muestra cómo usar Terraform para crear una instancia nueva de Memorystore para Redis Cluster. También se muestra cómo conectarse a la instancia con Telnet.

En esta guía de inicio rápido, se supone que comenzarás un archivo de Terraform nuevo y se incluye el recurso de Terraform para configurar el proveedor Google Cloud . Sin embargo, omite los pasos para autenticar tu archivo de Terraform con el proveedor Google Cloud .

Para obtener instrucciones sobre cómo autenticar Terraform con el proveedor de Google Cloud , consulta Comienza a usar el proveedor de Google Cloud .

Antes de comenzar

  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 aún no lo hiciste, instala el SDK de Google Cloud.

    Cuando se te solicite, elige el proyecto que seleccionaste o creaste anteriormente.

  7. Si ya tienes instalado el SDK de Google Cloud, actualízalo.

    gcloud components update
  8. Habilita la API de Memorystore for Redis Cluster.
    Memorystore for Redis Cluster
  9. Configura Terraform para Memorystore

    En esta sección, se muestran ejemplos de cinco recursos de Terraform necesarios para crear una instancia de Memorystore para Redis Cluster:

    • Es la configuración del proveedor Google Cloud .

    • Es la configuración de una instancia de Memorystore. En esta guía, es un clúster de 39 GB con tres nodos redis-highmem-medium en la región us-central1.

    • Una política de conexión de servicio de Private Service Connect

    • Una subred para tu instancia

    • Una red para tu instancia.

    Las instrucciones para agregar estos recursos de Terraform son las siguientes:

    1. Agrega los siguientes recursos al archivo de configuración de 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
      }
      
      

      Reemplaza lo siguiente:

      • PROJECT_ID es el ID del proyecto de tu instancia.
      • CLUSTER_ID es el ID que elegiste para la instancia de Memorystore para Redis Cluster que estás creando. El ID debe tener entre 1 y 63 caracteres, y solo debe usar letras en minúscula, números o guiones. Debe comenzar con una letra minúscula y terminar con una letra minúscula o un número.
      • POLICY_NAME es el nombre que elegiste para la política de conexión de servicio de Private Service Connect de tu proyecto. Para obtener más información sobre la política de conexión de servicio, consulta Herramientas de redes.
      • SUBNET_ID es el ID que elegiste para la subred creada en este ejemplo y que usa el clúster de Memorystore.
      • NETWORK_ID es el ID que elegiste para la red creada en este ejemplo y que usa el clúster de Memorystore.

    Implementa el archivo de configuración de Terraform

    1. Ejecuta terraform init.

    2. Ejecuta terraform plan.

    3. Ejecuta terraform apply.

    Conéctate a la instancia desde una VM de Compute Engine

    A continuación, conéctate a la instancia de Memorystore for Redis Cluster recién creada.

    Puedes conectarte a la instancia desde cualquier VM de Compute Engine que use la red autorizada de la instancia.

    1. Si aún no tienes una VM de Compute Engine que use la misma red autorizada que tu instancia, crea una y conéctate a ella siguiendo la Guía de inicio rápido sobre el uso de una VM de Linux.

    2. Instala telnet mediante apt-get:

      sudo apt-get install telnet
      
    3. Desde la terminal, ejecuta telnet a la dirección IP de la instancia y reemplaza VARIABLES por los valores adecuados.

      telnet CLUSTER_DISCOVERY_ENDPOINT_IP_ADDRESS CLUSTER_DISCOVERY_ENDPOINT_PORT_NUMBER
      
    4. En la sesión de telnet, ingresa algunos comandos de Redis:

      Ingrese:

      PING
      

      Resultado:

      PONG
      

    Limpia

    Para evitar que se apliquen cargos a tu Google Cloud cuenta por los recursos que usaste en esta guía de inicio rápido, borra la instancia de Redis siguiendo estos pasos:

    1. Quita el recurso google_redis_instance de tu archivo de configuración de Terraform.
    2. Ejecuta Terraform init, plan y apply para destruir el recurso de Redis.
    3. Borra las VMs de Compute Engine que creaste para esta guía de inicio rápido.

    Configura Terraform para establecer varias redes de VPC

    En las secciones de esta página, se muestran ejemplos de cómo crear una instancia de Memorystore para Redis Cluster y configurar la conectividad en una red de nube privada virtual (VPC). Para encontrar instrucciones y ejemplos sobre cómo usar Terraform para configurar la conectividad en varias redes de VPC, consulta la página google_redis_cluster_user_created_connections.

¿Qué sigue?