Instanzen erstellen und verwalten

Auf dieser Seite wird beschrieben, wie Sie Spanner-Instanzen erstellen, auflisten, bearbeiten und löschen.

Instanz erstellen

Sie können eine Instanz mit der Google Cloud Console, dem Google Cloud CLI oder Clientbibliotheken Sie können auch eine Instanz mit einer benutzerdefinierten Instanzkonfiguration erstellen, indem Sie optionale schreibgeschützte Replikate hinzufügen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

  2. Klicken Sie auf Instanz erstellen.

    Zur Seite „Instanz erstellen”

  3. Wählen Sie im Abschnitt Version auswählen eine Spanner-Version aus.

    Wenn Sie die Spezifikationen der verschiedenen Versionen vergleichen möchten, klicken Sie auf Versionen vergleichen. Weitere Informationen finden Sie unter Spanner-Versionen – Übersicht.

  4. Klicken Sie auf Weiter.

  5. Geben Sie im Abschnitt Instanz benennen unter Instanzname in der Google Cloud Console angezeigt. Der Instanzname darf innerhalb Ihres Google Cloud-Projekts nur einmal vorkommen.

  6. Geben Sie eine Instanz-ID ein, um Ihre Instanz dauerhaft zu identifizieren. Die Instanz-ID darf im Google Cloud-Projekt ebenfalls nur einmal vorkommen. Sie können die Instanz-ID später nicht ändern.

  7. Klicken Sie auf Weiter.

  8. Klicken Sie im Bereich Instanz konfigurieren unter Wählen Sie unter Konfiguration auswählen die Option Regional, Dual-Region oder Mehrere Regionen:

  9. Wählen Sie im Drop-down-Menü einen Konfigurationsspeicherort aus.

  10. Optional: Einer Spanner-Basis ein schreibgeschütztes Replikat hinzufügen erstellen Sie zuerst eine benutzerdefinierte Instanzkonfiguration Google Cloud CLI Optionale schreibgeschützte Replikate einer Basiskonfiguration hinzufügen in der Enterprise Edition und Enterprise Plus Edition

  11. Klicken Sie auf Weiter.

  12. Klicken Sie im Bereich Rechenkapazität zuweisen unter Einheit auswählen auf eine der folgenden Optionen:

    • Verarbeitungseinheiten für kleine Instanzen
    • Knoten für große Instanzen. Ein Knoten entspricht 1.000 Verarbeitungseinheiten.

    Weitere Informationen finden Sie unter Rechenkapazität, Knoten und Verarbeitungseinheiten.

  13. Klicken Sie unter Skalierungsmodus auswählen auf eine der folgenden Optionen:

    • Manuelle Zuweisung, wenn Sie die Rechenkapazität für feste Rechenressourcen und -kosten manuell festlegen möchten.

      • Menge gibt die Anzahl der Verarbeitungseinheiten oder Knoten an. für diese Instanz zu verwenden.
    • Autoscaling (Vorschau) damit Spanner automatisch Computing-Daten Kapazität. Verwaltetes Autoscaling ist verfügbar in der Spanner Enterprise und Enterprise Plus. Weitere Informationen zum verwalteten Autoscaling finden Sie unter Verwaltetes Autoscaling für Spanner Konfigurieren Sie die folgenden Optionen für die verwaltete automatische Skalierung:

      • Minimum gibt das Minimum an, auf das herunterskaliert werden soll. abhängig von der Maßeinheit, die Sie für Compute Kapazität. Weitere Informationen finden Sie unter Mindestlimit festlegen.
      • Maximum gibt das Maximum für die Hochskalierung an. abhängig von der Maßeinheit, die Sie für Compute Kapazität. Weitere Informationen finden Sie unter Bestimmen Sie die Obergrenze.
      • CPU-Auslastungsziel mit hoher Priorität gibt den Zielprozentsatz der CPU-Auslastung mit hoher Priorität an. Weitere Informationen finden Sie unter CPU-Auslastungsziel bestimmen.
      • Speicherauslastungsziel gibt den Zielprozentsatz an. Speicherplatz verfügbar sind. Weitere Informationen finden Sie unter Ziel für die Speicherauslastung festlegen.
  14. Klicken Sie auf Erstellen, um die Instanz zu erstellen.

gcloud

Verwenden Sie den Befehl gcloud spanner instances create, um eine Instanz zu erstellen. Geben Sie die Rechenkapazität an. als Anzahl der Knoten oder Verarbeitungseinheiten, die Sie auf der Instanz haben möchten.

gcloud spanner instances create INSTANCE_ID \
--edition=EDITION \
--config=INSTANCE_CONFIG \
--description=INSTANCE_DESCRIPTION \
--nodes=NODE_COUNT

oder

gcloud spanner instances create INSTANCE_ID \
--edition=EDITION \
--config=INSTANCE_CONFIG \
--description=INSTANCE_DESCRIPTION \
--processing-units=PROCESSING_UNIT_COUNT

Ersetzen Sie Folgendes:

  • INSTANCE-ID: Eine permanente Kennung, die in einem Google Cloud-Projekt nur einmal vorkommen darf. Sie können die Instanz-ID später nicht ändern.
  • INSTANCE-CONFIG: Eine permanente Kennzeichnung Ihrer Instanz Konfiguration, die den geografischen Standort der Instanz und die Replikation von Daten beeinflusst. Bei benutzerdefinierten Instanzkonfigurationen beginnt sie mit custom-. Weitere Informationen finden Sie unter Instanzkonfigurationen.
  • INSTANCE_DESCRIPTION: Der Name, der in der Google Cloud Console für die Instanz angezeigt werden soll. Der Instanzname darf innerhalb eines Google Cloud-Projekts nur einmal vorkommen.
  • NODE-COUNT: die Rechenkapazität der Instanz, ausgedrückt als Anzahl von Knoten. Jeder Knoten entspricht 1.000 Verarbeitungseinheiten.
  • PROCESSING_UNIT_COUNT: die Rechenkapazität der Instanz als Anzahl von Verarbeitungseinheiten angegeben. Geben Sie Mengen bis zu 1.000 ein in Vielfachen von 100 (100, 200, 300 usw.) und geben Sie größere Mengen als Vielfache von 1.000 (1.000, 2.000, 3.000 usw.) angeben. Hinweis: Verwenden Sie diesen Parameter nicht, wenn Sie eine Instanz erstellen, die Sie später mit dem verwalteten Autoscaler aktivieren möchten.

