Primäre Instanz erstellen

Auf dieser Seite wird beschrieben, wie Sie die primäre Instanz in einem AlloyDB-Cluster erstellen.

Hinweise

  • Für das von Ihnen verwendete Google Cloud-Projekt muss der Zugriff auf AlloyDB aktiviert sein.
  • Sie benötigen eine der folgenden IAM-Rollen im verwendeten Google Cloud-Projekt:
    • roles/alloydb.admin (die vordefinierte IAM-Rolle „AlloyDB Admin“)
    • roles/owner (die einfache IAM-Rolle „Inhaber“)
    • roles/editor (einfache IAM-Rolle „Bearbeiter“)

    Wenn Sie keine dieser Rollen haben, wenden Sie sich an den Administrator Ihrer Organisation, um Zugriff anzufordern.

Primäre AlloyDB-Instanz erstellen

Console

  1. Rufen Sie die Seite Cluster auf.

    Zu den Clustern

  2. Klicken Sie in der Spalte Ressourcenname auf einen Cluster.

  3. Klicken Sie auf der Seite Übersicht unter Instanzen in Ihrem Cluster auf Primäre Instanz erstellen.

  4. Konfigurieren Sie die primäre Instanz:

    1. Geben Sie im Feld Instanz-ID eine ID für Ihre primäre Instanz ein.
    2. Wählen Sie unter Zonale Verfügbarkeit eine der folgenden Optionen aus:
      1. Wenn Sie eine hochverfügbare Produktionsinstanz mit automatischem Failover erstellen möchten, wählen Sie Mehrere Zonen (Hochverfügbar) aus.
      2. Wenn Sie eine einfache Instanz erstellen möchten, die nicht hochverfügbar sein muss, wählen Sie Einzelne Zone aus.
    3. Wählen Sie einen Maschinentyp aus.
    4. Optional: Wenn Sie benutzerdefinierte Flags für Ihre Instanz festlegen möchten, maximieren Sie Erweiterte Konfigurationsoptionen und gehen Sie für jedes Flag so vor:
      1. Klicken Sie auf Flag hinzufügen.
      2. Wählen Sie in der Liste Flag für neue Datenbank ein Flag aus.
      3. Geben Sie einen Wert für das Flag an.
      4. Klicken Sie auf Fertig.
    5. Optional: Wenn Sie SSL- oder Connectoranforderungen für die Instanz konfigurieren möchten, maximieren Sie Erweiterte Konfigurationsoptionen und gehen Sie dann so vor:
      1. Standardmäßig müssen für alle Verbindungen zu AlloyDB-Instanzen SSL-Verschlüsselung verwendet werden. Wenn Sie Verbindungen ohne SSL zulassen möchten, entfernen Sie das Häkchen aus dem Kästchen Nur SSL-Verbindungen zulassen.
      2. Wenn Sie festlegen möchten, dass alle Datenbankverbindungen zur Instanz den AlloyDB Auth Proxy oder die sicheren Connector-Bibliotheken von Google verwenden müssen, wählen Sie Connectors erforderlich machen aus.
    6. Klicken Sie auf Instanz erstellen.

gcloud

Wenn Sie die gcloud CLI verwenden möchten, können Sie die Google Cloud CLI installieren und initialisieren oder Cloud Shell verwenden.

Verwenden Sie den Befehl gcloud alloydb instances create, um eine primäre Instanz zu erstellen.

gcloud alloydb instances create INSTANCE_ID \
    --instance-type=PRIMARY \
    --cpu-count=CPU_COUNT \
    --availability-type=AVAILABILITY \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID
  • INSTANCE_ID: Die ID der Instanz, die Sie erstellen. Sie muss mit einem Kleinbuchstaben beginnen und darf Kleinbuchstaben, Ziffern und Bindestriche enthalten.
  • CPU_COUNT: Die Anzahl der vCPUs, die Sie für die Instanz benötigen. Gültige Werte sind:
    • 2: 2 vCPUs, 16 GB RAM
    • 4: 4 vCPUs, 32 GB RAM
    • 8: 8 vCPUs, 64 GB RAM
    • 16: 16 vCPUs, 128 GB RAM
    • 32: 32 vCPUs, 256 GB RAM
    • 64: 64 vCPUs, 512 GB RAM
    • 96: 96 vCPUs, 768 GB RAM
    • 128: 128 vCPUs, 864 GB RAM
  • AVAILABILITY: Ob diese Instanz hochverfügbar (HA) sein soll, mit Knoten in mehreren Zonen. Zulässige Werte:
    • REGIONAL: Erstellt eine HA-Instanz mit separaten aktiven und Standby-Knoten und automatischem Failover zwischen ihnen. Dies ist der Standardwert, der für Produktionsumgebungen geeignet ist.
    • ZONAL: Erstellt eine einfache Instanz mit nur einem Knoten und ohne automatisches Failover.
  • REGION_ID: Die Region, in der die Instanz bereitgestellt werden soll. Beispiel: us-central1.
  • CLUSTER_ID: Die ID des Clusters, in dem die Instanz platziert werden soll.
  • PROJECT_ID: Die ID des Projekts, in dem sich der Cluster befindet.

Bei neuen Instanzen ist standardmäßig für alle Verbindungen die SSL-Verschlüsselung erforderlich. Wenn Sie nicht-SSL-Verbindungen zur Instanz zulassen möchten, fügen Sie dem Befehl das Flag --ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED hinzu:

gcloud alloydb instances create INSTANCE_ID \
  --instance-type=PRIMARY \
  --cpu-count=CPU_COUNT \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID \
  --ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED

