View instance information

This page describes how to view information about a Cloud SQL instance.

View instance summary information

You can view summary information about Cloud SQL instances by using the Google Cloud console, gcloud CLI, or the API.

Console

  1. In the Google Cloud console, go to the Cloud SQL Instances page.

    Go to Cloud SQL Instances

    The following information appears about Cloud SQL instances that have Private Service Connect enabled for them:

  2. To see the current instance state, hold the pointer over the status icon next to an instance name.

    If the instance is in a FAILED or MAINTENANCE state, then you can recover the instance by selecting a time from the past and restoring the instance to its state at that time.

  3. To open the Overview page of an instance, click the instance name.

    In the Connect to this instance card, the following additional information appears about Cloud SQL instances with Private Service Connect enabled:

    • Private IP connectivity: the status is Enabled because the instance must have an internal IP address
    • Allowed projects: these projects allow connections from Private Service Connect endpoints to the instance
    • Service attachment: the service attachment of the instance
    • Public IP connectivity: the status is Disabled because external IP connections aren't supported
  4. To see connectivity information about the instance, including whether an internal or external IP address is added to the instance, any authorized networks associated with the instance, and whether other Google Cloud services, such as BigQuery, can access data in Cloud SQL and make queries against this data over an internal connection, click the Connections tab.

    For more information about this tab, see About connection options.

  5. Click the Networking tab. The following information appears about instances that have Private Service Connect enabled for them:

    • The Private IP checkbox is selected, but deactivated. The instance must have an internal IP address, and this setting can't be changed.
    • The allowed projects for the instance.
    • The Public IP checkbox is selected, but deactivated.
    • The Authorized networks field is deactivated because the instance uses Private Service Connect, which doesn't support this feature.

gcloud

For information about installing and getting started with the gcloud CLI, see Install the gcloud CLI. For information about starting Cloud Shell, see Use Cloud Shell.

  1. To view summary information about an instance, use the gcloud sql instances describe command:

    gcloud sql instances describe INSTANCE_NAME \
    --project=PROJECT_ID

    Make the following replacements:

    Here's an example of the output for running this command:

    gcloud sql instances describe myinstance \
    --project=12345
    ...
    dnsName: mydnsname
    ...
    pscServiceAttachmentLink: projects/myproject/regions/myregion/serviceAttachments/myserviceattachment
    ...
     settings:
      ...
      ipConfiguration:
      ipv4Enabled: false
      pscConfig:
        allowedConsumerProjects:
          - projects/23456
          - projects/34567
        pscEnabled: true
  2. To view more-detailed information about instances that have Private Service Connect enabled for them, add the following parameters:
  3. Setting Parameter Notes
    DNS Name dnsName The DNS name for the instance. We recommend that you create a DNS record with this name and point it to the IP address of the Private Service Connect endpoint. We also recommend that you use this name to connect to the instance.
    Service attachment pscServiceAttachmentLink The URI that points to the service attachment of the instance. Use this URI to create the Private Service Connect endpoint.
    Allowed consumer projects allowedConsumerProjects A list of the allowed projects for the instance. You can create Private Service Connect endpoints from any VPC networks in these projects to the service attachment of the instance.
    Enabling Private Service Connect pscEnabled Whether an instance has Private Service Connect enabled for it.

Terraform

To create an instance, use a Terraform resource.

resource "google_sql_database_instance" "postgres_pvp_instance_name" {
  name             = "postgres-pvp-instance-name"
  region           = "asia-northeast1"
  database_version = "POSTGRES_14"
  root_password    = "abcABC123!"
  settings {
    tier = "db-custom-2-7680"
    password_validation_policy {
      min_length                  = 6
      reuse_interval              = 2
      complexity                  = "COMPLEXITY_DEFAULT"
      disallow_username_substring = true
      password_change_interval    = "30s"
      enable_password_policy      = true
    }
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

Apply the changes

To apply your Terraform configuration in a Google Cloud project, complete the steps in the following sections.

Prepare Cloud Shell

  1. Launch Cloud Shell.
  2. Set the default Google Cloud project where you want to apply your Terraform configurations.

    You only need to run this command once per project, and you can run it in any directory.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Environment variables are overridden if you set explicit values in the Terraform configuration file.

Prepare the directory

Each Terraform configuration file must have its own directory (also called a root module).

  1. In Cloud Shell, create a directory and a new file within that directory. The filename must have the .tf extension—for example main.tf. In this tutorial, the file is referred to as main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. If you are following a tutorial, you can copy the sample code in each section or step.

    Copy the sample code into the newly created main.tf.

    Optionally, copy the code from GitHub. This is recommended when the Terraform snippet is part of an end-to-end solution.

  3. Review and modify the sample parameters to apply to your environment.
  4. Save your changes.
  5. Initialize Terraform. You only need to do this once per directory.
    terraform init

    Optionally, to use the latest Google provider version, include the -upgrade option:

    terraform init -upgrade

Apply the changes

  1. Review the configuration and verify that the resources that Terraform is going to create or update match your expectations:
    terraform plan

    Make corrections to the configuration as necessary.

  2. Apply the Terraform configuration by running the following command and entering yes at the prompt:
    terraform apply

    Wait until Terraform displays the "Apply complete!" message.

  3. Open your Google Cloud project to view the results. In the Google Cloud console, navigate to your resources in the UI to make sure that Terraform has created or updated them.

Delete the changes

To delete your changes, do the following:

  1. To disable deletion protection, in your Terraform configuration file set the deletion_protection argument to false.
    deletion_protection =  "false"
  2. Apply the updated Terraform configuration by running the following command and entering yes at the prompt:
    terraform apply
  1. Remove resources previously applied with your Terraform configuration by running the following command and entering yes at the prompt:

    terraform destroy

REST v1

Before using any of the request data, make the following replacements:

HTTP method and URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

To send your request, expand one of these options:

You should receive a JSON response similar to the following:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "POSTGRES_13",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-custom-2-7680",
    "kind": "sql#settings",
    "availabilityType": "REGIONAL",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "pscConfig": {
        "allowedConsumerProjects": [
          "ALLOWED_PROJECTS"
        ],
        "pscEnabled": true
      },
      "ipv4Enabled": false
    },
  ...
  "createTime": "2023-06-14T18:48:34.975Z",
  "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE",
  "pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID",
  "dnsName": "DNS_NAME"
}