Verwaltetes Autoscaling hinzufügen (Vorabversion)

Sie können auch Instanzen der Enterprise- und Enterprise Plus-Version erstellen, um das verwaltete Autoscaling mit dem Befehl gcloud beta spanner instances create zu verwenden. Weitere Informationen finden Sie unter Verwalteter Autoscaler für Spanner.

Verwenden Sie den folgenden Befehl, um eine Instanz mit einem verwalteten Autoscaler zu erstellen.

  gcloud beta spanner instances create INSTANCE_ID \
    --edition=EDITION \
    --config=INSTANCE_CONFIG \
    --description=INSTANCE_DESCRIPTION \
    --autoscaling-min-processing-units=MINIMUM_PROCESSING_UNITS \
    --autoscaling-max-processing-units=MAXIMUM_PROCESSING_UNITS \
    --autoscaling-high-priority-cpu-target=CPU_PERCENTAGE \
    --autoscaling-storage-target=STORAGE_PERCENTAGE

oder

  gcloud beta spanner instances create INSTANCE_ID \
    --edition=EDITION \
    --config=INSTANCE_CONFIG \
    --description=INSTANCE_DESCRIPTION \
    --autoscaling-min-nodes=MINIMUM_NODES \
    --autoscaling-max-nodes=MAXIMUM_NODES \
    --autoscaling-high-priority-cpu-target=CPU_PERCENTAGE \
    --autoscaling-storage-target=STORAGE_PERCENTAGE

Ersetzen Sie Folgendes:

  • INSTANCE-ID: Eine permanente Kennung, die in einem Google Cloud-Projekt nur einmal vorkommen darf. Sie können die Instanz-ID später nicht ändern.
  • INSTANCE-CONFIG: Eine permanente Kennzeichnung Ihrer Instanz Konfiguration, die den geografischen Standort der Instanz und die Replikation von Daten beeinflusst. Bei benutzerdefinierten Instanzkonfigurationen beginnt sie mit custom-. Weitere Informationen finden Sie unter Instanz Konfigurationen
  • INSTANCE-DESCRIPTION: der Name, der für die Instanz angezeigt werden soll in der Google Cloud Console. Der Instanzname darf innerhalb eines Google Cloud-Projekts nur einmal vorkommen.
  • MINIMUM_PROCESSING_UNITS, MINIMUM_NODES: die Mindestanzahl von Verarbeitungseinheiten oder Knoten beim Herunterskalieren. Weitere Informationen finden Sie unter Mindestlimit festlegen.
  • MAXIMUM_PROCESSING_UNITS, MAXIMUM_NODES: Die maximale Anzahl von Verarbeitungseinheiten oder Knoten beim Skalieren. Weitere Informationen finden Sie unter Bestimmen Sie die Obergrenze.
  • CPU_PERCENTAGE: Der Prozentsatz der CPU mit hoher Priorität, der verwendet werden soll (10 bis 90 %). Wenn Sie die Kosten optimieren möchten, verwenden Sie einen höheren Prozentsatz. Weitere Informationen finden Sie unter Bestimmen Sie das CPU-Auslastungsziel.
  • STORAGE_PERCENTAGE: Zielprozentsatz des zu verwendenden Speichers von 10 auf 99 % reduzieren. Weitere Informationen finden Sie unter Bestimmen Sie das Speicherauslastungsziel.

Beispiele für die Verwendung benutzerdefinierter Konfigurationen

Zum Erstellen der Instanz test-instance in der regionalen Basisinstanz Konfiguration us-central1, führen Sie Folgendes aus:

gcloud spanner instances create test-instance --edition=STANDARD --config=regional-us-central1 \
  --description="Test Instance" --nodes=1

Wenn Sie eine Instanz custom-eur6-instance in der benutzerdefinierten mehrregionalen Instanzkonfiguration custom-eur6 erstellen möchten, müssen Sie zuerst eine benutzerdefinierte Instanzkonfiguration erstellen.

Führen Sie dann diesen Befehl aus:

  gcloud spanner instances create custom-eur6-instance --edition=ENTERPRISE_PLUS --config=custom-eur6 \
      --description="Instance with custom read-only" --nodes=1

Nach der Ausführung sollte eine Meldung wie die folgende angezeigt werden: einen der vorherigen Befehle:

Creating instance...done.

C++

Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Spanner zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

void CreateInstance(google::cloud::spanner_admin::InstanceAdminClient client,
                    std::string const& project_id,
                    std::string const& instance_id,
                    std::string const& display_name,
                    std::string const& config_id) {
  namespace spanner = ::google::cloud::spanner;
  spanner::Instance in(project_id, instance_id);

  auto project = google::cloud::Project(project_id);
  std::string config_name =
      project.FullName() + "/instanceConfigs/" + config_id;
  auto instance =
      client
          .CreateInstance(spanner::CreateInstanceRequestBuilder(in, config_name)
                              .SetDisplayName(display_name)
                              .SetNodeCount(1)
                              .SetLabels({{"cloud_spanner_samples", "true"}})
                              .Build())
          .get();
  if (!instance) throw std::move(instance).status();
  std::cout << "Created instance [" << in << "]:\n" << instance->DebugString();
}

C#

Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken

Richten Sie zur Authentifizierung bei Spanner Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


using Google.Api.Gax.ResourceNames;
using Google.Cloud.Spanner.Admin.Instance.V1;
using Google.Cloud.Spanner.Common.V1;
using Google.LongRunning;
using System;