Wenn Sie eine sichere Verbindung zwischen dem Client und einer AlloyDB-Instanz über den Auth-Proxy oder andere Anwendungen erzwingen möchten, die von Google bereitgestellte Connector-Bibliotheken verwenden, fügen Sie dem Befehl das Flag --require-connectors hinzu:

gcloud alloydb instances create INSTANCE_ID \
  --instance-type=PRIMARY \
  --cpu-count=CPU_COUNT \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID \
  --require-connectors

Wenn Sie eine primäre Instanz für einen Cluster mit Private Service Connect erstellen möchten, fügen Sie das Flag --allowed-psc-projects hinzu, um eine durch Kommas getrennte Liste von Projekt-IDs oder Projektnummern anzugeben, für die Sie den Zugriff auf die Instanz zulassen möchten, z. B. my-project-1, 12345,my-project-n.

gcloud alloydb instances create INSTANCE_ID \
    --instance-type=PRIMARY \
    --cpu-count=CPU_COUNT \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID \
    --allowed-psc-projects=ALLOWED_PROJECT_LIST

Ersetzen Sie Folgendes:

  • ALLOWED_PROJECT_LIST (Optional): Die durch Kommas getrennte Liste der Projekt-IDs oder Projektnummern, für die Sie den Zugriff auf die Instanz zulassen möchten, z. B. my-project-1, 12345, my-project-n. Sie müssen eine Liste der zulässigen Projekte oder Nummern festlegen, wenn Ihr Cluster Private Service Connect als Methode zum Herstellen einer Verbindung zur Instanz verwendet.

Terraform

Verwenden Sie eine Terraform-Ressource, um eine Instanz in Ihrem Datenbankcluster zu erstellen.

resource "google_alloydb_instance" "default" {
  cluster       = google_alloydb_cluster.default.name
  instance_id   = "alloydb-instance"
  instance_type = "PRIMARY"

  machine_config {
    cpu_count = 2
  }

  depends_on = [google_service_networking_connection.vpc_connection]
}

resource "google_alloydb_cluster" "default" {
  cluster_id = "alloydb-cluster"
  location   = "us-central1"
  network_config {
    network = google_compute_network.default.id
  }

  initial_user {
    password = "alloydb-cluster"
  }
}

data "google_project" "project" {}

resource "google_compute_network" "default" {
  name = "alloydb-network"
}

resource "google_compute_global_address" "private_ip_alloc" {
  name          =  "alloydb-cluster"
  address_type  = "INTERNAL"
  purpose       = "VPC_PEERING"
  prefix_length = 16
  network       = google_compute_network.default.id
}

resource "google_service_networking_connection" "vpc_connection" {
  network                 = google_compute_network.default.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.private_ip_alloc.name]
}

Cloud Shell vorbereiten

So bereiten Sie Cloud Shell vor, um Ihre Terraform-Konfiguration auf ein Google Cloud-Projekt anzuwenden:

  1. Rufen Sie Cloud Shell auf.
  2. Legen Sie das Google Cloud-Standardprojekt fest, auf das Sie Ihre Terraform-Konfigurationen anwenden möchten.

    Sie müssen diesen Befehl nur einmal pro Projekt und in jedem beliebigen Verzeichnis ausführen.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Umgebungsvariablen werden überschrieben, wenn Sie in der Terraform-Konfigurationsdatei explizite Werte festlegen.

Verzeichnis vorbereiten

Jede Terraform-Konfigurationsdatei muss ein eigenes Verzeichnis haben, auch als Stammmodul bezeichnet.

  1. Erstellen Sie in Cloud Shell ein Verzeichnis und eine neue Datei in diesem Verzeichnis. Der Dateiname muss eine TF-Datei sein, z. B. main.tf. In diesem Dokument wird die Datei als main.tf bezeichnet.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Kopieren Sie den Beispielcode in das neu erstellte main.tf. Kopieren Sie optional den Code aus GitHub. Dies wird empfohlen, wenn das Terraform-Snippet Teil einer End-to-End-Lösung ist.
    git clone https://github.com/terraform-google-modules/terraform-docs-samples
  3. Rufen Sie im Verzeichnis terraform-docs-samples das Verzeichnis alloydb auf.
    cd terraform-docs-samples/alloydb
  4. Kopieren Sie den Beispielcode in das neu erstellte main.tf.
    cp SAMPLE_FILE
    Ersetzen Sie <var>SAMPLE_FILE</var> durch den Namen der zu kopierenden Beispieldatei, z. B. main.tf.
  5. Prüfen und ändern Sie die Beispielparameter, die auf Ihre Umgebung angewendet werden sollen.
  6. Speichern Sie die Änderungen.
  7. Initialisieren Sie Terraform. Dies ist nur einmal für jedes Verzeichnis erforderlich.
    terraform init
    Optional: Wenn Sie die neueste Google-Anbieterversion verwenden möchten, fügen Sie die Option -upgrade ein:
    terraform init -upgrade

Änderungen anwenden

  1. Prüfen Sie die Konfiguration, um sicherzustellen, dass die Terraform-Änderungen Ihren Erwartungen entsprechen:
    terraform plan
    Korrigieren Sie die Konfiguration nach Bedarf.
  2. Wenden Sie die Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie yes an der Eingabeaufforderung ein:
    terraform apply
    Warten Sie, bis Terraform die Meldung Apply complete! anzeigt.

Öffnen Sie Ihr Google Cloud-Projekt, um die Ergebnisse aufzurufen. Rufen Sie in der Google Cloud Console Ihre Ressourcen in der Benutzeroberfläche auf, um sicherzustellen, dass Terraform sie erstellt oder aktualisiert hat.

Nächste Schritte