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
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.- Instale o SDK Google Cloud, caso ainda não tenha feito isso.
Quando solicitado, escolha o projeto que você selecionou ou criou.
Se você já tiver o SDK Google Cloud instalado, atualize-o.
gcloud components update
-
Ative a API Memorystore para Redis.
Memorystore para Redis - 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.
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:
- Administrador do Cloud Memorystore para Redis (
roles/redis.admin) - Administrador de instâncias do Compute (v1) (
roles/compute.instanceAdmin.v1) - Usuário da conta de serviço (
roles/iam.serviceAccountUser)
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.
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" }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}" }Execute o comando
terraform init.Execute o comando
terraform plane revise a instância a ser criada.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.
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.
Use
apt-getpara instalartelnet:sudo apt-get install telnetNo terminal, use o telnet para acessar 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
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.
- Remova o recurso
google_redis_instancedo arquivo de configuração do Terraform. - Para excluir o recurso, execute os comandos
terraform init,terraform planeterraform apply. - Opcional. Se você criou uma VM do Compute Engine para este guia de início rápido, exclua ela.
A seguir
- Saiba mais sobre como criar e gerenciar instâncias.
- Conheça outras maneiras de se conectar à sua instância do Redis.
- Saiba mais sobre as características de uma instância do Redis.