Auf dieser Seite wird beschrieben, wie Sie einen AlloyDB-Cluster und seine primäre Instanz erstellen.
Hinweis
- Für das von Ihnen verwendete Google Cloud-Projekt muss der Zugriff auf AlloyDB aktiviert sein.
- Ein VPC-Netzwerk im von Ihnen verwendeten Google Cloud-Projekt muss bereits für den Zugriff auf private Dienste auf AlloyDB konfiguriert 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.
- Außerdem benötigen Sie die Berechtigung
compute.networks.list
für das von Ihnen verwendete Google Cloud-Projekt. Bitten Sie Ihren Administrator, Ihnen die Rolleroles/compute.networkUser
(Compute Network User) zuzuweisen, um diese Berechtigung zu erhalten und gleichzeitig das Prinzip der geringsten Berechtigung zu wahren.
Neuen Cluster erstellen
Console
Rufen Sie die Seite Cluster auf.
Klicken Sie auf Cluster erstellen.
Wählen Sie eine Clusterkonfiguration aus. Weitere Informationen zu den Unterschieden zwischen hochverfügbaren und einfachen Konfigurationen finden Sie unter Knoten und Instanzen.
Wenn Sie nicht sicher sind, ob für Ihren neuen Cluster Lesepoolinstanzen erforderlich sind, wählen Sie eine der Konfigurationen ohne Lesepools aus. Sie können dem Cluster später bei Bedarf Lesepoolinstanzen hinzufügen.
Klicken Sie auf Weiter.
Geben Sie im Abschnitt Cluster konfigurieren im Feld Cluster-ID eine ID für den Cluster ein.
Geben Sie im Feld Passwort ein Anfangspasswort für den neuen Cluster ein. AlloyDB weist dem
postgres
-Datenbanknutzer beim Erstellen des Clusters das angegebene Passwort zu.Wählen Sie im Feld Database version (Datenbankversion) die Hauptversion von PostgreSQL aus, mit der die Datenbankserver des Clusters kompatibel sein sollen.
Wählen Sie eine Region aus.
Wählen Sie einen Netzwerkpfad aus.
Optional: Wenn Sie auf diesen Cluster einen bestimmten IP-Adressbereich anwenden möchten, anstatt AlloyDB einen IP-Adressbereich auswählen zu lassen, gehen Sie so vor:
Klicken Sie auf Option „Zugewiesener IP-Bereich“ einblenden.
Wählen Sie in der Liste Zugewiesener IP-Adressbereich einen IP-Adressbereich aus.
Weitere Informationen zu dieser Option finden Sie unter Cluster mit einem bestimmten IP-Adressbereich erstellen.
Optional: Wenn Sie diesen Cluster mit einem vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) statt mit der von Google verwalteten Verschlüsselung verschlüsseln möchten, führen Sie die folgenden zusätzlichen Schritte aus:
Klicken Sie auf Erweiterte Verschlüsselungsoptionen.
Wählen Sie Vom Kunden verwalteter Verschlüsselungsschlüssel (CMEK) aus.
Wählen Sie im angezeigten Menü einen vom Kunden verwalteten Schlüssel aus.
In der Google Cloud Console ist diese Liste auf Schlüssel im Google Cloud gleichen Projekt und in derselben Region wie der neue Cluster beschränkt. Wenn Sie einen Schlüssel verwenden möchten, der nicht in dieser Liste enthalten ist, klicken Sie auf Sie können Ihren Schlüssel nicht finden? Geben Sie den Namen der Schlüsselressource ein und geben Sie dann den Ressourcennamen des Schlüssels in das angezeigte Dialogfeld ein.
Die Verwendung von CMEK mit AlloyDB erfordert einige zusätzliche Schritte. Weitere Informationen finden Sie unter CMEK mit AlloyDB verwenden.
Klicken Sie auf Weiter.
Konfigurieren Sie die primäre Instanz:
- Geben Sie im Feld Instanz-ID eine ID für Ihre primäre Instanz ein.
- Wählen Sie einen Maschinentyp aus.
- Optional: Legen Sie benutzerdefinierte Flags für Ihre Instanz fest. Gehen Sie für jedes Flag so vor:
- Klicken Sie auf Flag hinzufügen.
- Wählen Sie in der Liste Flag für neue Datenbank ein Flag aus.
- Geben Sie einen Wert für das Flag an.
- Klicken Sie auf Fertig.
Wenn Sie einen Clustertyp ohne Lesepools ausgewählt haben, klicken Sie auf Cluster erstellen. Ist dies nicht der Fall, fahren Sie mit dem nächsten Schritt fort.
Wenn Sie einen Clustertyp mit Lesepools ausgewählt haben, gehen Sie so vor:
- Klicken Sie auf Weiter, um eine oder mehrere Lesepoolinstanzen hinzuzufügen.
So fügen Sie eine Lesepoolinstanz hinzu:
Klicken Sie auf Lesepool hinzufügen.
Geben Sie im Feld Lesepoolinstanz-ID eine ID für die Lesepoolinstanz ein.
Geben Sie im Feld Knotenzahl eine Knotenzahl ein.
Die Anzahl der Knoten in einer Lesepoolinstanz bestimmt die Gesamtrechenleistung der Instanz.
Wählen Sie einen Maschinentyp aus.
Optional: Legen Sie benutzerdefinierte Flags für Ihre Instanz fest. Für jede Flagge gilt Folgendes:
- Klicken Sie auf Flag hinzufügen.
- Wählen Sie in der Liste Flag für neue Datenbank ein Flag aus.
- Geben Sie einen Wert für das Flag an.
- Klicken Sie auf Fertig.
Klicken Sie auf Lesepool hinzufügen.
Klicken Sie auf Cluster 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 clusters create
, um den Cluster mit aktiviertem Zugriff auf private Dienste oder Private Service Connect zu erstellen.Zugriff auf private Dienste
gcloud alloydb clusters create CLUSTER_ID \ --database-version=POSTGRES_VERSION \ --password=PASSWORD \ --region=REGION_ID \ --project=PROJECT_ID \ --network=NETWORK
Private Service Connect
gcloud alloydb clusters create CLUSTER_ID \ --database-version=POSTGRES_VERSION \ --password=PASSWORD \ --region=REGION_ID \ --project=PROJECT_ID \ --enable-private-service-connect
Ersetzen Sie Folgendes:
CLUSTER_ID
: die ID des Clusters, den Sie erstellen. Sie muss mit einem Kleinbuchstaben beginnen und darf Kleinbuchstaben, Ziffern und Bindestriche enthalten.VERSION
: Die Hauptversion von PostgreSQL, mit der die Datenbankserver des Clusters kompatibel sein sollen. Wählen Sie eine der folgenden Optionen aus:14
, für die Kompatibilität mit PostgreSQL 1415
, für die Kompatibilität mit PostgreSQL 15, der unterstützten Standard-PostgreSQL-Version16
, für die Kompatibilität mit PostgreSQL 16
PASSWORD
: das Passwort für den Standardnutzer vonpostgres
.NETWORK
(optional): der Name des VPC-Netzwerk, das Sie für den Zugriff auf private Dienste auf AlloyDB konfiguriert haben. Wenn Sie das Flag--network
weglassen, verwendet AlloyDB das Netzwerkdefault
.--enable-private-service-connect
(optional): Wenn Sie diese Option aktivieren, wird Private Service Connect als Verbindungsmethode für den Cluster und seine Instanzen verwendet.REGION_ID
: die Region, in der der Cluster platziert werden soll.PROJECT_ID
: die ID des Projekts, in dem der Cluster platziert werden soll.
Dieser Befehl initiiert einen Vorgang mit langer Ausführungszeit und gibt eine Vorgangs-ID zurück.
Optional: Wenn Sie einen bestimmten IP-Adressbereich auf diesen Cluster anwenden möchten, anstatt AlloyDB einen IP-Adressbereich auswählen zu lassen, geben Sie das folgende Argument an:
--allocated-ip-range-name=RANGE
Ersetzen Sie
RANGE
durch den Namen des IP-Adressbereichs, den dieser Cluster für den Zugriff auf private Dienste verwenden soll.Weitere Informationen zu dieser Option finden Sie unter Cluster mit einem bestimmten IP-Adressbereich erstellen.
Optional: Wenn Sie diesen Cluster mit einem vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) anstelle der standardmäßigen von Google verwalteten Verschlüsselung verschlüsseln möchten, geben Sie die folgenden Argumente an:
--kms-key=KEY_ID \ --kms-keyring=KEYRING_ID \ --kms-location=LOCATION_ID \ --kms-project=PROJECT_ID
Ersetzen Sie Folgendes:
KEY_ID
: Die ID des zu verwendenden CMEK-Schlüssels.KEYRING_ID
: die ID des Schlüsselbunds des Schlüssels.LOCATION_ID
: Die ID der Region des Schlüsselrings, die mit der Region des Clusters übereinstimmen muss.PROJECT_ID
: die ID des Projekts des Schlüsselbunds.
Prüfen Sie, ob der Vorgang erfolgreich war.
gcloud alloydb operations describe OPERATION_ID \ --region=REGION_ID \ --project=PROJECT_ID
Ersetzen Sie
OPERATION_ID
durch die Vorgangs-ID, die im vorherigen Schritt zurückgegeben wurde.
Nachdem Sie den primären Cluster erstellt haben, müssen Sie eine primäre Instanz erstellen.
Primäre Instanz erstellen
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 \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--allowed-psc-projects=ALLOWED_PROJECT_LIST
Ersetzen Sie Folgendes:
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 RAM4
: 4 vCPUs, 32 GB RAM8
: 8 vCPUs, 64 GB RAM16
: 16 vCPUs, 128 GB RAM32
: 32 vCPUs, 256 GB RAM64
: 64 vCPUs, 512 GB RAM96
: 96 vCPUs, 768 GB RAM128
: 128 vCPUs, 864 GB RAM
REGION_ID
: Die Region, in der die Instanz bereitgestellt werden soll.CLUSTER_ID
: die ID des Clusters, den Sie zuvor erstellt haben.PROJECT_ID
: die ID des Projekts, in dem der ClusterALLOWED_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, wenn Sie Private Service Connect verwenden.
Terraform
Verwenden Sie zum Erstellen eines Clusters eine Terraform-Ressource.
Im folgenden Code-Snippet wird ein Cluster anhand des Beispiels AlloyDB-Cluster vollständig erstellt:
resource "google_alloydb_cluster" "cluster_abc" {
cluster_id = "alloydb-cluster"
location = "us-central1"
network_config {
network = google_compute_network.default.id
}
database_version = "POSTGRES_15"
initial_user {
user = "postgres"
password = "postgres"
}
continuous_backup_config {
enabled = true
recovery_window_days = 14
}
automated_backup_policy {
location = "us-central1"
backup_window = "1800s"
enabled = true
weekly_schedule {
days_of_week = ["MONDAY"]
start_times {
hours = 23
minutes = 0
seconds = 0
nanos = 0
}
}
quantity_based_retention {
count = 1
}
labels = {
test = "alloydb-cluster-backup-policy-labels"
}
}
labels = {
test = "alloydb-cluster-labels"
}
}
data "google_project" "project" {}
resource "google_compute_network" "default" {
name = "alloydb-cluster-network"
}
Cloud Shell vorbereiten
So bereiten Sie Cloud Shell vor, um Ihre Terraform-Konfiguration auf ein Google Cloud-Projekt anzuwenden:
- Rufen Sie Cloud Shell auf.
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.
- 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 alsmain.tf
bezeichnet.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
- 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. - Prüfen Sie die Datei
main.tf
und ändern Sie die Beispielparameter, die auf Ihre Umgebung angewendet werden sollen. - Speichern Sie die Änderungen.
- Initialisieren Sie Terraform. Dies ist nur einmal für jedes Verzeichnis erforderlich.
Optional: Wenn Sie die neueste Google-Anbieterversion verwenden möchten, fügen Sie die Optionterraform init
-upgrade
ein:terraform init -upgrade
Änderungen anwenden
- Prüfen Sie die Konfiguration, um sicherzustellen, dass die Terraform-Änderungen Ihren Erwartungen entsprechen:
Korrigieren Sie die Konfiguration nach Bedarf.terraform plan
- Wenden Sie die Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie
yes
an der Eingabeaufforderung ein: Warten Sie, bis Terraform die Meldungterraform apply
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.
Aktiven Cluster klonen
Wenn Sie einen Klon eines aktiven Clusters mit einer Kopie aller Daten des Quellclusters erstellen möchten, der in derselben Region ausgeführt wird, führen Sie eine Point-in-Time-Wiederherstellung für diesen Cluster aus. Sie können dabei einen sehr aktuellen Zeitpunkt angeben, z. B. die erste Sekunde der aktuellen Minute.
Dabei werden nur die Daten des Quellclusters in den Klon kopiert, nicht die Konfiguration des Quellclusters. Wenn Sie die Daten des Klons mit CMEK verschlüsseln möchten, müssen Sie CMEK-Details als Teil des Befehls zur Point-in-Time-Wiederherstellung angeben, auch wenn die Daten des Quellclusters bereits mit CMEK verschlüsselt sind. Nachdem der neue Cluster erstellt wurde, müssen Sie Instanzen, Datenbankflags, Sicherungszeitpläne und alle anderen erforderlichen Konfigurationen hinzufügen.
Ein auf diese Weise erstellter Cluster existiert unabhängig von seiner Quelle. Die Daten haben nach Abschluss der anfänglichen Duplizierung keine Beziehung zu den Daten des Quellclusters. Wenn Sie sekundäre Cluster erstellen möchten, die Datenänderungen in den Quellclustern automatisch verfolgen und replizieren, lesen Sie den Hilfeartikel Regionenübergreifende Replikation.
Cluster mit einem bestimmten IP-Adressbereich erstellen
AlloyDB verwendet den Zugriff auf private Dienste, damit die internen Ressourcen eines Clusters miteinander kommunizieren können. Bevor Sie einen Cluster erstellen können, muss Ihr VPC-Netzwerk (Virtual Private Cloud) mindestens einen IP-Adressbereich enthalten, der mit einer Verbindung für den Zugriff auf private Dienste konfiguriert ist.
Wenn Ihr VPC-Netzwerk mehrere IP-Adressbereiche enthält, die mit Zugriff auf private Dienste konfiguriert wurden, können Sie den Bereich angeben, den AlloyDB einem neuen Cluster zuweist.
Informationen zum Angeben eines IP-Adressbereichs finden Sie in den optionalen Schritten unter Cluster erstellen.
Wenn Sie keinen Bereich angeben, führt AlloyDB beim Erstellen eines Clusters eine der folgenden Aktionen aus:
Wenn Sie mehrere IP-Adressbereiche mit Zugriff auf private Dienste haben, wählt AlloyDB einen dieser Bereiche aus.
Wenn Sie genau einen IP-Adressbereich in Ihrer VPC mit Zugriff auf private Dienste eingerichtet haben, wendet AlloyDB diesen Bereich auf den neuen Cluster an.
Weitere Informationen zum Erstellen von IP-Adressbereichen für die Verwendung mit AlloyDB finden Sie unter Zugriff auf private Dienste aktivieren.