The following fields exist for instances that have Private Service Connect enabled for them:

  • allowedConsumerProjects: a list of the allowed projects for the instance. You can create Private Service Connect endpoints from any VPC networks in these projects to the service attachment of the instance.
  • pscEnabled: whether an instance has Private Service Connect enabled for it.
  • pscServiceAttachmentLink: the URI that points to the service attachment of the instance. Use this URI to create the Private Service Connect endpoint.
  • dnsName: the DNS name for the instance. We recommend that you create a DNS record with this name and point it to the IP address of the Private Service Connect endpoint. We also recommend that you use this name to connect to the instance.

To see how to construct the underlying REST API request for this task, see the instances:get page.

REST v1beta4

Before using any of the request data, make the following replacements:

HTTP method and URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

To send your request, expand one of these options:

You should receive a JSON response similar to the following:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "POSTGRES_13",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-custom-2-7680",
    "kind": "sql#settings",
    "availabilityType": "REGIONAL",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "pscConfig": {
        "allowedConsumerProjects": [
          "ALLOWED_PROJECTS"
        ],
        "pscEnabled": true
      },
      "ipv4Enabled": false
    },
  ...
  "createTime": "2023-06-14T18:48:34.975Z",
  "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE",
  "pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID",
  "dnsName": "DNS_NAME"
}

The following fields exist for instances that have Private Service Connect enabled for them:

  • allowedConsumerProjects: a list of the allowed projects for the instance. You can create Private Service Connect endpoints from any VPC networks in these projects to the service attachment of the instance.
  • pscEnabled: whether an instance has Private Service Connect enabled for it.
  • pscServiceAttachmentLink: the URI that points to the service attachment of the instance. Use this URI to create the Private Service Connect endpoint.
  • dnsName: the DNS name for the instance. We recommend that you create a DNS record with this name and point it to the IP address of the Private Service Connect endpoint. We also recommend that you use this name to connect to the instance.

You might see some banners at the top suggesting actions that you might want to take.

View the write endpoint

A write endpoint is a global domain name service (DNS) name that resolves to the IP address of the current primary instance automatically. This endpoint redirects incoming connections to the new primary instance automatically in case of a replica failover or switchover operation. You can use the write endpoint in a SQL connection string instead of an IP address. By using a write endpoint, you can avoid having to make application connection changes when a regional outage occurs.

Cloud SQL generates a write endpoint automatically for your Cloud SQL Enterprise Plus edition instance if you do the following:

  1. Enable the Cloud DNS API for your Google Cloud project.
  2. Create the instance.

  3. Select Enterprise Plus as the Cloud SQL edition for your instance.
  4. Add a private IP address to the instance.
  5. Specify an associated network for the instance.
  6. Optionally, specify an allocated IP range for the instance.

If you already have a Cloud SQL Enterprise Plus edition instance and you want Cloud SQL to generate a write endpoint automatically, then create a replica that's enabled for advanced disaster recovery.

For more information about retrieving the write endpoint and using it to connect to the instance, see Connect by using a write endpoint.

Metrics

This section provides usage charts of key instance metrics that you can use to monitor your instances. When working with metric data, keep the following facts in mind:

  • A data point for a metric is an aggregate over all databases hosted by the instance.
  • Data is reported in local time.
  • Rendered charts do not refresh automatically; to see new data, you must refresh the page.
  • There is a delay of a few minutes between when metric data is recorded and the time it is displayed in the usage charts.

For more information about the metrics shown in the chart, see Monitoring Cloud SQL instances.

For a complete list of Cloud SQL metrics provided by Cloud Monitoring, see the Cloud SQL metrics list.

For more information about using Cloud Monitoring with Google Cloud, see the Cloud Monitoring documentation.

Connect to this instance

In the Connect to this instance section, you can find your instance's IP addresses, VPC network, and connection name.

To open a terminal and connect to your instance, click Connect using Cloud Shell.

To open a related tutorial in the right pane, click Connect from a Compute Engine VM instance.

To go to Connection options, click See all connection methods.

For more information about connecting to an instance, see Connecting overview.

Service account

This section shows the instance's service account email address.

For more information, see the IAM service accounts documentation.

Configuration

This section shows current configuration settings of the instance.

To change configuration settings, click Edit configuration.

For more information about editing the instance configuration, see editing an instance.

Operations and logs

This section lists recent instance operations, such as creating backups.

To see recent operations, click View all operations.

To see logging information, click View PostgreSQL Error Logs.

For more information about the Operations and the Logs Explorer pages, see Cloud SQL logging.

For generic information about logging, see Viewing logs and Exporting logs.

Maintenance

This section shows the current maintenance update settings and schedule.

To change preferences, click Edit maintenance preferences.

To change notification settings, click Edit notification preferences.

For more information about maintenance in Cloud SQL, see Maintenance overview.

What's next