Crie uma instância do Memorystore for Redis Cluster com o Terraform

Este início rápido mostra como usar o Terraform para criar uma nova instância do Memorystore for Redis Cluster. Também mostra como estabelecer ligação à instância através do telnet.

Este início rápido pressupõe que está a iniciar um novo ficheiro do Terraform e inclui o recurso do Terraform para configurar o fornecedor Google Cloud . No entanto, omite os passos para autenticar o seu ficheiro Terraform com o Google Cloud fornecedor.

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

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. Se ainda não o fez, instale o SDK Google Cloud.

    Quando lhe for pedido, escolha o projeto que selecionou ou criou acima.

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

    gcloud components update
  5. Ative a API Memorystore for Redis Cluster
    Memorystore for Redis Cluster
  6. Configure o Terraform para o Memorystore

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

    • A Google Cloud configuração do fornecedor.

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

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

    • Uma sub-rede para a sua instância.

    • Uma rede para a sua instância.

    Seguem-se as instruções para adicionar estes recursos do Terraform:

    1. Adicione os seguintes recursos ao seu ficheiro 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 o seguinte:

      • PROJECT_ID é o ID do projeto da sua instância.
      • CLUSTER_ID é o ID escolhido da instância do Memorystore for Redis Cluster que está a criar. O ID tem de ter entre 1 e 63 carateres e usar apenas letras minúsculas, números ou hífenes. Tem de começar com uma letra minúscula e terminar com uma letra minúscula ou um número.
      • POLICY_NAME é o nome escolhido para a política de ligação do serviço Private Service Connect para o seu projeto. Para mais informações sobre a política de ligação de serviços, consulte a secção Redes.
      • 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 é usado pelo cluster do Memorystore.

    Implemente o ficheiro de configuração do Terraform

    1. Corrida terraform init.

    2. Corrida terraform plan.

    3. Corrida terraform apply.

    Ligue-se à instância a partir de uma VM do Compute Engine

    Em seguida, estabeleça ligação à instância do Memorystore for Redis Cluster recém-criada.

    Pode estabelecer ligação à instância a partir de qualquer VM do Compute Engine que use a rede autorizada da instância.

    1. Se ainda não tiver uma VM do Compute Engine que use a mesma rede autorizada que a sua instância, crie uma e ligue-se a ela seguindo o Início rápido com uma VM Linux.

    2. Instale o telnet através do apt-get:

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

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

      Introduza:

      PING
      

      Resultado:

      PONG
      

    Limpar

    Para evitar incorrer em custos na sua Google Cloud conta pelos recursos usados neste início rápido, elimine a instância do Redis através dos seguintes passos:

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

    Configure o Terraform para configurar várias redes VPC

    As secções desta página mostram exemplos de criação de uma instância do Memorystore para Redis Cluster e configuração da conetividade numa rede da nuvem virtual privada (VPC). Para encontrar instruções e exemplos de utilização do Terraform para configurar a conetividade em várias redes VPC, consulte a página google_redis_cluster_user_created_connections.

O que se segue?