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. Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
  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 role (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 role (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. Instale o SDK Google Cloud, caso ainda não tenha feito isso.

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

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

    gcloud components update
  8. 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