Auf dieser Seite wird beschrieben, wie Sie die primäre Instanz in einem AlloyDB-Cluster erstellen.
Hinweise
- Das Google Cloud -Projekt, das Sie verwenden, muss für den Zugriff auf AlloyDB aktiviert sein.
- Sie benötigen eine der folgenden IAM-Rollen im Google Cloud Projekt, das Sie verwenden:
roles/alloydb.admin
(die vordefinierte IAM-Rolle „AlloyDB Admin“)roles/owner
(einfache IAM-Rolle „Inhaber“)roles/editor
(einfache IAM-Rolle „Bearbeiter“)
Wenn Sie keine dieser Rollen haben, wenden Sie sich an den Organisationsadministrator, um Zugriff anzufordern.
Primäre AlloyDB-Instanz erstellen
Console
Rufen Sie die Seite Cluster auf.
Klicken Sie in der Spalte Ressourcenname auf einen Cluster.
Rufen Sie auf der Seite Übersicht den Bereich Instanzen in Ihrem Cluster auf und klicken Sie auf Primäre Instanz erstellen.
Primäre Instanz konfigurieren:
- 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)
- 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-Maschinenserie auf Axion-Basis, einschließlich des Maschinentyps mit 1 vCPU, finden Sie unter Hinweise zur Verwendung der C4A-Maschinenserie auf Axion-Basis.
Optional: Wenn Sie Ihre Anwendungen und Clients über das öffentliche Internet verbinden möchten, setzen Sie unter Öffentliche IP-Verbindung ein Häkchen bei Öffentliche IP-Adresse aktivieren. Wenn Sie eine öffentliche IP-Adresse aktivieren, ist möglicherweise eine zusätzliche Konfiguration erforderlich, damit eine sichere Verbindung hergestellt werden kann. Weitere Informationen finden Sie unter Über öffentliche IP-Adresse verbinden.
Die private IP-Adresse ist standardmäßig immer aktiviert. Weitere Informationen finden Sie unter Zugriff auf private Dienste aktivieren.
Optional: Wenn Sie den verwalteten Verbindungspool aktivieren und verwenden möchten, klicken Sie unter Verwalteter Verbindungspool das Kästchen Verwalteten Verbindungspool aktivieren an. Weitere Informationen finden Sie unter Verwaltung von Verbindungspools 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 ein Flag aus der Liste Neues Datenbankflag aus.
- Geben Sie einen Wert für das Flag an.
- Klicken Sie auf Fertig.
Optional: Wenn Sie SSL- oder Connector-Anforderungen für die Instanz konfigurieren möchten, maximieren Sie Erweiterte Konfigurationsoptionen und gehen Sie dann so vor:
- Standardmäßig ist für alle Verbindungen zu AlloyDB-Instanzen eine SSL-Verschlüsselung erforderlich. Wenn Sie Verbindungen ohne SSL zulassen möchten, deaktivieren Sie das Kästchen Nur SSL-Verbindungen zulassen.
- Wenn Sie erzwingen möchten, dass für alle Datenbankverbindungen zur Instanz der AlloyDB-Auth-Proxy oder die von Google bereitgestellten sicheren Connector-Bibliotheken verwendet werden, wählen Sie Connectors erforderlich 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 \
--availability-type=AVAILABILITY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--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.AVAILABILITY
: Gibt an, ob diese Instanz hochverfügbar 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 sich die Instanz befinden soll. Beispiel:us-central1
.CLUSTER_ID
: Die ID des Clusters, in dem die Instanz platziert werden soll.CPU_COUNT
: Die Anzahl der vCPUs, die Sie für die Instanz benötigen.- Sie müssen entweder
cpu_count
odermachine_type
angeben. - Wenn nur
cpu_count
angegeben ist, wird eine N2-Instanz mit den folgenden Spezifikationen erstellt:- 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
- Wenn sowohl
machine_type
als auchcpu_count
angegeben werden, muss dercpu_count
-Wert mit der Anzahl der inmachine_type
angegebenen vCPUs übereinstimmen. Wennmachine_type
beispielsweisen2-highmem-4
ist, müssen Siecpu_count
auf4
setzen.
- Sie müssen entweder
MACHINE_TYPE
: der Maschinentyp der Instanz.Für die C4A-Maschinenserie auf Axion-Basis sind die folgenden Werte gültig:
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
Für die N2-Maschinenserie sind die folgenden Werte gültig:
n2-highmem-2
n2-highmem-4
n2-highmem-8
n2-highmem-16
n2-highmem-32
n2-highmem-64
n2-highmem-96
n2-highmem-128
Wenn Sie
machine_type
undcpu_count
zusammen verwenden, müssen die Werte incpu_count
undmachine_type
übereinstimmen. Wennmachine_type
beispielsweisen2-highmem-4
ist, müssen Siecpu_count
auf4
setzen.
PROJECT_ID
: Die ID des Projekts, in dem sich der Cluster befindet.
Standardmäßig ist für alle Verbindungen zu neuen Instanzen eine 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 \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--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 \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID \
--require-connectors
Wenn Sie das verwaltete Verbindungs-Pooling in Ihrer AlloyDB-Instanz aktivieren möchten, fügen Sie dem Befehl gcloud alloydb instances create
das Flag --enable-connection-pooling
hinzu:
gcloud alloydb instances create INSTANCE_ID \
--instance-type=PRIMARY \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--cpu-count=CPU_COUNT \
--machine-type=MACHINE_TYPE \
--project=PROJECT_ID \
--enable-connection-pooling
Sie können auch eine AlloyDB-Instanz mit aktiviertem Private Service Connect erstellen. Informationen zum Erstellen einer primären Instanz für einen Cluster mit aktiviertem Private Service Connect finden Sie unter AlloyDB-Instanz erstellen.
Terraform
Instanz erstellen
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] }
Im vorherigen Beispiel wird eine N2-Instanz erstellt. Verwenden Sie zum Erstellen einer C4A-Instanz das Feld machine_type
in der Struktur machine_config
, wie im folgenden Beispiel gezeigt:
machine_config { machine_type = "c4a-highmem-4-lssd" }
Cloud Shell vorbereiten
Wenn Sie Ihre Terraform-Konfiguration in einem Google Cloud -Projekt anwenden möchten, bereiten Sie Cloud Shell so vor:
- Rufen Sie Cloud Shell auf.
Legen Sie das Standardprojekt Google Cloud fest, auf das Sie Ihre Terraform-Konfigurationen anwenden möchten.
Sie müssen diesen Befehl nur einmal pro Projekt und in einem 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
- Wechseln Sie im Verzeichnis
terraform-docs-samples
zum Verzeichnisalloydb
.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: Fügen Sie die Optionterraform init
-upgrade
ein, um die neueste Google-Anbieterversion zu verwenden:terraform init -upgrade
Änderungen anwenden
- Prüfen Sie die Konfiguration, um zu bestätigen, dass die Terraform-Aktualisierungen 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
Instanz erstellen
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 personenbezogenen Informationen enthalten, da sie extern sichtbar ist. Die Projekt-ID muss im Clusternamen nicht angegeben werden, da dies an gegebener Stelle automatisch erfolgt, z. B. in den Logdateien.
Wenn Sie Ihre Anfrage senden möchten, speichern Sie den Anfragetext in einer Datei mit dem Namen instance_request.json
.
{ "instance_type": "PRIMARY", "machine_config": { "cpu_count": "vCPU_COUNT", }, }
Ersetzen Sie Folgendes:
CPU_COUNT
: die Anzahl der sichtbaren CPU-Kerne in der Instanz, die Sie erstellen möchten.
Im vorherigen Beispiel wird eine N2-Instanz mit den folgenden Spezifikationen erstellt:
- 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
Verwenden Sie zum Erstellen einer C4A-Instanz das Feld machine_type
anstelle von cpu_count
in der machine_config
-Struktur, wie im folgenden Beispiel gezeigt:
machine_config: { machine_type : MACHINE_TYPE, },
Für die C4A-Maschinenserie auf Axion-Basis sind die folgenden Werte gültig:
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
Für die N2-Maschinenserie sind die folgenden Werte zulässig:
n2-highmem-2
n2-highmem-4
n2-highmem-8
n2-highmem-16
n2-highmem-32
n2-highmem-64
n2-highmem-96
n2-highmem-128
Verwenden Sie die folgende HTTP-Methode und URL:
POST https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances?instance_id=INSTANCE_ID
Ersetzen Sie die folgenden Werte:
PROJECT_ID
: die ID des Projekts, in dem sich der Cluster befinden soll.LOCATION_ID
: Die ID der Region des Clusters.CLUSTER_ID
: die ID des Clusters, den Sie erstellen. Die ID muss mit einem Kleinbuchstaben beginnen und darf Kleinbuchstaben, Ziffern und Bindestriche enthalten.INSTANCE_ID
: Der Name der primären Instanz, die Sie erstellen möchten.
Sie können die Anfrage mit curl ausführen, wie im folgenden Beispiel gezeigt:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://alloydb.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances?instance_id=INSTANCE_ID -d @instance_request.json