public class CreateInstanceSample
{
    public Instance CreateInstance(string projectId, string instanceId)
    {
        // Create the InstanceAdminClient instance.
        InstanceAdminClient instanceAdminClient = InstanceAdminClient.Create();

        // Initialize request parameters.
        Instance instance = new Instance
        {
            InstanceName = InstanceName.FromProjectInstance(projectId, instanceId),
            ConfigAsInstanceConfigName = InstanceConfigName.FromProjectInstanceConfig(projectId, "regional-us-central1"),
            DisplayName = "This is a display name.",
            NodeCount = 1,
            Labels =
            {
                { "cloud_spanner_samples", "true" },
            }
        };
        ProjectName projectName = ProjectName.FromProject(projectId);

        // Make the CreateInstance request.
        Operation<Instance, CreateInstanceMetadata> response = instanceAdminClient.CreateInstance(projectName, instanceId, instance);

        Console.WriteLine("Waiting for the operation to finish.");

        // Poll until the returned long-running operation is complete.
        Operation<Instance, CreateInstanceMetadata> completedResponse = response.PollUntilCompleted();

        if (completedResponse.IsFaulted)
        {
            Console.WriteLine($"Error while creating instance: {completedResponse.Exception}");
            throw completedResponse.Exception;
        }

        Console.WriteLine($"Instance created successfully.");

        return completedResponse.Result;
    }
}

Go

Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Spanner zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

import (
	"context"
	"fmt"
	"io"

	instance "cloud.google.com/go/spanner/admin/instance/apiv1"
	"cloud.google.com/go/spanner/admin/instance/apiv1/instancepb"
)

func createInstance(w io.Writer, projectID, instanceID string) error {
	// projectID := "my-project-id"
	// instanceID := "my-instance"
	ctx := context.Background()
	instanceAdmin, err := instance.NewInstanceAdminClient(ctx)
	if err != nil {
		return err
	}
	defer instanceAdmin.Close()

	op, err := instanceAdmin.CreateInstance(ctx, &instancepb.CreateInstanceRequest{
		Parent:     fmt.Sprintf("projects/%s", projectID),
		InstanceId: instanceID,
		Instance: &instancepb.Instance{
			Config:      fmt.Sprintf("projects/%s/instanceConfigs/%s", projectID, "regional-us-central1"),
			DisplayName: instanceID,
			NodeCount:   1,
			Labels:      map[string]string{"cloud_spanner_samples": "true"},
			Edition:     instancepb.Instance_STANDARD,
		},
	})
	if err != nil {
		return fmt.Errorf("could not create instance %s: %w", fmt.Sprintf("projects/%s/instances/%s", projectID, instanceID), err)
	}
	// Wait for the instance creation to finish.
	i, err := op.Wait(ctx)
	if err != nil {
		return fmt.Errorf("waiting for instance creation to finish failed: %w", err)
	}
	// The instance may not be ready to serve yet.
	if i.State != instancepb.Instance_READY {
		fmt.Fprintf(w, "instance state is not READY yet. Got state %v\n", i.State)
	}
	fmt.Fprintf(w, "Created instance [%s]\n", instanceID)
	return nil
}

Instanz mit verwaltetem Autoscaling mithilfe von Go erstellen (Vorschau)

import (
	"context"
	"fmt"
	"io"

	instance "cloud.google.com/go/spanner/admin/instance/apiv1"
	"cloud.google.com/go/spanner/admin/instance/apiv1/instancepb"
	"google.golang.org/genproto/protobuf/field_mask"
)

// Example of creating an autoscaling instance with Go.
// projectID is the ID of the project that the new instance will be in.
// instanceID is the ID of the new instance to be created.
func createInstanceWithAutoscalingConfig(w io.Writer, projectID, instanceID string) error {
	// projectID := "my-project-id"
	// instanceID := "my-instance"
	ctx := context.Background()
	instanceAdmin, err := instance.NewInstanceAdminClient(ctx)
	if err != nil {
		return fmt.Errorf("could not create instance admin client for project %s: %w", projectID, err)
	}
	defer instanceAdmin.Close()

	instanceName := fmt.Sprintf("projects/%s/instances/%s", projectID, instanceID)
	fmt.Fprintf(w, "Creating instance %s.", instanceName)

	op, err := instanceAdmin.CreateInstance(ctx, &instancepb.CreateInstanceRequest{
		Parent:     fmt.Sprintf("projects/%s", projectID),
		InstanceId: instanceID,
		Instance: &instancepb.Instance{
			Config:      fmt.Sprintf("projects/%s/instanceConfigs/%s", projectID, "regional-us-central1"),
			DisplayName: "Create instance example",
			AutoscalingConfig: &instancepb.AutoscalingConfig{
				AutoscalingLimits: &instancepb.AutoscalingConfig_AutoscalingLimits{
					MinLimit: &instancepb.AutoscalingConfig_AutoscalingLimits_MinNodes{
						MinNodes: 1,
					},
					MaxLimit: &instancepb.AutoscalingConfig_AutoscalingLimits_MaxNodes{
						MaxNodes: 2,
					},
				},
				AutoscalingTargets: &instancepb.AutoscalingConfig_AutoscalingTargets{
					HighPriorityCpuUtilizationPercent: 65,
					StorageUtilizationPercent:         95,
				},
			},
			Labels: map[string]string{"cloud_spanner_samples": "true"},
		},
	})
	if err != nil {
		return fmt.Errorf("could not create instance %s: %w", instanceName, err)
	}
	fmt.Fprintf(w, "Waiting for operation on %s to complete...", instanceID)
	// Wait for the instance creation to finish.
	i, err := op.Wait(ctx)
	if err != nil {
		return fmt.Errorf("waiting for instance creation to finish failed: %w", err)
	}
	// The instance may not be ready to serve yet.
	if i.State != instancepb.Instance_READY {
		fmt.Fprintf(w, "instance state is not READY yet. Got state %v\n", i.State)
	}
	fmt.Fprintf(w, "Created instance [%s].\n", instanceID)

	instance, err := instanceAdmin.GetInstance(ctx, &instancepb.GetInstanceRequest{
		Name: instanceName,
		// Get the autoscaling_config field from the newly created instance.
		FieldMask: &field_mask.FieldMask{Paths: []string{"autoscaling_config"}},
	})
	if err != nil {
		return fmt.Errorf("failed to get instance [%s]: %w", instanceName, err)
	}
	fmt.Fprintf(w, "Instance %s has autoscaling_config: %s.", instanceID, instance.AutoscalingConfig)
	return nil
}

Java

Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken

Richten Sie zur Authentifizierung bei Spanner Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


