前回までのブログで、Active Directoryを使って外部からSQL Server Analysis Servicesにアクセスしていたが、その際は、ドメインコントローラをGCP(Google Cloud Platform)内部のWindows仮想マシン上に設定していた。そのため、GCP外部のWindowsマシンからActive Directoryのドメインに参加させようとした際、ドメインコントローラにアクセスできず、結果ドメインに参加できない、という事象が発生してしまった。
ドメインコントローラのサーバー定義を確認すると、IPアドレスが、内部IP(10.128.0.7)になっている。これが、Active Directoryで設定されるDNSサーバーのIPアドレスになるが、このIPアドレスには、GCPの同一プロジェクト内の仮想マシンからしかアクセスできない。
実際、GCPの同一プロジェクト内の他の仮想マシンを、ドメインに参加させる際、DNSサーバーのIPアドレスを指定するが、その際のIPアドレスも内部IP(10.128.0.7)となっている。
従って、GCPの同一プロジェクト以外の、外部のマシンからは、ドメインコントローラの内部IPアドレスにアクセスできないため、外部のマシンを、GCP内部に作成したドメインには参加させることができない。その結果として、外部のマシンが、GCP上のSSAS(SQL Serve Analysis Services)という分析結果を見ることができない、ということにつながってしまう。
ただ、今回、ドメインコントローラ用のWindowsマシンを、GCP外部に準備し、そこにドメインコントローラの設定を行えば、GCPの同一プロジェクト以外の外部のマシンを、そのドメインに参加させることができることがわかったので、共有する。
ちなみに、Active Directoryのドメインコントローラ設定と、他のPCをドメインへ参加させる手順については、以下の記事を参照のこと。
やってみたこと
GCP外部にWindowsマシンを準備
GCP外部に、Windowsサーバーを準備した。今回は、下記ConoHa様のWindowsサーバーをレンタルさせて頂いた。
https://www.conoha.jp/windows/?btn_id=c-signup-commonHeader_windows&_ga=2.148762932.261099187.1562508521-2146769516.1562508521
ConoHa様のWindowsサーバーをレンタルするために、まずはアカウントの作成を行う。その手順は下記サイトを参照のこと。
https://support.conoha.jp/c/signup/?btn_id=common-guide-sidebar_c-signup
次に、ConoHa for Windows Serverの申し込みを行う。その手順は下記サイトを参照のこと。
https://support.conoha.jp/c/windowswizard/?btn_id=c-wingwizard-sidebar_c-windowswizard
なお、今回は、(for Remote Desktopを含まない)Windows Server 2016 Datacenter Editionで、WIN1GB(最小)のWindows Serverを選択している。サーバー追加後にログインし、追加されたWindowsサーバー情報を確認した結果は、以下の通りとなる。
1) Conohaアカウント作成時に指定した、メールアドレスとパスワードを指定し「ログイン」ボタンを押下
4) 追加したWindowsサーバーの情報が確認できる。赤枠がIPアドレスの情報となる。
5) 追加したWindowsサーバーへのログインは、リモートデスクトップ接続で行う。以下のように、IPアドレスに4)で表示されていたIPアドレスを指定し、ユーザー名に「Administrator」、パスワードはWindowsサーバー申込時のAdministratorパスワードを指定してログインする。
6) Windowsサーバーにログイン後の画面は以下の通り。
ドメインコントローラの設定(GCP外部)
先ほど準備したWindowsサーバーに、ドメインコントローラの設定を行う。
その手順は、ドメイン名を「tst-ad.co.jp」と変更する以外は、下記記事の「Active Directoryのインストール」「ドメインコントローラの昇格」に記載した通りとなる。
なお、「ドメインコントローラの昇格」の手順実施後、再起動が行われるが、再起動後は、以下のようにドメイン名を付与したAdministratorユーザーでログインしている。
また、今回はAdministratorユーザーしか用意されていないため、別のドメインユーザー「tst_sqlserver」を用意した。その手順は以下の通り。
1) サーバーマネージャから「Active Directory ユーザーとコンピュータ」メニューを選択
2) 右クリックにより表示されるメニューから「新規作成」を選択後、「ユーザー」を選択
3) ユーザーログオン名を「tst_sqlserver」とし、他を以下のように指定し、「次へ」ボタンを押下
4) パスワード・パスワードの確認入力を指定し、「ユーザーはパスワードを変更できない」「パスワードを無期限にする」にチェックを入れた上で、「次へ」ボタンを押下
なお、今回はドメインユーザーのパスワードをドメイン参加者が変更できないようにするため、上記のチェックボックスの指定にしている。
さらにその後、作成したtst_sqlserverと、Administratorsについて、ローカルログインを許可する。その手順については、下記記事の「ドメインユーザーのローカルログインの有効化」に記載した通りとなる。
GCP外部のドメインに参加
GCP内部から、GCP外部へのドメイン参加手順は、ドメインユーザー名を「tst_sqlserver」、DNSサーバーのIPアドレスを「133.130.55.xxx」、ドメイン名を「tst-ad.co.jp」と変更する以外は、下記記事の「DNSサーバーのIPアドレス設定変更」「Active Directoryドメインへの参加」「Active Directoryドメイン参加後の確認」に記載した通りとなる。
ドメイン参加後、ドメインユーザーでログインし、システム画面を表示すると、以下のように、「tst-ad.co.jp」ドメインに参加できていることが確認できる。