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
Rufen Sie die Seite Cluster auf.
Klicken Sie in der Spalte Ressourcenname auf einen Cluster.
Klicken Sie auf der Seite Übersicht unter Instanzen in Ihrem Cluster auf Primäre Instanz erstellen.
Konfigurieren Sie die primäre Instanz:
- Geben Sie im Feld Instanz-ID eine ID für Ihre primäre Instanz ein.
- Wählen Sie unter Zonale Verfügbarkeit eine der folgenden Optionen aus:
- Wenn Sie eine hochverfügbare Produktionsinstanz mit automatischem Failover erstellen möchten, wählen Sie Mehrere Zonen (Hochverfügbar) aus.
- Wenn Sie eine einfache Instanz erstellen möchten, die nicht hochverfügbar sein muss, wählen Sie Einzelne Zone aus.
Wählen Sie eine der folgenden Maschinenserien aus:
- C4A (Google Axion-basierte Maschinenreihe) (Vorabversion)
- N2 (x86-basierte Maschinenreihe) Dies ist die Standardmaschinenreihe.
Wählen Sie einen Maschinentyp aus.
- C4A unterstützt 1, 4, 8, 16, 32, 48, 64 und 72 Maschinentypen oder ‑formen.
- N2 unterstützt 2, 4, 8, 16, 32, 64, 96 und 128 Maschinentypen oder ‑formen.
Weitere Informationen zur Verwendung der C4A-Axion-basierten Maschinenreihe, einschließlich des Maschinentyps mit 1 vCPU, finden Sie unter Hinweise zur Verwendung der C4A-Axion-basierten Maschinenreihe.
Optional: Wenn Sie Ihre Anwendungen und Clients über das öffentliche Internet verbinden möchten, setzen Sie unter Öffentliche IP-Verbindung ein Häkchen in das Kästchen Öffentliche IP-Adresse aktivieren. Wenn Sie die öffentliche IP-Adresse aktivieren, ist möglicherweise eine zusätzliche Konfiguration erforderlich, um eine sichere Verbindung herzustellen. Weitere Informationen finden Sie unter Verbindung über öffentliche IP-Adresse herstellen.
Private IP-Adressen sind standardmäßig immer aktiviert. Weitere Informationen finden Sie unter Zugriff auf private Dienste aktivieren.
Optional: Wenn Sie das verwaltete Verbindungs-Pooling aktivieren und verwenden möchten, klicken Sie unter Verwalteter Verbindungspool auf das Kästchen Verwalteten Verbindungspool aktivieren. Weitere Informationen finden Sie unter Verwaltetes Verbindungs-Pooling konfigurieren.
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:
- 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.
Optional: Wenn Sie SSL- oder Connectoranforderungen für die Instanz konfigurieren möchten, maximieren Sie Erweiterte Konfigurationsoptionen und gehen Sie so vor:
- Standardmäßig müssen alle Verbindungen zu AlloyDB-Instanzen SSL-Verschlüsselung verwenden. Wenn Sie Verbindungen ohne SSL zulassen möchten, entfernen Sie das Häkchen aus dem Kästchen Nur SSL-Verbindungen zulassen.
- 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.
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 \
--machine-type=MACHINE_TYPE \
--availability-type=AVAILABILITY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID
INSTANCE_ID
: Die ID der Instanz, die Sie erstellen. Er muss mit einem Kleinbuchstaben beginnen und darf Kleinbuchstaben, Ziffern und Bindestriche enthalten.CPU_COUNT
: Die Anzahl der N2-vCPUs, die Sie für die Instanz benötigen. N2 ist der Standardwert. 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
MACHINE_TYPE
: Dieser Parameter ist optional, wenn Sie N2-Maschinen bereitstellen. Wenn Sie die Axion-basierte C4A-Maschinenreihe (Vorabversion) bereitstellen oder zwischen C4A- und N2-Maschinen migrieren möchten, wählen Sie diesen Parameter mit den folgenden Werten aus.Wenn Sie
MACHINE_TYPE
undCPU_COUNT
zusammen verwenden, müssen die Werte inCPU_COUNT
undMACHINE_TYPE
übereinstimmen. Andernfalls wird ein Fehler ausgegeben.Wählen Sie für die C4A-Axion-basierte Maschinenreihe den Maschinentyp mit den folgenden Werten aus:
c4a-highmem-1
c4a-highmem-4-lssd
c4a-highmem-8-lssd
c4a-highmem-16-lssd
c4a-highmem-32-lssd
c4a-highmem-48-lssd
c4a-highmem-64-lssd
c4a-highmem-72-lssd
Wenn Sie C4A mit 4 vCPUs oder mehr bereitstellen möchten, verwenden Sie das Suffix
lssd
, um den ultraschnellen Cache zu aktivieren.Weitere Informationen zur Verwendung der C4A-Axion-basierten Maschinenreihe, einschließlich des Maschinentyps mit 1 vCPU, finden Sie unter Hinweise zur Verwendung der C4A-Axion-basierten Maschinenreihe.
Verwenden Sie für die x86-basierten N2-Maschinenreihen die folgenden Werte:
N2-highmem-2
N2-highmem-4
N2-highmem-8
N2-highmem-16
N2-highmem-32
N2-highmem-64
N2-highmem-96
N2-highmem-128
AVAILABILITY
: Ob diese Instanz hochverfügbar (HA) sein soll, mit Knoten in mehreren Zonen. Gültige Werte sind: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 müssen standardmäßig alle Verbindungen SSL-Verschlüsselung verwenden. 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 \
--machine-type=MACHINE_TYPE \
--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 \
--machine-type=MACHINE_TYPE \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--require-connectors
Wenn Sie das verwaltete Verbindungs-Pooling in Ihrer AlloyDB-Instanz aktivieren möchten, fügen Sie dem Befehl gcloud alpha alloydb instances create
das Flag --enable-connection-pooling
hinzu:
gcloud alpha alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--cpu-count=CPU_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--enable-connection-pooling
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 \
--machine-type=MACHINE_TYPE \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--allowed-psc-projects=ALLOWED_PROJECT_LIST
--psc-network-attachment-uri=NETWORK_ATTACHMENT_URI
Ersetzen Sie Folgendes:
ALLOWED_PROJECT_LIST
(optional): Eine durch Kommas getrennte Liste von 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 für die Verbindung zur Instanz verwendet.NETWORK_ATTACHMENT_URI
(optional): der vollständige Ressourcenname des von Ihnen erstellten URIs für den Netzwerkanhang. Beispiel:projects/<var>PROJECT_ID</var>/regions/<var>REGION_ID</var>/networkAttachments/<var>NETWORK_ATTACHMENT_ID</var>
.
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
Wenn Sie Ihre Terraform-Konfiguration in einem Google Cloud-Projekt anwenden möchten, müssen Sie Cloud Shell so vorbereiten:
- 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.git clone https://github.com/terraform-google-modules/terraform-docs-samples
- Rufen Sie im Verzeichnis
terraform-docs-samples
das Verzeichnisalloydb
auf.cd terraform-docs-samples/alloydb
- Kopieren Sie den Beispielcode in das neu erstellte
main.tf
. Ersetzen Siecp SAMPLE_FILE
<var>SAMPLE_FILE</var>
durch den Namen der zu kopierenden Beispieldatei, z. B.main.tf
. - Prüfen 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.
REST Version 1
In diesem Beispiel wird eine primäre Instanz erstellt. Eine vollständige Liste der Parameter für diesen Aufruf finden Sie unter Methode: projects.locations.clusters.instances.create. Informationen zu Clustereinstellungen finden Sie unter Cluster- und Instanzeinstellungen aufrufen.
Die Cluster-ID sollte keine vertraulichen oder personenidentifizierbaren Informationen enthalten, da sie extern sichtbar ist. Die Projekt-ID muss im Clusternamen nicht angegeben werden. Dies erfolgt automatisch, wo es erforderlich ist, beispielsweise in den Logdateien.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
CLUSTER_ID
: die ID des von Ihnen erstellten Clusters. Sie muss mit einem Kleinbuchstaben beginnen und darf Kleinbuchstaben, Ziffern und Bindestriche enthalten.PROJECT_ID
: die ID des Projekts, in dem der Cluster platziert werden soll.LOCATION_ID
: die ID der Region des Clusters.INSTANCE_ID
: Name der primären Instanz, die Sie erstellen möchten.vCPU_COUNT
: die Anzahl der sichtbaren CPU-Kerne der Instanz, die Sie erstellen möchten.
Der JSON-Anfragetext sieht so aus:
{
instanceId = "INSTANCE_ID"
instanceType = "PRIMARY"
machineConfig {
cpuCount = vCPU_COUNT
}
databaseFlags = {
"key1" : "value1",
"key2" : "value2"
}
}
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und verwenden Sie die folgende POST
-Anfrage, um sie zu senden:
POST https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances