Criar uma instância do cluster do Memorystore para Redis usando o Terraform

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

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

Para instruções sobre como autenticar o Terraform com o provedor Google Cloud , consulte Primeiros passos com o provedor Google Cloud

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. 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 para Redis Cluster
    Memorystore para Redis Cluster
  9. Configurar o Terraform para o Memorystore

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

    • A configuração do provedor Google Cloud .

    • Uma configuração de instância do Memorystore. Neste guia, é um cluster de 39 GB com três nós redis-highmem-medium 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 instância.
      • CLUSTER_ID é o ID escolhido da instância do cluster do Memorystore para Redis 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 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 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 e usada pelo cluster do Memorystore.
      • NETWORK_ID é o ID escolhido da rede criada neste exemplo e 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.

    Como se conectar à instância usando uma VM do Compute Engine

    Em seguida, conecte-se à instância do cluster do Memorystore para Redis 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 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
      

    Limpar

    Para evitar cobranças na sua conta do Google Cloud 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 criar várias redes VPC

    As seções desta página mostram exemplos de como criar uma instância do cluster do Memorystore para Redis 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