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

Saiba como criar uma instância do Memorystore para Redis, conectar-se a ela e excluí-la.

Neste guia de início rápido, usamos o provedor do Google Cloud Platform para o Terraform.

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

    Go to project selector

  3. Se este guia estiver usando um projeto atual, verifique se você tem as permissões necessárias para concluir o guia. Se você criou um projeto, já tem as permissões necessárias.

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

  5. Enable the Memorystore for Redis API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. 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

  7. Se este guia estiver usando um projeto atual, verifique se você tem as permissões necessárias para concluir o guia. Se você criou um projeto, já tem as permissões necessárias.

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

  9. Enable the Memorystore for Redis API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

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

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

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

    gcloud components update
  12. Ative a API Memorystore para Redis.
    Memorystore para Redis
  13. Tenha um arquivo do Terraform ao qual você possa adicionar o recurso Memorystore. Para instruções sobre como configurar o Terraform com o Google Cloud, consulte Primeiros passos com o provedor do Google Cloud.
  14. Funções exigidas

    Para receber as permissões necessárias para criar uma instância do Memorystore para Redis, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

    Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

Criar uma instância do Memorystore para Redis

Nesta seção, você vai criar uma instância de 2 GB do Memorystore para Redis localizada na região us-central1 e no nível Básico. Para mais informações sobre esses níveis, consulte Níveis dos recursos do Redis.

  1. Adicione o seguinte recurso ao seu arquivo de configuração do Terraform:

    resource "google_redis_instance" "my_memorystore_redis_instance" {
      name           = "myinstance"
      tier           = "BASIC"
      memory_size_gb = 2
      region         = "us-central1"
      redis_version  = "REDIS_6_X"
    }
    
  2. Adicione o seguinte valor de saída ao arquivo de configuração do Terraform para imprimir o endereço IP da instância. Você precisa desse endereço para se conectar à instância.

    output "host" {
     description = "The IP address of the instance."
     value = "${google_redis_instance.my_memorystore_redis_instance.host}"
    }
    
  3. Execute o comando terraform init.

  4. Execute o comando terraform plan e revise a instância a ser criada.

  5. Para criar a instância, execute o comando terraform apply.

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

É possível se conectar à instância do Memorystore para Redis de qualquer VM do Compute Engine que use a rede autorizada da instância com um endereço IP RFC 1918 compatível.

  1. Se você não tiver uma VM do Compute Engine que use a mesma rede autorizada da sua instância, crie uma e conecte-se a ela usando SSH. Para fazer isso, siga as etapas em Criar uma instância de VM do Linux no Compute Engine.

  2. Use apt-get para instalar telnet:

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

    telnet INSTANCE_IP_ADDRESS 6379
    

    Se você conseguir se conectar à instância, o comando vai retornar este resultado:

    Trying INSTANCE_IP_ADDRESS…
    Connected to INSTANCE_IP_ADDRESS
    
  4. Na sessão telnet, digite alguns comandos do Redis:

    Insira:

    PING
    

    Result:

    PONG
    

    Enter

    SET HELLO WORLD
    

    Result:

    +OK
    

    Insira o seguinte:

    GET HELLO
    

    Result:

    $5
    WORLD
    

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.

  1. Remova o recurso google_redis_instance do arquivo de configuração do Terraform.
  2. Para excluir o recurso, execute os comandos terraform init, terraform plan e terraform apply.
  3. Opcional. Se você criou uma VM do Compute Engine para este guia de início rápido, exclua ela.

A seguir