import com.google.cloud.spanner.Spanner;
import com.google.cloud.spanner.SpannerOptions;
import com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient;
import com.google.spanner.admin.instance.v1.CreateInstanceRequest;
import com.google.spanner.admin.instance.v1.Instance;
import com.google.spanner.admin.instance.v1.InstanceConfigName;
import com.google.spanner.admin.instance.v1.ProjectName;
import java.util.concurrent.ExecutionException;

class CreateInstanceExample {

  static void createInstance() {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project";
    String instanceId = "my-instance";
    createInstance(projectId, instanceId);
  }

  static void createInstance(String projectId, String instanceId) {
    // Set Instance configuration.
    int nodeCount = 2;
    String displayName = "Descriptive name";

    // Create an Instance object that will be used to create the instance.
    Instance instance =
        Instance.newBuilder()
            .setDisplayName(displayName)
            .setEdition(Instance.Edition.STANDARD)
            .setNodeCount(nodeCount)
            .setConfig(InstanceConfigName.of(projectId, "regional-us-east4").toString())
            .build();

    try (Spanner spanner =
            SpannerOptions.newBuilder().setProjectId(projectId).build().getService();
        InstanceAdminClient instanceAdminClient = spanner.createInstanceAdminClient()) {

      // Wait for the createInstance operation to finish.
      Instance createdInstance =
          instanceAdminClient
              .createInstanceAsync(
                  CreateInstanceRequest.newBuilder()
                      .setParent(ProjectName.of(projectId).toString())
                      .setInstanceId(instanceId)
                      .setInstance(instance)
                      .build())
              .get();
      System.out.printf("Instance %s was successfully created%n", createdInstance.getName());
    } catch (ExecutionException e) {
      System.out.printf(
          "Error: Creating instance %s failed with error message %s%n",
          instance.getName(), e.getMessage());
    } catch (InterruptedException e) {
      System.out.println("Error: Waiting for createInstance operation to finish was interrupted");
    }
  }
}

Instanz mit verwaltetem Autoscaling mit Java erstellen (Vorschau)


import com.google.cloud.spanner.Spanner;
import com.google.cloud.spanner.SpannerOptions;
import com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient;
import com.google.spanner.admin.instance.v1.AutoscalingConfig;
import com.google.spanner.admin.instance.v1.CreateInstanceRequest;
import com.google.spanner.admin.instance.v1.Instance;
import com.google.spanner.admin.instance.v1.InstanceConfigName;
import com.google.spanner.admin.instance.v1.ProjectName;
import java.util.concurrent.ExecutionException;

class CreateInstanceWithAutoscalingConfigExample {

  static void createInstance() {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project";
    String instanceId = "my-instance";
    createInstance(projectId, instanceId);
  }

  static void createInstance(String projectId, String instanceId) {
    try (Spanner spanner =
        SpannerOptions.newBuilder()
            .setProjectId(projectId)
            .build()
            .getService();
        InstanceAdminClient instanceAdminClient = spanner.createInstanceAdminClient()) {
      // Set Instance configuration.
      String configId = "regional-us-east4";
      String displayName = "Descriptive name";

      // Create an autoscaling config.
      // When autoscaling_config is enabled, node_count and processing_units fields
      // need not be specified.
      AutoscalingConfig autoscalingConfig =
          AutoscalingConfig.newBuilder()
              .setAutoscalingLimits(
                  AutoscalingConfig.AutoscalingLimits.newBuilder().setMinNodes(1).setMaxNodes(2))
              .setAutoscalingTargets(
                  AutoscalingConfig.AutoscalingTargets.newBuilder()
                      .setHighPriorityCpuUtilizationPercent(65)
                      .setStorageUtilizationPercent(95))
              .build();
      Instance instance =
          Instance.newBuilder()
              .setAutoscalingConfig(autoscalingConfig)
              .setDisplayName(displayName)
              .setConfig(
                  InstanceConfigName.of(projectId, configId).toString())
              .build();

      // Creates a new instance
      System.out.printf("Creating instance %s.%n", instanceId);
      try {
        // Wait for the createInstance operation to finish.
        Instance instanceResult = instanceAdminClient.createInstanceAsync(
            CreateInstanceRequest.newBuilder()
                .setParent(ProjectName.of(projectId).toString())
                .setInstanceId(instanceId)
                .setInstance(instance)
                .build()).get();
        System.out.printf("Autoscaler instance %s was successfully created%n",
            instanceResult.getName());
      } catch (ExecutionException e) {
        System.out.printf(
            "Error: Creating instance %s failed with error message %s%n",
            instance.getName(), e.getMessage());
      } catch (InterruptedException e) {
        System.out.println("Error: Waiting for createInstance operation to finish was interrupted");
      }
    }
  }
}

Node.js

Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Spanner zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


// Imports the Google Cloud client library
const {Spanner, protos} = require('@google-cloud/spanner');

// Creates a client
const spanner = new Spanner({
  projectId: projectId,
});

const instanceAdminClient = await spanner.getInstanceAdminClient();
/**
 * TODO(developer): Uncomment the following lines before running the sample.
 **/
// const projectId = 'my-project-id';
// const instanceId = 'my-instance';

// Creates a new instance
try {
  console.log(
    `Creating instance ${instanceAdminClient.instancePath(
      projectId,
      instanceId
    )}.`
  );
  const [operation] = await instanceAdminClient.createInstance({
    instanceId: instanceId,
    parent: instanceAdminClient.projectPath(projectId),
    instance: {
      config: instanceAdminClient.instanceConfigPath(
        projectId,
        'regional-us-central1'
      ),
      nodeCount: 1,
      displayName: 'Display name for the instance.',
      labels: {
        cloud_spanner_samples: 'true',
        created: Math.round(Date.now() / 1000).toString(), // current time
      },
      edition:
        protos.google.spanner.admin.instance.v1.Instance.Edition.STANDARD, //optional
    },
  });

  console.log(`Waiting for operation on ${instanceId} to complete...`);
  await operation.promise();

  console.log(`Created instance ${instanceId}.`);
} catch (err) {
  console.error('ERROR:', err);
}

PHP

Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Spanner zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

use Google\Cloud\Spanner\Admin\Instance\V1\Client\InstanceAdminClient;
use Google\Cloud\Spanner\Admin\Instance\V1\CreateInstanceRequest;
use Google\Cloud\Spanner\Admin\Instance\V1\Instance;

