SQL Server 인스턴스 만들기

Compute Engine은 SQL Server로 사전 구성된 공개 이미지를 제공합니다. Compute Engine에서 실행할 수 있는 Windows 애플리케이션과 Windows Server 인스턴스에 대한 일반적인 내용은 Compute Engine으로 구동하는 Windows를 참조하세요.

성능 최적화 SQL Server 인스턴스를 만들고 구성하는 방법은 고성능 SQL Server 인스턴스 만들기를 참조하세요. 필요한 경우 HammerDB를 사용하여 SQL Server에서 부하 테스트를 실행할 수 있습니다. 참고: Windows Server 및 SQL Server 이미지는 추가 사용 요금이 발생하는 프리미엄 리소스입니다.

시작하기 전에

SQL Server 인스턴스 만들기

SQL Server 인스턴스를 만들려면 필요한 특정 버전의 SQL Server에 사용할 이미지 계열을 지정합니다. SQL Server 이미지 계열 목록은 공개 이미지 목록을 참조하세요.

최적의 성능을 위해 SQL Server 인스턴스에는 대부분의 Linux 인스턴스보다 더 많은 가상 CPU와 메모리를 가진 머신 유형이 필요합니다. SQL Server 인스턴스를 실행할 때는 vCPU가 2개 이상이고 메모리가 4GB 이상인 머신 유형을 사용하는 것이 좋습니다. 커스텀 머신 유형을 사용하여 워크로드의 성능 요구사항에 맞게 SQL Server 인스턴스를 구성할 수 있으며, 더 큰 영구 디스크와 더 빠른 SSD 영구 디스크를 사용하여 애플리케이션의 성능을 향상시킬 수도 있습니다.

또한 인스턴스가 속한 VPC 네트워크 또는 서브넷에서 SQL Server 트래픽을 허용하도록 특정 방화벽 규칙을 설정해야 합니다. 자세한 내용은 SQL Server 권장사항을 참조하세요.

Console

SQL Server 인스턴스를 만들려면 다음 단계를 진행합니다.

SQL Server가 있는 이미지의 경우 애플리케이션 탭에서 SQL Server 이미지를 선택해야 합니다.

  1. GCP Console에서 VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 인스턴스 만들기를 클릭합니다.
  3. 부팅 디스크 섹션에서 변경을 클릭하여 부팅 디스크 구성을 시작합니다.
  4. Application images 탭에서 a SQL Server image를 선택합니다.

  5. 선택을 클릭합니다.
  6. 만들기를 클릭하여 인스턴스를 만듭니다.

인스턴스를 만든 후 인스턴스의 SQL Server에 액세스할 수 있도록 허용하는 방화벽 규칙을 만듭니다. 기본 SQL Server 포트는 1433입니다.

  1. Cloud Console에서 방화벽 규칙 페이지로 이동합니다. 방화벽 규칙 페이지로 이동
  2. 페이지 상단에서 방화벽 규칙 만들기를 클릭하여 방화벽 규칙 만들기를 시작합니다.
  3. 방화벽 규칙의 세부정보를 지정합니다.
    • 이름 필드에서 방화벽 규칙의 이름을 지정합니다.
    • VPC 네트워크 필드에서 SQL Server 인스턴스가 있는 VPC 네트워크를 선택합니다.
    • 트래픽 방향으로 인그레스를 선택합니다.
    • 소스 필터 필드에서 이 포트에 액세스할 수 있도록 허용할 IP 범위를 선택합니다. 이 예시에서는 모든 소스에서 허용을 선택할 수 있습니다.
    • 허용된 프로토콜 및 포트 섹션에 SQL Server에서 사용되는 포트를 입력합니다. 이 예시에서는 기본 포트인 tcp:1433;을 지정합니다.
  4. 만들기를 클릭하여 이 방화벽 규칙을 만들고 포트 1433을 통해 SQL Server 인스턴스에 액세스할 수 있도록 허용합니다.

인스턴스에 방화벽 규칙을 추가해야 하는 경우 방화벽 규칙 문서를 참조하세요.

gcloud

compute images list 명령어를 사용하여 사용 가능한 SQL Server 이미지의 목록을 확인합니다.

gcloud compute images list --project windows-sql-cloud --no-standard-images

compute instances create 명령어를 사용하여 새 인스턴스를 만들고 Windows Server 또는 SQL Server 공개 이미지 중 하나의 이미지 계열을 지정합니다.

gcloud compute instances create [INSTANCE_NAME] \
    --image-project windows-sql-cloud \
    --image-family [IMAGE_FAMILY] \
    --machine-type [MACHINE_TYPE] \
    --boot-disk-size [BOOT_DISK_SIZE] \
    --boot-disk-type [BOOT_DISK_TYPE]

각 항목의 의미는 다음과 같습니다.

  • [INSTANCE_NAME]은 새 인스턴스의 이름입니다.
  • [IMAGE_FAMILY]는 Windows Server 이미지 또는 SQL Server 이미지의 공개 이미지 계열 중 하나입니다.
  • [MACHINE_TYPE]은 사용 가능한 머신 유형 중 하나입니다.
  • [BOOT_DISK_SIZE]는 부팅 디스크의 크기(GB 단위)입니다. 영구 디스크가 클수록 처리량이 높습니다.
  • [BOOT_DISK_TYPE]은 인스턴스의 부팅 디스크 유형입니다. 더 빠른 SSD 영구 디스크를 사용하려면 pd-ssd를, 표준 HDD 영구 디스크를 사용하려면 pd-standard를 지정합니다.

