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 レコード。ホスト名は、次のいずれかの方法で作成できます。
既存の 2 つの Cloud SQL ログイン(設定ログインとサービス ログイン)。ログインを作成するには、
gcloud sql users createをご覧ください。Windows 認証を使用する場合は、マネージド Active Directory を使用して SQL Server インスタンスと SSRS を実行しているホストに参加する必要があります。詳細については、Cloud SQL でマネージド Microsoft AD を使用するをご覧ください。
手順
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 の設定中にインスタンスに接続するために使用されるログイン。これは、レポート サーバー データベースの設定時にレポート サーバーの構成マネージャーでリクエストされる最初のログインです。 | 既存の SQL Server ログイン(sqlserver など)にする必要があります。 |
なし |
--service-login |
必須。SSRS の設定時にレポート サーバーがレポート サーバー データベースに接続するために使用する SQL Server ログイン。これは、レポート サーバー データベースの設定時にレポート サーバーの構成マネージャーでリクエストされる 2 回目のログインです。 | これは、既存の SQL Server ログインであり、設定ログインとは別のものにする必要があります。 | なし |
--report-database |
必須。インスタンス上の既存または新しいレポート データベース名。 | レポート データベースの名前に使用できない特殊文字があります(スペース、かっこ、英語以外の文字など)。 | なし |
--duration |
省略可。SSRS リースの有効期間(SSRS の設定を実行できる期間)。 | 1~12 時間で設定できます。例: 4h |
5 時間 |
REST v1
REST API を使用すると、インスタンスの SSRS リースを取得できます。SSRS リースを取得するには、以下を指定します。- 2 つの異なる SQL Server ログイン(設定ログインとサービス ログイン)
- レポート データベース名
- リースの有効期間
DURATION フィールドのみ省略可能です。詳細については、AcquireSsrsLeaseContext をご覧ください。
- PROJECT_ID: プロジェクトの ID。
- INSTANCE_NAME: インスタンスの名前。
- SETUP_LOGIN: SSRS の設定中に SQL Server インスタンスに接続するために使用される SQL Server ログイン。これは、レポート サーバー データベースの設定時にレポート サーバーの構成マネージャーでリクエストされる最初のログインです。
- SERVICE_LOGIN: SSRS の設定時にレポート サーバーがレポート サーバー データベースに接続するために使用する SQL Server ログイン。これは、レポート サーバー データベースの設定時にレポート サーバーの構成マネージャーでリクエストされる 2 回目のログインです。
- REPORT_DATABASE: インスタンスの既存または新しいレポート データベース名。レポート データベース名には、スペース、角かっこ、英語以外の文字など、特定の特殊文字を使用できません。
- DURATION: 省略可。SSRS リースの有効期間(SSRS の設定を実行できる期間)。1~12 時間。例:
4h。
HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/acquireSsrsLeaseリクエストの本文(JSON):
{ "acquireSsrsLeaseContext": { "setupLogin": SETUP_LOGIN, "serviceLogin": SERVICE_LOGIN, "reportDatabase": REPORT_DATABASE, "duration": DURATION, } }
REST v1beta4
REST API を使用すると、インスタンスの SSRS リースを取得できます。SSRS リースを取得するには、以下を指定します。- 2 つの異なる SQL Server ログイン(設定ログインとサービス ログイン)
- レポート データベース名
- リースの有効期間
DURATION フィールドのみ省略可能です。詳細については、AcquireSsrsLeaseContext をご覧ください。
- PROJECT_ID: プロジェクトの ID。
- INSTANCE_NAME: インスタンスの名前。
- SETUP_LOGIN: SSRS の設定中に SQL Server インスタンスに接続するために使用される SQL Server ログイン。これは、レポート サーバー データベースの設定時にレポート サーバーの構成マネージャーでリクエストされる最初のログインです。
- SERVICE_LOGIN: SSRS の設定時にレポート サーバーがレポート サーバー データベースに接続するために使用する SQL Server ログイン。これは、レポート サーバー データベースの設定時にレポート サーバーの構成マネージャーでリクエストされる 2 回目のログインです。
- REPORT_DATABASE: インスタンスの既存または新しいレポート データベース名。レポート データベース名には、スペース、角かっこ、英語以外の文字など、特定の特殊文字を使用できません。
- DURATION: 省略可。SSRS リースの有効期間(SSRS の設定を実行できる期間)。1~12 時間。例:
4h。
HTTP メソッドと URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/acquireSsrsLeaseリクエストの本文(JSON):
{ "acquireSsrsLeaseContext": { "setupLogin": SETUP_LOGIN, "serviceLogin": SERVICE_LOGIN, "reportDatabase": REPORT_DATABASE, "duration": DURATION, } }
SSRS を設定する
SSRS の設定手順は次のとおりです。
- SSRS がインストールされているホストでレポート サービスの構成マネージャーを開きます。
- ローカル レポート サーバー インスタンスに接続します。
- [Change Database] をクリックします。
- Cloud DNS で作成した SQL Server ホスト名と、SSRS リースに使用する設定ログイン用の SQL Server ログイン認証情報を入力します。
- SSRS リースに使用する新しいレポート サーバー データベースまたは既存のレポート データベースの名前を入力します。
- SSRS リースに使用するサービス ログイン用の SQL Server ログイン認証情報を入力します。
- [Next] をクリックして、最後のステップを完了します。
- まだ設定されていない場合は、ウェブサービスの 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制限事項
- レポート データベースの設定では、Active Directory ログインはサポートされていません。
- レポート データベース名に使用できるのは英数字とハイフンのみです。
- レポート サーバーの構成マネージャーからレポート データベースへの接続に使用するログイン情報を変更するには、リースを取得する必要があります。
- サービス ログインによって処理されるデータベースの場合、SSRS の設定が完了してからリースが解放されるまでの間に、sql ファイルのインポートと複製されたデータベースの削除オペレーションが失敗することがあります。
- インポートしたレポート データベースで、サービス ログイン用のデータベース ユーザーを削除して再作成する必要があります。これは、インポートされたデータベースの既存のユーザーが新しいインスタンスに属していないためです。
- SSRS でのスケールアウト デプロイ用に新しいレポート サーバーを追加する場合は、レポート サーバーをホストする新しい Windows VM ごとに SSRS リースを取得して解放する必要があります。各 Cloud SQL インスタンスでは、既存のレポート データベースを使用して新しいレポート データベースを構成する必要があります。
- レポート サーバーの構成マネージャーでレポート サーバー データベースのログイン認証情報を変更するたびに、新しいリースを作成する必要があります。
よくある質問
以降のセクションでは、SSRS に関するよくある質問について説明します。
セットアップとリース メカニズム
以降のセクションでは、設定と SSRS リースに関する質問について説明します。
Cloud SQL で SSRS を設定するにはどうすればよいですか?
SSRS は、Compute Engine VM などの別の Windows ホストにインストールする必要があります。次に、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 ライセンスが必要になる場合があります。
自動化
次のセクションでは、自動化に関する質問への対応について説明します。
SSRS ホストのインストールと構成のプロセスを自動化できますか?
gcloud CLI または REST API を使用して、Cloud SQL 内で SSRS リースを取得して解放するオペレーションを実行できます。
通常、Windows 環境内での SSRS のインストールと構成には、Reporting Services 構成マネージャー インターフェースを使用した手動の手順が必要になるため、完全なエンドツーエンドの自動化が難しくなります。
詳細については、SSRS のインストールと構成をご覧ください。
メンテナンス
以降のセクションでは、メンテナンスに関する質問への対応について説明します。
SSRS の使用に関連する管理とメンテナンスの作業にはどのようなものがありますか?
始める前に、個別の SSRS サーバーに関連する継続的な管理オーバーヘッドを検討してください。SSRS サービスを実行する Windows VM の管理、パッチ適用、保護はお客様の責任となります。Cloud SQL はデータベース インスタンスのみを管理します。