Managed Diskで作成したAzure 仮想マシン(Linux)にSQL Server on Linuxをインストールして使ってみた

スポンサーリンク

去年の11月にLinuxでSQL Serverが動くSQL Server on Linuxがパブリックプレビューになりまして3ヶ月が経ちようやく試してみました。ついでに仮想マシンは最近GAしたManaged Diskで作成してみました。

試した内容を記載していきます。

インストールの方法や制約については公式サイトを参照してください。

SQL Server on Linux

仮想マシンの作り方については下記を参照にしてください。

仮想マシンの作り方:新ポータル版

※この情報は2017年2月時点の情報になります。

仮想マシンの環境構築

仮想マシンを作成していきます、今回はCentOS7.3を選択しました。

仮想マシンのサイズはA2以上で作成する必要があります。というのもSQLServerのセットアップ要件で3G以上のメモリーが必要となりますので最低でもA2を選択する必要があります。私は最初その制約に気づかなかったのでA0で作成してしまいSQLServerのインストールに失敗してほーんの少しイラつきました。その後、おとなしくA2にスケールアップして対応しましたが。

仮想マシン作成時のオプション選択で「Use managed disks」が追加されています。このオプションをYesにすれば「managed disk」で仮想マシンが作成されます。

「managed disk」で作成すると従来のAzure Storage アカウントを作成してOS DiskとしてVHDをPageBlobで作成してという作業が必要なくなります。Azure側でディスクを管理してくれるので仮想ディスクの管理をしなくてよくなりました。追加ディスクも「managed disk」で作成することができます。

「managed disk」のプランや容量の設定は任意で設定してください。ここでは32Gで作成しています。

「managed disk」作成するとDiskというアイテムが追加されますのでこちらで管理していくことになります。ストレージアカウントが作成されていますがこれはモニタリング用のストレージでVHDを管理するためのものではありません。

次にSQLServerに外から接続できるようにエンドポイントの設定を行います。「Network security group」から「Inbound security rules」(受信セキュリティ)を選択してエンドポイントを追加します。

エンドポイントの設定にはテンプレートが用意されているのでServiceから「MS SQL」を選択すれば自動的に各種設定を入力してくれます。ちなみにSQLServerの接続ポートは[1433]です。

ついでに最近追加されたAuto-shutdownの機能追加も行いましょう。

インストール要件に基づいて仮想マシンをA2で作成しますが、ほっとくと月8000円くらいかかってしまいます。

止め忘れや削除忘れを防ぐためにAuto-shutdownを設定しておきましょう。

仮想マシンの詳細から「Auto-shutdown」を選択します。

何時にシャットダウンを実行するのかタイムゾーンと時間を入力します。

通知用のWebhook URLを設定することも可能でSlack等にシャットダウン15分前に通知することができます。

Auto-shutdownを作成すると仮想マシンの概要にschedularというアイテムが追加されます。

仮想マシンの環境構築はこれで完了です。

仮想マシンにログインできるかSSHクラインとで接続を試してみてください。

SQL Server on Linuxのインストール

SQL Server on Linuxのインストールですが公式サイトにあるインストールコマンドを実行していけばインストールは簡単に終わります。

公式のコマンドを実行順に並べたの下記を参考にしてください。

SSHクライアントでログインしてから実行してください。

//権限をSUにする
sudo su

//リポジトリからSQLServerを取得
curl https://packages.microsoft.com/config/rhel/7/mssql-server.repo > /etc/yum.repos.d/mssql-server.repo

//SUからログアウト
exit

//yumでインストール
sudo yum install -y mssql-server

//セットアップを実行:ログインパスワードの設定あり
sudo /opt/mssql/bin/mssql-conf setup

//サービスステータス表示を表示してrunningであれば成功
systemctl status mssql-server

//firewallに1433ポートを追加
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent

//firewallを再起動
sudo firewall-cmd --reload

インストールバージョンはCTP1.3 (February 2017)になります。

SQL Server on Linuxが対応しているOSの表やリリース・未リリースの機能についてはリリースノートを参考にしてください。

Always Onやレプリケーションが対応してなかったりするので今後に期待したいと思います。

接続確認

SSMS(SQLServer Management Studio)を起動してログインを試します。

SSMSをインストールしていない場合はリリースノートのSupport Clinet Toolsからダウンロードしてインストールしてください。

ログイン情報を入力します。サーバ名には仮想マシンのIPアドレスを入力しましょう。DNSを設定している場合はDNSを入力してください。ログインIDは「sa」でパスワードはセットアップ中に設定したパスワードを入力します。

ログインに失敗する場合はポートの確認を再度行ってください。

ログインに成功すればLinux上にたてたSQLServerを利用することができます!!

まとめ

IT業界に15年近くいますがLinuxでSQLServerが動作するってのは非常に感慨深いですね。

Linux OSならMySQLかOracleと相場が決まっていたので・・・。

まだまだ利用できない機能はおおいですが今後に期待していく所存です。

コメント