인스턴스를 만든 후 인스턴스의 SQL Server에 액세스할 수 있도록 허용하는 방화벽 규칙을 만듭니다. 기본 SQL Server 포트는 1433입니다.

gcloud compute firewall-rules create sql-server-1433 \
--description "Allow SQL Server access from all sources on port 1433." \
--allow tcp:1433 --network [NETWORK]

여기서, [NETWORK]는 인스턴스가 있는 VPC 네트워크의 이름입니다.

인스턴스에 방화벽 규칙을 추가해야 하는 경우 방화벽 규칙 문서를 참조하세요.

API

API를 사용하여 인스턴스를 만들려면 인스턴스 생성 요청에 initializeParams 속성을 포함하고 Windows 이미지를 지정합니다.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances

instance = {
  "name": "[INSTANCE_NAME]",
  "machineType": "zones/[ZONE]/machineTypes/[MACHINE_TYPE]",
  "disks": [{
      "boot": "true",
      "type": "PERSISTENT",
      "initializeParams": {
         "diskName": "[DISK_NAME]",
         "sourceImage": "projects/windows-sql-cloud/global/images/family/[IMAGE_FAMILY]",
         "diskSizeGb": "[BOOT_DISK_SIZE]",
         "diskType": "[BOOT_DISK_TYPE]",
       }
    }],
  "networkInterfaces": [{
    "accessConfigs": [{
      "type": "ONE_TO_ONE_NAT",
      "name": "External NAT"
     }],
    "network": "global/networks/default"
  }],
  "serviceAccounts": [{
       "email": DEFAULT_SERVICE_EMAIL,
       "scopes": DEFAULT_SCOPES
  }]
}

각 항목의 의미는 다음과 같습니다.

  • [PROJECT_ID]는 프로젝트의 ID입니다.
  • [ZONE]은 이 인스턴스의 영역입니다.
  • [INSTANCE_NAME]은 새 인스턴스의 이름입니다.
  • [IMAGE_FAMILY]는 Windows Server 이미지 또는 SQL Server 이미지의 공개 이미지 계열 중 하나입니다.
  • [IMAGE_PROJECT]는 Windows Server 이미지의 경우 windows-cloud이며, SQL Server가 사전 설치된 Windows Server 이미지의 경우 windows-sql-cloud입니다.
  • [MACHINE_TYPE]은 사용 가능한 머신 유형 중 하나입니다.
  • [BOOT_DISK_SIZE]는 부팅 디스크의 크기(GB 단위)입니다. 영구 디스크가 클수록 처리량이 높습니다.
  • [BOOT_DISK_TYPE]은 인스턴스의 부팅 디스크 유형입니다. 더 빠른 SSD 영구 디스크를 사용하려면 pd-ssd를, 표준 HDD 영구 디스크를 사용하려면 pd-standard를 지정합니다.

인스턴스를 만든 후 인스턴스의 SQL Server에 액세스할 수 있도록 허용하는 방화벽 규칙을 만듭니다. 기본 SQL Server 포트는 1433입니다.

POST https://compute.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/firewalls

{
 "name": "sql-server-1433",
 "network": "global/networks/[NETWORK]",
 "allowed": [
  {
   "IPProtocol": "tcp",
   "ports": [
    "1433"
   ]
  }
 ]
}

각 항목의 의미는 다음과 같습니다.

  • [PROJECT_ID]는 프로젝트의 ID입니다.
  • [NETWORK]는 인스턴스가 있는 VPC 네트워크의 이름입니다.

SQL Server 인스턴스를 만든 후에는 RDP를 통해 인스턴스에 연결할 수 있도록 인스턴스의 초기 비밀번호를 설정합니다. 그런 다음 SQL Server Management Studio를 사용하여 SQL Server 인스턴스의 데이터베이스를 관리합니다.

또한 다음 항목 중 하나 이상을 사용하여 SQL Server 설치를 향상시킬 수 있습니다.

SQL Server 데이터베이스 관리

SQL Server Management Studio를 사용하여 SQL Server 데이터베이스를 구성합니다. 로컬 워크스테이션에서 SQL Server Management Studio를 다운로드 및 설치하고 이를 사용하여 원격으로 인스턴스의 데이터베이스 엔진에 연결할 수 있습니다.

로컬 워크스테이션에 Management Studio를 설치할 수 없는 경우 RDP를 통해 인스턴스에 연결하고 인스턴스 자체에서 Management Studio를 실행합니다. SQL Server 2012 및 SQL Server 2014에는 SQL Server Management Studio가 기본적으로 포함되어 있습니다. SQL Server 2016의 경우, Microsoft 웹사이트에서 SQL Server Management Studio를 다운로드하여 인스턴스에 설치해야 합니다.

기본적으로 SQL Server에서는 Windows 인증 모드를 사용하여 SQL Server 자체에 대한 원격 액세스를 제어합니다. SQL Server 인증 모드를 사용해야 하는 경우 인증 모드를 변경합니다.

다음 단계