/**
 * Creates an instance.
 * Example:
 * ```
 * create_instance($projectId, $instanceId);
 * ```
 *
 * @param string $projectId  The Spanner project ID.
 * @param string $instanceId The Spanner instance ID.
 */
function create_instance(string $projectId, string $instanceId): void
{
    $instanceAdminClient = new InstanceAdminClient();
    $parent = InstanceAdminClient::projectName($projectId);
    $instanceName = InstanceAdminClient::instanceName($projectId, $instanceId);
    $configName = $instanceAdminClient->instanceConfigName($projectId, 'regional-us-central1');
    $instance = (new Instance())
        ->setName($instanceName)
        ->setConfig($configName)
        ->setDisplayName('dispName')
        ->setNodeCount(1);

    $operation = $instanceAdminClient->createInstance(
        (new CreateInstanceRequest())
        ->setParent($parent)
        ->setInstanceId($instanceId)
        ->setInstance($instance)
    );

    print('Waiting for operation to complete...' . PHP_EOL);
    $operation->pollUntilComplete();

    printf('Created instance %s' . PHP_EOL, $instanceId);
}

Python

Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Spanner zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def create_instance(instance_id):
    """Creates an instance."""
    from google.cloud.spanner_admin_instance_v1.types import \
        spanner_instance_admin

    spanner_client = spanner.Client()

    config_name = "{}/instanceConfigs/regional-us-central1".format(
        spanner_client.project_name
    )

    operation = spanner_client.instance_admin_api.create_instance(
        parent=spanner_client.project_name,
        instance_id=instance_id,
        instance=spanner_instance_admin.Instance(
            config=config_name,
            display_name="This is a display name.",
            node_count=1,
            labels={
                "cloud_spanner_samples": "true",
                "sample_name": "snippets-create_instance-explicit",
                "created": str(int(time.time())),
            },
            edition=spanner_instance_admin.Instance.Edition.STANDARD,  # Optional
        ),
    )

    print("Waiting for operation to complete...")
    operation.result(OPERATION_TIMEOUT_SECONDS)

    print("Created instance {}".format(instance_id))

Ruby

Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Spanner zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

# project_id  = "Your Google Cloud project ID"
# instance_id = "Your Spanner instance ID"

require "google/cloud/spanner"
require "google/cloud/spanner/admin/instance"

instance_admin_client = Google::Cloud::Spanner::Admin::Instance.instance_admin

project_path = instance_admin_client.project_path project: project_id
instance_path = instance_admin_client.instance_path project: project_id, instance: instance_id
instance_config_path = instance_admin_client.instance_config_path project: project_id, instance_config: "regional-us-central1"

job = instance_admin_client.create_instance parent: project_path,
                                            instance_id: instance_id,
                                            instance: { name: instance_path,
                                                        config: instance_config_path,
                                                        display_name: instance_id,
                                                        node_count: 2,
                                                        labels: { cloud_spanner_samples: "true" } }

puts "Waiting for create instance operation to complete"

job.wait_until_done!

if job.error?
  puts job.error
else
  puts "Created instance #{instance_id}"
end

Instanzen auflisten

Sie können eine Liste Ihrer Spanner-Instanzen aufrufen.

Console

Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

Zur Seite "VM-Instanzen"

Die Google Cloud Console zeigt eine Liste Ihrer Spanner-Instanzen sowie die ID, den Anzeigenamen, die Konfiguration und die Rechenkapazität jeder Instanz an, die sowohl in Verarbeitungseinheiten als auch in Knoten ausgedrückt werden.

gcloud

Führen Sie den Befehl gcloud spanner instances list aus:

gcloud spanner instances list

Die gcloud CLI gibt eine Liste Ihrer Spanner aus Instanzen gibt es außerdem die ID, den Anzeigenamen, die Konfiguration und Rechenkapazität.

Instanz bearbeiten

In den folgenden Abschnitten wird erläutert, wie Sie ein Upgrade der Version Ihrer Instanz durchführen. Anzeigenamen und Rechenkapazität einer Instanz ändern. Sie können die Instanz-ID oder die Instanzkonfiguration nicht ändern. Sie können die Instanz jedoch verschieben.

Version upgraden

Sie können Ihre Instanzen der Standardversion auf eine höhere Version umstellen. Instanzen der Standardversion können auf die Enterprise- oder Enterprise Plus-Version umgestellt werden. Für Instanzen der Enterprise-Version kann ein Upgrade auf die Version Enterprise Plus-Version

Ein Self-Service-Downgrade ist nicht verfügbar. So führen Sie ein Downgrade der Version Ihres können Sie ein Support-Ticket einreichen. Weitere Informationen finden Sie in der FAQ zu Spanner-Versionen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf den Namen der Instanz, die Sie aktualisieren möchten.

  3. Klicken Sie neben der Versionsart auf Upgrade.

  4. Wählen Sie auf der Seite Instanz der Ausgabe und unter Ausgabe aktualisieren die Option höherwertige Version für Ihre Instanz.

  5. Klicken Sie auf Speichern.

gcloud

Verwenden Sie den Befehl gcloud spanner instances update, um die Version Ihrer Instanz zu aktualisieren:

gcloud spanner instances update INSTANCE_ID --edition=EDITION \
[--async]

Ersetzen Sie Folgendes:

  • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
  • EDITION: Geben Sie die neue, höhere Version für Ihre Instanz an. Weitere Informationen finden Sie unter Spanner-Versionen – Übersicht.

Optionale Flags:

  • --async: Verwenden Sie dieses Flag, wenn die Anfrage sofort zurückgegeben werden soll, ohne auf den Abschluss des laufenden Vorgangs zu warten. Sie können die den Status Ihrer Anfrage prüfen, indem Sie Folgendes ausführen: gcloud spanner operations describe

Go

import (
	"context"
	"fmt"
	"io"

	instance "cloud.google.com/go/spanner/admin/instance/apiv1"
	"cloud.google.com/go/spanner/admin/instance/apiv1/instancepb"
	"google.golang.org/genproto/protobuf/field_mask"
)

