はじめに
Windows2008R2サーバー、Windows7の2020年1月サポート終了に伴い、自社サーバーのOSアップグレードを検討していたのですが、せっかくなので、Microsoft Azureへの移行を検討してみました。要件としては、現行のC/SシステムにおけるSQLSERVERとAccessクライアントの処理が、 Cloud上のSQLSEREVER – VPN接続 – Accessクライアントで実現できる事、です。 これが出来れば、インターネット経由で自宅パソコンやモバイル端末から接続して仕事ができるので便利です。
Azure移行イメージ
目次
1.無料アカウントを作り、仮想サーバー(Windows2016+SQLSERVER)を構築
2.仮想サーバーでVPN接続設定
3.仮想サーバー内SQLSERVERの外部接続設定
4.クライアントのSSMSで仮想サーバーSQLSERVERの接続確認
5.Access.accdb用のODBC設定
1.無料アカウントを作り、仮想サーバー(Windows2016+SQLSERVER)を構築
自分のようなお試しユーザ向けのAzure無料アカウントを作り、Azureポータルにログイン。
ポータル画面は、直観的に何となくクリックして進めていく事ができます。
よくわからない設定があっても、その都度リンクされたヘルプサイトを見て確認する事ができました。 自分は、仮想サーバーの構築をMicrosoftのDocサイトを参考にしました。
クイックスタート:Azure ポータルでWindows仮想マシンを作成する(Microsoft.comに移動)
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/quick-create-portal
作成後、RDP接続で仮想サーバーに接続。まず、作成直後の仮想サーバーは英語なので、サーバーの日本語化設定をして、 その後、仮想サーバーのブラウザを使ってSQLSERVER2016及び管理ソフト(SSMS)をインストールしました。
仮想サーバ構築後
2.仮想サーバーでVPN接続設定
仮想サーバーと自宅のパソコンを接続する形態をAzureでは「ポイント対サイトVPN接続」と呼ぶらしい。 設定は、
ネイティブAzure 証明書認証を使用したVNetへのポイント対サイト接続の構成:Azureポータル(Microsoft.comに移動)
https://docs.microsoft.com/ja-jp/azure/vpn-gateway/vpn-gateway-howto-point-to-site-resource-manager-portal
を参考にしました。
【ネットワークトラフィック許可の設定】
受信ポートの追加設定は特になし。仮想ネットワークに接続している事が前提になるので、この設定で問題なし。
ネットワークトラフィック許可の設定
パソコンで上記のサイトの説明に従ってVPN構成設定を行い、接続確認。
VPN接続画像
3.仮想サーバー内SQLSERVERの外部接続設定
仮想サーバーのFireWallで、1433のポートを受信許可。セキュリティが心配なら、ローカルIPアドレス、リモートIPアドレス、 プロファイル指定も行います。
[START]-[セキュリティが強化されたWindowsファイヤーウォール]-[受信の規則]-[新しい規則]
受信の規則の設定1
受信の規則の設定2
受信の規則の設定3
Sql Server Configuration Manager(構成管理)で、以下の設定を行います。
[SQL Serverネットワークの構成]-[SQLEXPRESSのプロトコル]-[TCP/IP]-[プロパティ]
IPALLの設定で、TCPポートに1433を設定します。
Sql Server Configuration Manager(構成管理)
4.クライアントのSSMSで仮想サーバーSQLSERVERの接続確認
ここで接続確認できれば、ODBC接続も問題なしです。
SSMSで接続確認
4.Access.accdb用のODBC設定
最後にACCESSからSQLSERVERのテーブルをリンク接続する為に必要なODBC接続の設定を行います。
ファイルDSNの設定例
[ODBC]
DRIVER=SQL Server Native Client 11.0
UID=SQLSERVERログインユーザID
WSID=DESKTOP-XXXXXXX
APP=Microsoft Office 2013
SERVER=192.168.1.4,1433
おわりに
とりあえず、VPN接続して動作確認はできました。サーバ―レスポンスも思ったより早いです。
処理にもよるのでしょうが、今後は5G通信も始まるのでレスポンスについては問題にならないと思いました。セキュリティ面は、レンタルサーバーを借りて設定するよりも、はるかに堅牢なシステム構築が簡単に出来そうです。
さて、気になる利用料金ですが、Azure 料金計算ツール
https://azure.microsoft.com/ja-jp/pricing/calculator/
でシミュレーションができます。試しに計算してみると・・・・・・・
うーん、小規模システムで運用するにはちょっと掛かりすぎの利用料金でした・・・・・。費用対効果として「効果」の部分を積極的に考えていかないと割に合いません。結局自社サーバー(オンプレミス)に落ち着きそうです。