인스턴스 만들기

이 페이지에서는 SQL Server용 Cloud SQL 인스턴스를 만드는 방법을 설명합니다.

모든 인스턴스 설정에 관한 자세한 내용은 인스턴스 설정을 참조하세요.

새로 생성된 인스턴스에는 sqlserver 데이터베이스가 있습니다.

Cloud SQL 인스턴스를 만든 후 데이터베이스를 만들거나 가져오는 방식으로 추가합니다.

vCPU 및 메모리 크기 값 선택

SQL Server용 Cloud SQL 인스턴스를 만들 때 vCPU 및 메모리 요구사항에 따라 여러 머신 구성을 선택할 수 있습니다. 다음 섹션에서는 각 데이터베이스 버전 및 머신 유형의 vCPU 및 메모리 구성을 보여줍니다.

SQL Server 2017 Express, SQL Server 2019 Express, SQL Server 2022 Express

머신 유형 vCPU/메모리
경량
  • vCPU 1개, 3.75GB
  • vCPU 2개, 3.75GB
  • vCPU 4개, 3.75GB
Standard
  • vCPU 1개, 3.75GB
  • vCPU 2개, 7.50GB
  • vCPU 4개, 15GB
고성능 메모리
  • vCPU 4개, 26GB
  • vCPU 8개, 52GB
커스텀 vCPU 1~8개, 3.75~52GB

SQL Server 2017 Web, SQL Server 2019 Web, SQL Server 2022 Web

머신 유형 vCPU/메모리
경량
  • vCPU 1개, 3.75GB
  • vCPU 2개, 3.75GB
  • vCPU 4개, 3.75GB
Standard
  • vCPU 1개, 3.75GB
  • vCPU 2개, 7.50GB
  • vCPU 4개, 15GB
고성능 메모리
  • vCPU 4개, 26GB
  • vCPU 8개, 52GB
  • vCPU 16개, 104GB
커스텀 vCPU 1~32개, 3.75~208GB

SQL Server 2017 Standard, SQL Server 2019 Standard, SQL Server 2022 Standard

머신 유형 vCPU/메모리
경량
  • vCPU 1개, 3.75GB
  • vCPU 2개, 3.75GB
  • vCPU 4개, 3.75GB
Standard
  • vCPU 1개, 3.75GB
  • vCPU 2개, 7.50GB
  • vCPU 4개, 15GB
고성능 메모리
  • vCPU 4개, 26GB
  • vCPU 8개, 52GB
  • vCPU 16개, 104GB
커스텀 vCPU 1~48개, 3.75~312GB

SQL Server 2017 Enterprise, SQL Server 2019 Enterprise, SQL Server 2022 Enterprise

머신 유형 vCPU/메모리
경량
  • vCPU 2개, 3.75GB
  • vCPU 4개, 3.75GB
Standard
  • vCPU 2개, 7.50GB
  • vCPU 4개, 15GB
고성능 메모리
  • vCPU 4개, 26GB
  • vCPU 8개, 52GB
  • vCPU 16개, 104GB
커스텀 vCPU 2~96개, 3.75~624GB

동시 멀티스레딩

SQL Server용 Cloud SQL의 동시 멀티스레딩(SMT)을 사용하면 하나의 물리적 코어에서 2개의 가상 CPU(vCPU)를 독립적인 개별 스레드로 실행할 수 있습니다. SMT는 기본적으로 사용 설정됩니다. 그러나 라이선스 비용을 줄이기 위해 이를 중지할 수 있습니다.

SMT를 중지하면 인스턴스 성능에 영향을 미칠 수 있습니다. SMT를 중지하면 인스턴스 성능에 미치는 영향을 파악하려면 인스턴스에서 부하 테스트를 수행하는 것이 좋습니다.

인스턴스 만들기

콘솔

  1. Google Cloud 콘솔의 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. 인스턴스 만들기를 클릭합니다.
  3. SQL Server 선택을 클릭합니다.
  4. 인스턴스 정보 창인스턴스 ID 필드에 인스턴스 ID를 입력합니다.

    인스턴스 이름에 프로젝트 ID를 포함하지 않아도 됩니다. 필요한 경우 자동으로 포함됩니다(예: 로그 파일에서).

  5. 사용자의 비밀번호를 입력합니다.
  6. 인스턴스의 데이터베이스 버전을 선택합니다. 사용 가능한 버전을 보려면 드롭다운 화살표를 클릭합니다.
  7. 리전 및 영역 가용성 선택 섹션에서 인스턴스의 리전 및 영역을 선택합니다.

    인스턴스를 인스턴스에 액세스하는 리소스와 같은 리전에 배치합니다. 선택한 리전은 나중에 수정할 수 없습니다. 대부분의 경우 영역을 지정할 필요가 없습니다.

  8. 인스턴스 맞춤설정 섹션에서 인스턴스의 설정을 업데이트합니다. 예를 들어 실수로 인한 인스턴스 삭제를 방지할 수 있습니다.
  9. 만들기를 클릭합니다.
  10. 인스턴스의 초기화 프로세스가 완료되면 인스턴스 이름을 클릭하여 엽니다.

