Cloud SQL에서는 페이지로 나눈 보고서를 생성, 배포, 관리하는 데 도움이 되는 SQL Server Reporting Services(SSRS)를 지원합니다.
이 페이지에서는 Cloud SQL에서 SSRS를 사용하기 위한 기본 요건, 설정 절차, 제한사항을 제공합니다.
시작하기 전에
Cloud SQL에서 SSRS를 사용하려면 다음 요건을 충족해야 합니다.
- 보고서 서버 데이터베이스를 호스팅할 Cloud SQL 인스턴스
- SSRS를 설치하고 실행하는 호스트. Compute Engine VM 또는 Compute Engine을 사용하지 않는 호스트일 수 있습니다. 설치 안내는 SQL Server Reporting Services 설치를 참조하세요.
Cloud SQL 인스턴스의 호스트 이름을 할당하는 Cloud DNS 레코드 다음 옵션 중 하나를 사용하여 호스트 이름을 만들 수 있습니다.
- Cloud DNS: Cloud DNS를 사용하여 인스턴스를 가리키는 호스트 이름을 만듭니다.
- 커스텀 DNS 영역: 자체 DNS 영역을 관리하는 경우 원하는 호스트 이름을 인스턴스의 IP 주소에 매핑하는 A 레코드를 만듭니다.
- 로컬 호스트 이름 매핑: 시스템의
hosts파일을 수정하여 인스턴스의 커스텀 별칭을 만듭니다.
두 개의 기존 Cloud SQL 로그인, 설정 로그인 및 서비스 로그인. 로그인을 만들려면
gcloud sql users create를 참조하세요.
절차
Cloud SQL에서 SSRS를 설정하려면 다음 단계를 수행합니다.
SSRS 임대 획득
SSRS를 사용하려면 설정 중 승격된 권한이 필요합니다. 인스턴스에 대해 SSRS 임대를 획득하려면 다음 명령어를 사용합니다.
gcloud
다음 명령어를 사용하여 임대를 획득합니다.
gcloud sql instances acquire-ssrs-lease INSTANCE_NAME \ --project=PROJECT_NAME \ --setup-login=SETUP_LOGIN \ --service-login=SERVICE_LOGIN \ --report-database=REPORT_DATABASE \ --duration=DURATION \
다음 표에서는 이 작업의 gcloud 매개변수를 설명합니다.
| 매개변수 | 설명 | 허용되는 값 | 기본값 |
--setup-login |
필수. SSRS 설정 중에 인스턴스에 연결하는 데 사용되는 로그인입니다. 이는 보고서 서버 데이터베이스를 설정할 때 보고서 서버 구성 관리자에서 요청하는 첫 번째 로그인입니다. | sqlserver와 같은 기존 SQL Server 로그인이어야 합니다. |
없음 |
--service-login |
필수. SSRS 설정 중 보고서 서버 데이터베이스에 연결하는 데 사용하는 SQL Server 로그인입니다. 이는 보고서 서버 데이터베이스를 설정할 때 보고서 서버 구성 관리자에서 요청되는 두 번째 로그인입니다. | 기존 SQL Server 로그인이어야 하며 설치 로그인과 달라야 합니다. | 없음. |
--report-database |
필수. 인스턴스의 기존 또는 새 보고서 데이터베이스 이름입니다. | 보고서 데이터베이스 이름에 공백, 괄호, 영어 이외의 문자와 같은 특정 특수문자는 허용되지 않습니다. | 없음 |
--duration |
(선택사항) SSRS 설정을 수행할 수 있는 SSRS 임대가 활성 상태인 시간입니다. | 1~12시간 사이입니다. 예를 들면 4h입니다. |
5시간 |
REST v1
REST API를 사용하여 인스턴스에서 SSRS 임대를 획득할 수 있습니다. SSRS 임대를 획득하려면 다음을 지정합니다.- 서로 다른 SQL Server 로그인 두 개, 설정 로그인 및 서비스 로그인
- 보고서 데이터베이스 이름
- 임대 활성 기간
DURATION 필드만 선택사항입니다. 자세한 내용은 AcquireSsrsLeaseContext를 참조하세요.
- PROJECT_ID: 프로젝트 ID입니다.
- INSTANCE_NAME: 인스턴스 이름
- SETUP_LOGIN: SSRS 설정 중에 SQL Server 인스턴스에 연결하는 데 사용되는 SQL Server 로그인입니다. 이는 보고서 서버 데이터베이스를 설정할 때 보고서 서버 구성 관리자에서 요청하는 첫 번째 로그인입니다.
- SERVICE_LOGIN: SSRS 설정 중 보고서 서버 데이터베이스에 연결하는 데 사용하는 SQL Server 로그인입니다. 이는 보고서 서버 데이터베이스를 설정할 때 보고서 서버 구성 관리자에서 요청되는 두 번째 로그인입니다.
- REPORT_DATABASE: 인스턴스의 기존 또는 새 보고서 데이터베이스 이름입니다. Microsoft에서는 보고서 데이터베이스 이름에 공백, 괄호, 영어 이외의 문자와 같은 특정 특수문자를 허용하지 않습니다.
- DURATION: (선택사항) SSRS 설정을 수행할 수 있는 SSRS 임대가 활성 상태인 시간입니다.
1~12시간 사이입니다(예:
4h).
HTTP 메서드 및 URL:
POST https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/acquireSsrsLeaseJSON 요청 본문:
{ "acquireSsrsLeaseContext": { "setupLogin": SETUP_LOGIN, "serviceLogin": SERVICE_LOGIN, "reportDatabase": REPORT_DATABASE, "duration": DURATION, } }
REST v1beta4
REST API를 사용하여 인스턴스에서 SSRS 임대를 획득할 수 있습니다. SSRS 임대를 획득하려면 다음을 지정합니다.- 서로 다른 SQL Server 로그인 두 개, 설정 로그인 및 서비스 로그인
- 보고서 데이터베이스 이름
- 임대 활성 기간
DURATION 필드만 선택사항입니다. 자세한 내용은 AcquireSsrsLeaseContext를 참조하세요.
- PROJECT_ID: 프로젝트 ID입니다.
- INSTANCE_NAME: 인스턴스 이름
- SETUP_LOGIN: SSRS 설정 중에 SQL Server 인스턴스에 연결하는 데 사용되는 SQL Server 로그인입니다. 이는 보고서 서버 데이터베이스를 설정할 때 보고서 서버 구성 관리자에서 요청하는 첫 번째 로그인입니다.
- SERVICE_LOGIN: SSRS 설정 중 보고서 서버 데이터베이스에 연결하는 데 사용하는 SQL Server 로그인입니다. 이는 보고서 서버 데이터베이스를 설정할 때 보고서 서버 구성 관리자에서 요청되는 두 번째 로그인입니다.
- REPORT_DATABASE: 인스턴스의 기존 또는 새 보고서 데이터베이스 이름입니다. Microsoft에서는 보고서 데이터베이스 이름에 공백, 괄호, 영어 이외의 문자와 같은 특정 특수문자를 허용하지 않습니다.
- DURATION: (선택사항) SSRS 설정을 수행할 수 있는 SSRS 임대가 활성 상태인 시간입니다.
1~12시간 사이입니다(예:
4h).
HTTP 메서드 및 URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/acquireSsrsLeaseJSON 요청 본문:
{ "acquireSsrsLeaseContext": { "setupLogin": SETUP_LOGIN, "serviceLogin": SERVICE_LOGIN, "reportDatabase": REPORT_DATABASE, "duration": DURATION, } }
SSRS 설정
SSRS 설정을 수행하려면 다음 단계를 따르세요.
- SSRS가 설치된 호스트에서 Reporting Services 구성 관리자를 엽니다.
- 로컬 보고서 서버 인스턴스에 연결합니다.
- 데이터베이스 변경을 클릭합니다.
- Cloud DNS에 생성된 SQL Server 호스트 이름과 SSRS 임대에 사용된 설정 로그인의 SQL Server 로그인 사용자 인증 정보를 입력합니다.
- 새 보고서 서버 데이터베이스 또는 SSRS 임대에 사용된 기존 보고서 데이터베이스의 이름을 입력합니다.
- SSRS 임대에 사용된 서비스 로그인의 SQL Server 로그인 사용자 인증 정보를 입력합니다.
- 다음을 클릭하고 마지막 단계를 완료합니다.
- 아직 설정하지 않았으면 웹 서비스 URL 및 웹 포털 URL을 구성합니다. 웹 포털이 몇 초 내에 성공적으로 로드됩니다.
SSRS 임대 해제
임대를 수동으로 해제하거나 임대가 자동으로 만료될 때까지 기다릴 수 있습니다. 설정에 필요한 승격된 권한을 되돌리고 서비스 로그인이 보고서 데이터베이스에 연결하도록 허용하려면 임대를 해제해야 합니다. 임대가 만료되거나 수동으로 해제될 때까지 서비스 로그인은 보고서 데이터베이스에 액세스할 수 없습니다. 다음 명령어는 SSRS 임대를 해제합니다.
gcloud
다음 명령어를 사용하여 임대를 해제합니다.
gcloud sql instances release-ssrs-lease INSTANCE_NAME \ --project=PROJECT_NAME
REST v1
REST API를 사용하여 인스턴스의 SSRS 임대를 해제할 수 있습니다. 다음 요청 예시에 표시된 것처럼 인스턴스 이름과 프로젝트 ID만 제공하면 됩니다.
- PROJECT_ID: 프로젝트 ID입니다.
- INSTANCE_NAME: 인스턴스 이름
HTTP 메서드 및 URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/releaseSsrsLeaseREST v1beta4
REST API를 사용하여 인스턴스의 SSRS 임대를 해제할 수 있습니다. 다음 요청 예시에 표시된 것처럼 인스턴스 이름과 프로젝트 ID만 제공하면 됩니다.
- PROJECT_ID: 프로젝트 ID입니다.
- INSTANCE_NAME: 인스턴스 이름
HTTP 메서드 및 URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/releaseSsrsLease제한사항
- Cloud SQL에서 SSRS 보고서를 호스팅하거나 실행할 수 없습니다.
- 보고서 데이터베이스 설정에는 Active Directory 로그인이 지원되지 않습니다.
- 보고서 데이터베이스 이름에는 영숫자 문자와 하이픈만 포함할 수 있습니다.
- 보고서 서버 구성 관리자를 통해 보고서 데이터베이스에 연결하는 데 사용되는 로그인을 변경하려면 임대를 획득해야 합니다.
- 서비스 로그인으로 처리되는 데이터베이스의 경우 SSRS 설정 완료와 임대 해제 사이에 sql 파일 가져오기 및 복제된 데이터베이스 삭제 작업이 실패할 수 있습니다.
- 가져온 보고서 데이터베이스에서 서비스 로그인을 위한 데이터베이스 사용자를 삭제하고 다시 만들어야 합니다. 이는 가져온 데이터베이스의 기존 사용자가 새 인스턴스에 속하지 않기 때문입니다.
- SSRS에서 수평 확장 배포를 위해 새 보고서 서버를 추가할 때는 보고서 서버를 호스팅하는 모든 새 Windows VM에 대해 SSRS 임대를 획득하고 해제해야 합니다. 각 Cloud SQL 인스턴스에서 기존 보고서 데이터베이스를 사용하여 새 보고서 데이터베이스를 구성해야 합니다.
- 보고서 서버 구성 관리자에서 보고서 서버 데이터베이스의 로그인 사용자 인증 정보를 변경할 때마다 새 임대를 생성해야 합니다.
자주 묻는 질문(FAQ)
다음 섹션에서는 SSRS와 관련하여 자주 묻는 질문(FAQ)에 대한 답변을 제공합니다.
설정 및 임대 메커니즘
다음 섹션에서는 설정 및 SSRS 임대 관련 질문에 대한 답변을 제공합니다.
Cloud SQL로 SSRS를 설정하려면 어떻게 해야 하나요?
Compute Engine VM과 같은 별도의 Windows 호스트에 SSRS를 설치해야 합니다. 그런 다음 ReportServer 및 ReportServerTempDB 데이터베이스에 Cloud SQL 인스턴스를 사용하도록 SSRS를 구성합니다. Cloud SQL을 사용하여 설정을 관리하는 경우 'SSRS 리스'는 이 프로세스의 중요한 부분입니다.
SSRS 리스란 무엇이며 왜 필요한가요?
SSRS 설정에는 일반적으로 sysadmin 권한이 필요하지만 Cloud SQL의 사용자에게는 이 권한이 부여되지 않습니다. 임대 메커니즘은 데이터베이스 설정을 완료하기 위해 지정된 SQL Server 로그인(예: --setup-login)에 필요한 상승된 권한을 일시적으로 부여합니다.
구성 전에 gcloud sql instances acquire-ssrs-lease를 사용하여 리스를 획득하고 나중에 gcloud sql instances release-ssrs-lease를 사용하여 리스를 해제합니다.
리스에는 구성 가능한 기간이 있습니다.
인증
다음 섹션에서는 인증 관련 질문에 답변합니다.
설정에 Windows 인증 (Microsoft Active Directory)을 사용할 수 있나요?
아니요. 임대를 획득하고 보고서 서버 데이터베이스를 구성할 때는 --setup-login 및 --service-login 매개변수에 SQL Server 로그인을 사용해야 합니다. 이 초기 설정 프로세스에서는 Windows 로그인이 지원되지 않습니다.
설정에는 SQL 로그인이 필요하지만 Cloud SQL 인스턴스와 SSRS 호스트가 다음 도메인 유형 중 하나에 모두 조인된 경우 보고서에 액세스하는 데 Windows 인증을 사용할 수 있습니다.
제한사항
다음 섹션에서는 제한사항과 관련된 질문에 대한 답변을 제공합니다.
Cloud SQL에서 SSRS를 사용할 때의 제한사항은 무엇인가요?
- 데이터베이스 설정 단계에는 Microsoft Active Directory 로그인이 없습니다.
- 보고서 데이터베이스 이름에는 영숫자 문자와 하이픈만 포함할 수 있습니다.
- 나중에 서비스 계정 사용자 인증 정보를 변경하려면 새 리스를 획득해야 합니다.
- 수평 확장 배포에는 각 새 SSRS 호스트에 대한 임대 프로세스가 필요합니다.
- 기존 보고서 서버 데이터베이스를 가져오려면 서비스 로그인 사용자를 다시 매핑하는 단계를 수동으로 실행해야 합니다.
가격 책정 고려사항
다음 섹션에서는 가격 책정 고려사항을 해결하는 데 도움이 됩니다.
라이선스와 관련된 비용은 얼마인가요?
- Cloud SQL 인스턴스에 SQL Server 라이선스가 필요합니다.
SSRS는 별도의 Windows 머신에서 실행되므로 해당 머신의 Windows OS 및 SQL Server 구성요소에 적절한 라이선스가 부여되어 있는지 확인하세요. Microsoft 정책에 따라 별도의 서버에서 SSRS를 실행하려면 추가 SQL Server 라이선스가 필요할 수 있습니다. Cloud SQL에서는 사전 빌드된 SQL Server 이미지를 제공합니다.
자세한 내용은 Google Cloud의 SQL Server를 참고하세요.
자동화
다음 섹션에서는 자동화와 관련된 질문에 답변합니다.
SSRS 호스트 설치 및 구성 프로세스를 자동화할 수 있나요?
gcloud CLI 또는 REST API를 사용하여 Cloud SQL 내에서 SSRS 리스를 획득하고 해제하는 작업을 실행할 수 있습니다.
Windows 환경 내 SSRS 설치 및 구성에는 일반적으로 Reporting Services Configuration Manager 인터페이스를 통한 수동 단계가 포함되므로 완전한 엔드 투 엔드 자동화가 더 어려워집니다.
자세한 내용은 SSRS 설치 및 구성을 참고하세요.
유지보수
다음 섹션에서는 유지보수와 관련된 질문에 답변합니다.
SSRS 사용과 관련된 잠재적인 관리 및 유지보수 활동은 무엇인가요?
시작하기 전에 별도의 SSRS 서버와 관련된 지속적인 관리 오버헤드를 고려하세요. SSRS 서비스를 실행하는 Windows VM을 관리, 패치, 보안 유지할 책임은 사용자에게 있습니다. Cloud SQL은 데이터베이스 인스턴스만 관리합니다.