func updateInstance(w io.Writer, projectID, instanceID string) error {
	// projectID := "my-project-id"
	// instanceID := "my-instance"
	ctx := context.Background()
	instanceAdmin, err := instance.NewInstanceAdminClient(ctx)
	if err != nil {
		return err
	}
	defer instanceAdmin.Close()

	req := &instancepb.UpdateInstanceRequest{
		Instance: &instancepb.Instance{
			Name: fmt.Sprintf("projects/%s/instances/%s", projectID, instanceID),
			// The edition selected for this instance.
			// Different editions provide different capabilities at different price points.
			// For more information, see https://cloud.google.com/spanner/docs/editions-overview.
			Edition: instancepb.Instance_ENTERPRISE,
		},
		FieldMask: &field_mask.FieldMask{
			Paths: []string{"edition"},
		},
	}
	op, err := instanceAdmin.UpdateInstance(ctx, req)
	if err != nil {
		return fmt.Errorf("could not update instance %s: %w", fmt.Sprintf("projects/%s/instances/%s", projectID, instanceID), err)
	}
	// Wait for the instance update to finish.
	_, err = op.Wait(ctx)
	if err != nil {
		return fmt.Errorf("waiting for instance update to finish failed: %w", err)
	}

	fmt.Fprintf(w, "Updated instance [%s]\n", instanceID)
	return nil
}

Java


import com.google.cloud.spanner.Spanner;
import com.google.cloud.spanner.SpannerOptions;
import com.google.cloud.spanner.admin.instance.v1.InstanceAdminClient;
import com.google.common.collect.Lists;
import com.google.protobuf.FieldMask;
import com.google.spanner.admin.instance.v1.Instance;
import com.google.spanner.admin.instance.v1.InstanceConfigName;
import com.google.spanner.admin.instance.v1.InstanceName;
import com.google.spanner.admin.instance.v1.UpdateInstanceRequest;
import java.util.concurrent.ExecutionException;

public class UpdateInstanceExample {

  static void updateInstance() {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project";
    String instanceId = "my-instance";
    updateInstance(projectId, instanceId);
  }

  static void updateInstance(String projectId, String instanceId) {
    // Set Instance configuration.
    int nodeCount = 2;
    String displayName = "Updated name";

    // Update an Instance object that will be used to update the instance.
    Instance instance =
        Instance.newBuilder()
            .setName(InstanceName.of(projectId, instanceId).toString())
            .setDisplayName(displayName)
            .setNodeCount(nodeCount)
            .setEdition(Instance.Edition.ENTERPRISE)
            .setConfig(InstanceConfigName.of(projectId, "regional-us-east4").toString())
            .build();

    try (Spanner spanner =
            SpannerOptions.newBuilder().setProjectId(projectId).build().getService();
        InstanceAdminClient instanceAdminClient = spanner.createInstanceAdminClient()) {

      // Wait for the updatedInstance operation to finish.
      Instance updatedInstance =
          instanceAdminClient
              .updateInstanceAsync(
                  UpdateInstanceRequest.newBuilder()
                      .setFieldMask(
                          FieldMask.newBuilder().addAllPaths(Lists.newArrayList("edition")))
                      .setInstance(instance)
                      .build())
              .get();
      System.out.printf("Instance %s was successfully updated%n", updatedInstance.getName());
    } catch (ExecutionException e) {
      System.out.printf(
          "Error: Updating instance %s failed with error message %s%n",
          instance.getName(), e.getMessage());
    } catch (InterruptedException e) {
      System.out.println("Error: Waiting for updateInstance operation to finish was interrupted");
    }
  }
}

Node.js

Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Spanner zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.


// Imports the Google Cloud client library
const {Spanner, protos} = require('@google-cloud/spanner');

/**
 * TODO(developer): Uncomment the following lines before running the sample.
 */
// const projectId = 'my-project-id';
// const instanceId = 'my-instance';

// Creates a client
const spanner = new Spanner({
  projectId: projectId,
});

const instanceAdminClient = spanner.getInstanceAdminClient();

// Updates an instance
try {
  console.log(
    `Updating instance ${instanceAdminClient.instancePath(
      projectId,
      instanceId
    )}.`
  );
  const [operation] = await instanceAdminClient.updateInstance({
    instance: {
      name: instanceAdminClient.instancePath(projectId, instanceId),
      labels: {
        updated: 'true',
        created: Math.round(Date.now() / 1000).toString(), // current time
      },
      edition:
        protos.google.spanner.admin.instance.v1.Instance.Edition.ENTERPRISE, //optional
    },
    // Field mask specifying fields that should get updated in an Instance
    fieldMask: (protos.google.protobuf.FieldMask = {
      paths: ['labels', 'edition'],
    }),
  });

  console.log(`Waiting for operation on ${instanceId} to complete...`);
  await operation.promise();
  console.log(`Updated instance ${instanceId}.`);
  const [metadata] = await instanceAdminClient.getInstance({
    name: instanceAdminClient.instancePath(projectId, instanceId),
  });
  console.log(
    `Instance ${instanceId} has been updated with the ${metadata.edition} ` +
      'edition.'
  );
} catch (err) {
  console.error('ERROR:', err);
}

Python

Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken.

Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Spanner zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.

def update_instance(instance_id):
    """Updates an instance."""
    from google.cloud.spanner_admin_instance_v1.types import \
        spanner_instance_admin

    spanner_client = spanner.Client()

    name = "{}/instances/{}".format(spanner_client.project_name, instance_id)

    operation = spanner_client.instance_admin_api.update_instance(
        instance=spanner_instance_admin.Instance(
            name=name,
            labels={
                "sample_name": "snippets-update_instance-explicit",
            },
            edition=spanner_instance_admin.Instance.Edition.ENTERPRISE,  # Optional
        ),
        field_mask=field_mask_pb2.FieldMask(paths=["labels", "edition"]),
    )

    print("Waiting for operation to complete...")
    operation.result(OPERATION_TIMEOUT_SECONDS)

    print("Updated instance {}".format(instance_id))

Anzeigenamen ändern

Console

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf den Namen der Instanz, die Sie umbenennen möchten.

  3. Klicken Sie auf Instanz bearbeiten.

  4. Geben Sie einen neuen Instanznamen ein. Dieser Name darf im Google Cloud-Projekt nur einmal vorkommen.

  5. Klicken Sie auf Speichern.

gcloud

Führen Sie den Befehl gcloud spanner instances update aus:

gcloud spanner instances update INSTANCE_ID --description=INSTANCE_NAME

