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 の 2 つのデータベースに 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 が行うのはデータベース インスタンスの管理のみです。