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 fornecedor Google Cloud .

Para ver instruções sobre como autenticar o Terraform com o Google Cloud fornecedor, consulte o artigo Começar a usar o Google Cloud fornecedor

Antes de começar

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

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

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

    gcloud components update
  8. Ative a API Memorystore for Redis Cluster
    Memorystore for Redis Cluster
  9. 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 de 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.

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

    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.

    Estabelecer ligação à 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 com o apt-get:

      sudo apt-get install telnet
      
    3. A partir do 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 for 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?