Ersetzen Sie Folgendes:

  • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
  • INSTANCE_NAME: der Name, der für die Instanz im Google Cloud Console Der Instanzname darf innerhalb eines Google Cloud-Projekts nur einmal vorkommen.

Rechenkapazität ändern

Sie müssen genügend Rechenkapazität bereitstellen, CPU-Auslastung und Speicherauslastung unter den empfohlenen Maximalwerten. Weitere Informationen finden Sie unter Kontingente und Limits für Spanner.

Es gibt einige Fälle, in denen Sie die Rechenkapazität eines vorhandene Instanz:

  • Zum Entfernen von Rechenkapazität müsste Ihre Instanz mehr als 4 TB Daten pro 1.000 Verarbeitungseinheiten (1 Knoten).
  • Beruhend auf Ihren bisherigen Nutzungsmustern hat Spanner eine große Anzahl von Splits für die Daten Ihrer Instanz erstellt. In einigen seltenen Fällen wäre Spanner nach dem Entfernen der Rechenkapazität nicht in der Lage, die Splits zu verwalten.

Im letztgenannten Fall können Sie versuchen, die Rechenkapazität schrittweise um kleinere Werte zu reduzieren, bis Sie die Mindestkapazität herausfinden, die Spanner zum Verwalten aller Splits der Instanz benötigt. Wenn die Instanz keine so viele Splits aufgrund einer Änderung der Nutzungsmuster, einige Teilungen zusammenführen und versuchen, die Rechenkapazität der Instanz nach ein oder zwei Wochen zu erhöhen.

Wenn Sie Rechenkapazität entfernen, beobachten Sie die CPU-Auslastung und die Anfrage Latenzen in Cloud Monitoring, um die CPU-Leistung unter 65% für regionale und 45% für jede Region in multiregionale Instanzen. Beim Entfernen von Rechenkapazität kann es vorübergehend zu einer Anfragelatenz kommen.

Wenn Sie die Rechenkapazität einer Instanz erhöhen möchten, Das Google Cloud-Projekt muss ein ausreichendes Kontingent haben, um die Compute Engine Kapazität. Wie lange es dauert, bis die Erhöhungsanfrage abgeschlossen ist, hängt vom die Größe der Anfrage. In den meisten Fällen werden Anfragen innerhalb weniger Minuten abgeschlossen. In seltenen Fällen kann die Skalierung bis zu einer Stunde dauern.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf den Namen der Instanz, die Sie ändern möchten.

  3. Klicken Sie auf Instanz bearbeiten.

  4. Ändern Sie die Rechenkapazität, indem Sie die Messeinheiten (Verarbeitungseinheiten oder Knoten) auswählen und dann eine Menge eingeben. Wenn Sie Verarbeitungseinheiten verwenden, geben Sie Mengen bis 1.000 als Vielfaches von 100 (100, 200, 300 usw.) und größere Mengen als Vielfaches von 1.000 (1.000, 2.000, 3.000 usw.) ein. Jeder Knoten entspricht 1.000 Verarbeitungseinheiten.

  5. Klicken Sie auf Speichern.

Wenn in einem Dialogfeld angezeigt wird, dass Sie kein ausreichendes Kontingent haben, um Rechenkapazität an dieser Position hinzuzufügen, folgen Sie den Anweisungen, um ein höheres Kontingent anzufordern.

gcloud

Führen Sie den Befehl gcloud spanner instances update aus. Geben Sie bei Verwendung dieses Befehls die Rechenkapazität als Anzahl der Knoten oder Verarbeitungseinheiten.

gcloud spanner instances update INSTANCE_ID --nodes=NODE_COUNT
[--async]

oder

gcloud spanner instances update INSTANCE_ID
--processing-units=PROCESSING_UNIT_COUNT [--async]

Ersetzen Sie Folgendes:

  • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
  • NODE_COUNT: die Rechenkapazität der Instanz, ausgedrückt als Knotenanzahl. Jeder Knoten entspricht 1.000 Verarbeitungseinheiten.
  • PROCESSING_UNIT_COUNT: Die Rechenkapazität der Instanz, ausgedrückt als Anzahl von Verarbeitungseinheiten. Geben Sie Mengen bis zu 1.000 ein in Vielfachen von 100 (100, 200, 300 usw.) und geben Sie größere Mengen als Vielfache von 1.000 (1.000, 2.000, 3.000 usw.) angeben.

Optionale Flags:

  • --async: Verwenden Sie dieses Flag, wenn die Anfrage sofort zurückgegeben werden soll, ohne auf den Abschluss des laufenden Vorgangs zu warten. Sie können die den Status Ihrer Anfrage prüfen, indem Sie Folgendes ausführen: gcloud spanner operations describe

Verwaltetes Autoscaling für eine Instanz aktivieren oder ändern

Wenn Sie das verwaltete Autoscaling hinzufügen oder ändern, gelten die folgenden Einschränkungen auf einer vorhandenen Instanz:

  • Verwaltetes Autoscaling ist nur in der Enterprise-Version verfügbar oder Enterprise Plus-Version.
  • Sie können den verwalteten Autoscaler nicht für eine Instanz aktivieren, die Sie verschieben.
  • Sie können keine Instanz verschieben, solange der verwaltete Autoscaler aktiviert ist.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf den Namen der Instanz, für die Sie den verwalteten Autoscaler aktivieren möchten.

  3. Klicken Sie auf Instanz bearbeiten.

  4. Klicken Sie unter Rechenkapazität konfigurieren auf Autoscaling.

  5. Wählen Sie als Minimum das Mindestlimit aus, das beim Herunterskalieren verwendet werden soll. Weitere Informationen finden Sie unter Mindestlimit festlegen.

  6. Wählen Sie als Maximal das Limit aus, das beim Hochskalieren verwendet werden soll. Weitere Informationen finden Sie unter Maximales Limit ermitteln.

  7. Wählen Sie unter CPU-Auslastungsziel mit hoher Priorität den Prozentsatz der CPU mit hoher Priorität aus, der verwendet werden soll. Weitere Informationen finden Sie unter Bestimmen Sie das CPU-Auslastungsziel.

  8. Wählen Sie für Speicherauslastungsziel den Prozentsatz des Speichers aus, verwenden. Weitere Informationen finden Sie unter Bestimmen Sie das Speicherauslastungsziel.

  9. Klicken Sie auf Speichern.

