Memorystore for Redis Cluster-Instanz mit Terraform erstellen

In dieser Kurzanleitung erfahren Sie, wie Sie mit Terraform eine neue Memorystore for Redis Cluster-Instanz erstellen. Außerdem wird erklärt, wie Sie mithilfe von Telnet eine Verbindung zur Instanz herstellen.

In dieser Kurzanleitung wird davon ausgegangen, dass Sie eine neue Terraform-Datei erstellen, und enthält die Terraform-Ressource zum Einrichten des Google Cloud Anbieters. Die Schritte zum Authentifizieren Ihrer Terraform-Datei mit dem Google Cloud Anbieter werden jedoch ausgelassen.

Eine Anleitung zum Authentifizieren von Terraform mit dem Google Cloud Anbieter finden Sie unter Erste Schritte mit dem Google Cloud Anbieter

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Google CloudKonto haben, erstellen Sie ein Konto, um die Leistung unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  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. 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 role (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. Falls noch nicht geschehen, installieren Sie das Google Cloud SDK.

    Wählen Sie bei Aufforderung das Projekt aus, das Sie oben ausgewählt bzw. erstellt haben.

  7. Wenn Sie das Google Cloud SDK bereits installiert haben, aktualisieren Sie es.

    gcloud components update
  8. Aktivieren Sie die Memorystore for Redis Cluster API
    Memorystore for Redis Cluster

Terraform für Memorystore konfigurieren

In diesem Abschnitt finden Sie Beispiele für fünf Terraform-Ressourcen, die zum Erstellen einer Memorystore for Redis Cluster-Instanz erforderlich sind:

  • Die Google Cloud Anbieterkonfiguration.

  • Eine Memorystore-Instanzkonfiguration. In dieser Anleitung ist es ein 39-GB-Cluster mit drei redis-highmem-medium-Knoten in der Region us-central1.

  • Eine Richtlinie für Dienstverbindungen von Private Service Connect service connection policy.

  • Ein Subnetz für Ihre Instanz.

  • Ein Netzwerk für Ihre Instanz.

So fügen Sie diese Terraform-Ressourcen hinzu:

  1. Fügen Sie Ihrer Terraform-Konfigurationsdatei die folgenden Ressourcen hinzu:

    
    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
    }
    
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID ist die Projekt-ID Ihrer Instanz.
    • CLUSTER_ID ist die von Ihnen gewählte ID der Memorystore for Redis Cluster-Instanz, die Sie erstellen. Die ID muss zwischen 1 und 63 Zeichen lang sein und darf nur Kleinbuchstaben, Ziffern oder Bindestriche enthalten. Sie muss mit einem Kleinbuchstaben beginnen und mit einem Kleinbuchstaben oder einer Ziffer enden.
    • POLICY_NAME ist der von Ihnen gewählte Name für die Richtlinie für Dienstverbindungen von Private Service Connect für Ihr Projekt. Weitere Informationen zur Richtlinie für Dienstverbindungen finden Sie unter Netzwerke.
    • SUBNET_ID ist die von Ihnen gewählte ID des in diesem Beispiel erstellten Subnetzes, das vom Memorystore-Cluster verwendet wird.
    • NETWORK_ID ist die von Ihnen gewählte ID des in diesem Beispiel erstellten Netzwerks, das vom Memorystore-Cluster verwendet wird.

Terraform-Konfigurationsdatei bereitstellen

  1. Führen Sie terraform init aus.

  2. Führen Sie terraform plan aus.

  3. Führen Sie terraform apply aus.

Verbindung zu einer Instanz über eine Compute Engine-VM herstellen

Stellen Sie als Nächstes eine Verbindung zur neu erstellten Memorystore for Redis Cluster-Instanz her.

Sie können eine Verbindung zur Instanz über eine Compute Engine-VM herstellen, die das autorisierte Netzwerk der Instanz verwendet.

  1. Wenn Sie noch keine Compute Engine-VM haben, die dasselbe autorisierte Netzwerk wie Ihre Instanz verwendet, erstellen Sie eine VM und stellen Sie eine Verbindung zu ihr her: Folgen Sie dazu der Kurzanleitung: Linux-VM verwenden.

  2. Installieren Sie telnet mit apt-get:

    sudo apt-get install telnet
    
  3. Stellen Sie über das Terminal eine Telnet-Verbindung zur IP-Adresse der Instanz her und ersetzen Sie VARIABLES durch die entsprechenden Werte.

    telnet CLUSTER_DISCOVERY_ENDPOINT_IP_ADDRESS CLUSTER_DISCOVERY_ENDPOINT_PORT_NUMBER
    
  4. Geben Sie in der Telnet-Sitzung einige Redis-Befehle ein:

    Geben Sie Folgendes ein:

    PING
    

    Ergebnis:

    PONG
    

Bereinigen

Löschen Sie die Redis-Instanz so, um zu vermeiden, dass Ihrem Google Cloud Konto die in dieser Kurzanleitung verwendeten Ressourcen in Rechnung gestellt werden:

  1. Entfernen Sie die Ressource google_redis_instance aus der Terraform-Konfigurationsdatei.
  2. Führen Sie Terraform init, plan und apply aus, um die Redis-Ressource zu löschen.
  3. Löschen Sie alle Compute Engine-VMs, die Sie für diese Kurzanleitung erstellt haben.

Terraform zum Einrichten mehrerer VPC-Netzwerke konfigurieren

In den Abschnitten auf dieser Seite finden Sie Beispiele für das Erstellen einer Memorystore for Redis Cluster-Instanz und das Einrichten der Konnektivität in einem VPC-Netzwerk (Virtual Private Cloud). Eine Anleitung und Beispiele für das Einrichten der Konnektivität in mehreren VPC-Netzwerken mit Terraform finden Sie auf der Seite google_redis_cluster_user_created_connections.

Nächste Schritte