gcloud

gcloud CLI 설치 및 시작에 대한 자세한 내용은 gcloud CLI 설치를 참조하세요. Cloud Shell 시작에 대한 자세한 내용은 Cloud Shell 문서를 참조하세요.

gcloud 버전 243.0.0 이상을 사용해야 합니다.

실수로 인한 인스턴스 삭제를 보호하는 방법은 인스턴스 삭제 방지를 참조하세요.

  1. 다음과 같이 인스턴스를 만듭니다.
    gcloud beta sql instances create INSTANCE_NAME \
    --database-version=SQLSERVER_2017_STANDARD \
    --region=REGION_NAME \
    --cpu=NUMBER_OF_vCPUs \
    --memory=MEMORY_SIZE \
    --root-password=ROOT-PASSWORD
    

    인스턴스 이름에 프로젝트 ID를 포함하지 않아도 됩니다. 필요한 경우 자동으로 포함됩니다(예: 로그 파일에서).

    이 페이지의 앞에서 설명한 것처럼 vCPU 및 메모리 크기 값은 제한됩니다. vCPU 및 메모리 크기 값 선택을 참조하세요.

    예를 들어 다음 문자열은 vCPU가 2개 있고 메모리가 7,680MB인 인스턴스를 만듭니다.

    gcloud sql instances create myinstance \
    --database-version=SQLSERVER_2017_STANDARD \
    --region=us-central1 \
    --cpu=2 \
    --memory=7680MB \
    --root-password=EXAMPLE-PASSWORD
    

    샘플 값을 보려면 샘플 머신 유형을 참조하세요.

    인스턴스 설정 매개변수에 대해 알아보려면 gcloud sql instances create를 참조하세요.

  2. 자동 할당된 IP 주소를 기록합니다.

    Cloud SQL 인증 프록시를 사용하지 않는 경우 이 주소를 호스트 주소로 사용하여 애플리케이션 또는 도구에서 인스턴스로 연결합니다.

  3. 사용자의 비밀번호를 설정합니다.
    gcloud sql users set-password sqlserver no-host --instance=[INSTANCE_NAME] \
           --password=[PASSWORD]
    

Terraform

인스턴스를 만들려면 Terraform 리소스를 사용합니다.

resource "google_sql_database_instance" "instance" {
  name             = "sqlserver-instance"
  region           = "us-central1"
  database_version = "SQLSERVER_2019_STANDARD"
  root_password    = "INSERT-PASSWORD-HERE"
  settings {
    tier = "db-custom-2-7680"
  }
  # 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
}

REST v1beta4

1. 인스턴스 만들기

가능한 모든 필드가 아래의 기본 API 호출에 표시되지는 않습니다. JSON 요청의 프로토타입은 설정을 참조하세요.

Instances:insert 페이지도 참조하세요. 리전에 따른 유효값을 포함한 인스턴스 설정은 인스턴스 설정을 참조하세요. 머신 유형에 대한 자세한 내용은 커스텀 인스턴스 구성을 참조하세요.

instance-id는 외부에 공개되므로 민감한 정보나 개인 식별 정보를 포함하지 마세요.

인스턴스 이름에 프로젝트 ID를 포함하지 않아도 됩니다. 필요한 경우 자동으로 포함됩니다(예: 로그 파일에서).

collation 필드(아래 기본 API 호출에는 표시되지 않음)를 사용하면 인스턴스의 데이터베이스에 사용되는 콜레이션 유형의 기본값을 설정할 수 있습니다. 이 데이터 정렬 기본값은 인스턴스 수준에서는 영구적이지만 데이터베이스 수준에서는 그렇지 않습니다. 데이터베이스 관리 도구를 사용하여 이 기본값을 변경할 수 있지만 생성 또는 업데이트 중인 특정 데이터베이스의 경우에만 변경할 수 있습니다. 인스턴스를 다시 만들지 않는 한 인스턴스를 만든 후에는 인스턴스의 기본 데이터 정렬 값을 변경할 수 없습니다. SQL Server의 데이터 정렬에 대한 자세한 내용은 데이터 정렬 및 유니코드 지원을 참조하세요. JSON 요청의 프로토타입은 설정을 참조하세요. collation 매개변수에 지정할 수 있는 문자열의 예시에는 SQL_Latin1_General_CP1_CI_AS이 있습니다.