gcloud

Verwenden Sie die Methode gcloud beta spanner instances update zum Hinzufügen des verwalteten Autoscalings zu einer Instanz. Weitere Informationen und Weitere Informationen finden Sie unter Google Cloud CLI-Flags und -Einschränkungen.

Sie können den verwalteten Autoscaler mit dem folgenden Befehl hinzufügen:

  gcloud beta spanner instances update INSTANCE_ID \
    --autoscaling-min-processing-units=MINIMUM_PROCESSING_UNITS \
    --autoscaling-max-processing-units=MAXIMUM_PROCESSING_UNITS \
    --autoscaling-high-priority-cpu-target=CPU_PERCENTAGE \
    --autoscaling-storage-target=STORAGE_PERCENTAGE

oder

  gcloud beta spanner instances update INSTANCE_ID \
    --autoscaling-min-processing-units=MINIMUM_NODES \
    --autoscaling-max-processing-units=MAXIMUM_NODES \
    --autoscaling-high-priority-cpu-target=CPU_PERCENTAGE \
    --autoscaling-storage-target=STORAGE_PERCENTAGE

Ersetzen Sie Folgendes:

  • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
  • MINIMUM_PROCESSING_UNITS, MINIMUM_NODES: Die minimale Anzahl von Verarbeitungseinheiten oder Knoten, die beim Herunterskalieren verwendet werden sollen. Weitere Informationen finden Sie unter Mindestlimit festlegen.
  • MAXIMUM_PROCESSING_UNITS, MAXIMUM_NODES: die Maximale Anzahl von Verarbeitungseinheiten oder Knoten, die beim Hochskalieren verwendet werden sollen. Weitere Informationen finden Sie unter Maximales Limit ermitteln.
  • CPU_PERCENTAGE: der Zielprozentsatz der CPU mit hoher Priorität für von 10% auf 90%. Wenn Sie nach Kosten optimieren und nicht für alle Anfragen eine geringe Latenz benötigen, verwenden Sie einen höheren Prozentsatz. Weitere Informationen finden Sie unter Ziel für die CPU-Auslastung festlegen.
  • STORAGE_PERCENTAGE: Der Zielprozentsatz der zu verwendenden Speicherkapazität, von 10 % bis 99 %. Weitere Informationen finden Sie unter Speicherauslastungsziel bestimmen

Nachdem Sie das verwaltete Autoscaling einer Instanz hinzugefügt haben, können Sie auch Autoscaling-Einstellungen verwaltet. Wenn Sie beispielsweise die maximale Anzahl von Verarbeitungseinheiten auf 10.000 erhöhen möchten, führen Sie den folgenden Befehl aus:

gcloud beta spanner instances update test-instance \
     --autoscaling-max-processing-units=10000

Instanz von verwaltetem Autoscaling auf manuelle Skalierung umstellen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf den Namen der Instanz, für die Sie die Verwaltung deaktivieren möchten. Autoscaling aktiviert ist.

  3. Klicken Sie unter Skalierungsmodus auswählen auf Manuelle Zuordnung.

  4. Klicken Sie auf Speichern.

gcloud

Verwenden Sie den gcloud beta spanner instances update. um die Instanz zu aktualisieren.

Mit dem folgenden Befehl können Sie für eine Instanz die Verwendung des verwalteten Autoscalers durch manuelles Skalieren ersetzen:

  gcloud beta spanner instances update INSTANCE_ID \
  --processing-units=PROCESSING_UNIT_COUNT

oder

  gcloud beta spanner instances update INSTANCE_ID \
  --nodes=NODE_COUNT

Ersetzen Sie Folgendes:

  • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
  • NODE_COUNT: Die Rechenkapazität der Instanz, ausgedrückt als Anzahl von Knoten. Jeder Knoten entspricht 1.000 Verarbeitungseinheiten.
  • PROCESSING_UNIT_COUNT: Die Rechenkapazität der Instanz, ausgedrückt als Anzahl von Verarbeitungseinheiten. Geben Sie Mengen bis zu 1.000 als Vielfaches von 100 (100, 200, 300 usw.) ein und geben Sie größere Mengen als ein Vielfaches von 1.000 (1.000, 2.000, 3.000 usw.) ein.

Instanz mit Label versehen

Labels erleichtern die Organisation von Ressourcen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf das Kästchen der Instanz. Das Infofeld wird rechts auf der Seite angezeigt.

  3. Klicken Sie im Infofeld auf den Tab Labels. Anschließend können Sie oder Labels für die Spanner-Instanz aktualisieren.

Instanz verschieben

Anweisungen zum Verschieben Ihrer Instanz von einer beliebigen Instanzkonfiguration zu jede andere Instanzkonfiguration, auch zwischen regional und multiregional finden Sie unter Instanz verschieben.

Instanz löschen

Sie können eine Instanz über die Google Cloud Console oder die Google Cloud CLI löschen.

Wenn Sie eine Instanz mit einer oder mehreren Datenbanken löschen möchten, für die der Löschschutz aktiviert ist, müssen Sie zuerst den Löschschutz für alle Datenbanken in dieser Instanz deaktivieren, bevor Sie die Instanz löschen können.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf den Namen der Instanz, die Sie löschen möchten.

  3. Klicken Sie auf Instanz löschen.

  4. Folgen Sie den Anweisungen, um zu bestätigen, dass Sie die Instanz löschen möchten.

  5. Klicken Sie auf Löschen.

gcloud

Verwenden Sie den Befehl gcloud spanner instances delete. Ersetzen Sie dabei INSTANCE_ID durch die Instanz-ID:

gcloud spanner instances delete INSTANCE_ID

Instanz beenden oder neu starten

Spanner ist ein vollständig verwalteter Datenbankdienst, der seine eigenen zugrunde liegenden Aufgaben und Ressourcen überwacht und bei Bedarf Monitoring- und Neustartprozesse ohne Ausfallzeiten ausführt. Da keine manuelle Einrichtung eine bestimmte Instanz anhalten oder neu starten, bietet Spanner keine Möglichkeit, tun Sie dies.

Nächste Schritte