Criar uma instância do Memorystore for Redis Cluster usando o Terraform

Este guia de início rápido mostra como usar o Terraform para criar uma nova instância do Memorystore for Redis Cluster. Ele também mostra como se conectar à instância usando o telnet.

Este guia de início rápido pressupõe que você está iniciando um novo arquivo do Terraform e inclui o recurso do Terraform para configurar o Google Cloud provedor. No entanto, ele omite as etapas para autenticar o arquivo do Terraform com o Google Cloud provedor.

Para instruções sobre como autenticar o Terraform com o Google Cloud provedor, consulte Introdução ao Google Cloud provedor

Antes de começar

  1. 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

  3. Instale o SDK Google Cloud, caso ainda não tenha feito isso.

    Quando solicitado, escolha o projeto que você selecionou ou criou acima.

  4. Se você já tiver o SDK Google Cloud instalado, atualize-o.

    gcloud components update
  5. Ativar a API do Memorystore for Redis Cluster
    Memorystore for Redis Cluster

Configurar o Terraform para o Memorystore

Esta seção mostra exemplos de cinco recursos do Terraform necessários para criar uma instância do Memorystore for Redis Cluster:

  • A configuração do Google Cloud provedor.

  • Uma configuração de instância do Memorystore. Neste guia, é um cluster de 39 GB com três redis-highmem-medium nós na região us-central1.

  • Uma política de conexão de serviço do Private Service Connect .

  • Uma sub-rede para sua instância.

  • Uma rede para sua instância.

As instruções para adicionar esses recursos do Terraform são as seguintes:

  1. Adicione os seguintes recursos ao seu arquivo de configuração do 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
    }
    
    

    Substitua:

    • PROJECT_ID é o ID do projeto da sua instância.
    • CLUSTER_ID é o ID escolhido da instância do Memorystore for Redis Cluster que você está criando. O ID precisa ter de 1 a 63 caracteres e usar apenas letras minúsculas, números ou hifens. Ele precisa começar e terminar com uma letra minúscula ou um número.
    • POLICY_NAME é o nome escolhido para a política de conexão de serviço do Private Service Connect do seu projeto. Para mais informações sobre a política de conexão de serviço, consulte Rede.
    • SUBNET_ID é o ID escolhido da sub-rede criada neste exemplo que é usada pelo cluster do Memorystore.
    • NETWORK_ID é o ID escolhido da rede criada neste exemplo que é usada pelo cluster do Memorystore.

Implantar o arquivo de configuração do Terraform

  1. Execute terraform init.

  2. Execute terraform plan.

  3. Execute terraform apply.

Conectar-se à instância de uma VM do Compute Engine

Em seguida, conecte-se à instância do Memorystore for Redis Cluster recém-criada.

É possível se conectar à instância de qualquer VM do Compute Engine que use a rede autorizada da instância.

  1. Se você ainda não tem uma VM do Compute Engine que usa a mesma rede autorizada que sua instância, crie uma e conecte-se a ela seguindo o Guia de início rápido sobre como usar uma VM do Linux.

  2. Instale telnet usando apt-get:

    sudo apt-get install telnet
    
  3. No terminal, use o telnet para acessar o endereço IP da instância, substituindo VARIABLES pelos valores apropriados.

    telnet CLUSTER_DISCOVERY_ENDPOINT_IP_ADDRESS CLUSTER_DISCOVERY_ENDPOINT_PORT_NUMBER
    
  4. Na sessão telnet, digite alguns comandos do Redis:

    Insira:

    PING
    

    Result:

    PONG
    

Liberar espaço

Para evitar cobranças na sua Google Cloud conta do pelos recursos usados neste guia de início rápido, exclua a instância do Redis seguindo estas etapas:

  1. Remova o recurso google_redis_instance do arquivo de configuração do Terraform.
  2. Execute o Terraform init, plan e apply para destruir o recurso Redis.
  3. Exclua as VMs do Compute Engine que você criou para este guia de início rápido.

Configurar o Terraform para configurar várias redes VPC

As seções desta página mostram exemplos de como criar uma instância do Memorystore for Redis Cluster e configurar a conectividade em uma rede de nuvem privada virtual (VPC). Para encontrar instruções e exemplos de como usar o Terraform para configurar a conectividade em várias redes VPC, consulte a página google_redis_cluster_user_created_connections.

A seguir