timeZone 필드(아래 기본 API 호출에는 표시되지 않음)를 사용하면 인스턴스의 기본 영구 시간대를 설정할 수 있습니다. 이 필드가 포함된 JSON 표현은 설정을 참조하세요. timeZone 필드에 지정할 수 있는 문자열의 예시에는 "Pacific Standard Time"이 있습니다. 자세히 알아보기

관리형 Microsoft AD와 통합되는 인스턴스를 만들려면 domain 필드에 subdomain.mydomain.com과 같은 도메인을 지정합니다. 자세한 내용은 Windows 인증을 사용하여 인스턴스 만들기를 참조하세요. 또한 다른 프로젝트에서 관리형 AD 도메인과 통합하기 위한 절차 및 제약조건을 참조하세요.

요청 본문에서 machine-type 값을 설정하는 방법은 커스텀 인스턴스 구성을 참조하세요.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • project-id: 프로젝트 ID
  • instance-id: 원하는 인스턴스 ID
  • region: 원하는 리전
  • database-version: 데이터베이스 버전의 열거형 문자열. 예를 들면 SQLSERVER_2017_STANDARD입니다.
  • password: 루트 사용자의 비밀번호
  • machine-type : db-custom-[CPUS]-[MEMORY_MBS]와 같은 머신(동급) 유형의 열거형 문자열

HTTP 메서드 및 URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances

JSON 요청 본문:

{
  "name": "instance-id",
  "region": "region",
  "databaseVersion": "database-version",
  "rootPassword": "password",
  "settings": {
    "tier": "machine-type",
    "backupConfiguration": {
      "enabled": true
    }
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-01T19:13:21.834Z",
  "operationType": "CREATE",
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

인스턴스가 생성되면 기본 사용자 계정을 구성할 수 있습니다.

2. 인스턴스의 IPv4 주소 검색

필요한 경우 자동으로 할당된 IPv4 주소를 검색할 수 있습니다. 이 주소는 응답의 ipAddress 필드에 있습니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • project-id: 프로젝트 ID
  • instance-id: 이전 단계에서 만든 인스턴스 ID

HTTP 메서드 및 URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "database-version",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "machine-type",
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "ipv4Enabled": true
    },
    "locationPreference": {
      "zone": "zone",
      "kind": "sql#locationPreference"
    },
    "dataDiskType": "PD_SSD",
    "backupConfiguration": {
      "startTime": "19:00",
      "kind": "sql#backupConfiguration",
      "enabled": true
    },
    "settingsVersion": "1",
    "dataDiskSizeGb": "10"
  },
  "etag": "--redacted--",
  "ipAddresses": [
    {
      "type": "PRIMARY",
      "ipAddress": "10.0.0.1"
    }
  ],
  "serverCaCert": {
    ...
  },
  "instanceType": "CLOUD_SQL_INSTANCE",
  "project": "project-id",
  "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com",
  "backendType": "backend-type",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "connectionName": "project-id:region:instance-id",
  "name": "instance-id",
  "region": "region",
  "gceZone": "zone"
}

커스텀 인스턴스 구성

커스텀 인스턴스 구성을 사용하면 인스턴스에 필요한 메모리와 CPU의 용량을 선택할 수 있습니다. 이러한 유연성 덕분에 워크로드에 적합한 VM 형태를 선택할 수 있습니다.

머신 유형 이름은 다음 형식을 사용합니다. db-custom-NUMBER_OF_vCPUs-MEMORY

NUMBER_OF_vCPUs를 머신의 CPU 수로 바꾸고 MEMORY를 머신의 메모리 양으로 바꿉니다.

예를 들어 머신 이름이 db-custom이고 머신에 1개의 CPU와 3,840MB의 RAM이 있는 경우 머신 형식은 db-custom-1-3840입니다.

CPU 수 및 메모리 양을 선택할 때 선택한 구성에 다음 제한사항이 적용됩니다.

  • 인스턴스에 구성할 수 있는 vCPU 수는 SQL Server 버전에 따라 달라집니다.
  • vCPU 수는 1 또는 2~96 사이의 짝수여야 합니다.
  • 메모리 크기는 다음과 같아야 합니다.
    • vCPU당 0.9~6.5GB
    • 256MB의 배수
    • 최소 3.75GB(3,840MB)

문제해결

문제 문제 해결
오류 메시지: Failed to create subnetwork. Router status is temporarily unavailable. Please try again later. Help Token: [token-ID]. Cloud SQL 인스턴스를 다시 만들어 보세요.

다음 단계