Azure

【Azure】MS SQL Serverでクラスタ構成を作る(1)

2018年4月30日


Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548

こんにちは!

 

自分の Azure の環境に Windows サーバーを展開しているうちに、冗長化もしたくなってきました。

オンプレミス環境でフェールオーバークラスタは構築していましたが、Azure でも構築できるのかな?と思い、ついつい調べてみましたところ対応しているようです。

 

2015 年 4 月 から、マイクロソフトが Azure 上でフェイルオーバークラスタをサポートしているようです。

Windows Server Failover Cluster と呼ばれていて、名前が長いので以降 WSFC と省略いたします。

Microsoft server software support for Microsoft Azure virtual machines

※Windows Server 2016 Standard or Windows 10 Pro versions are not available in the Azure Marketplace.

 の下あたりに Failover Clustering と書いてあります。

https://support.microsoft.com/en-us/help/2721672/microsoft-server-software-support-for-microsoft-azure-virtual-machines

 

 

以下の OS が WSFC をサポートしておりますが、注意点として、Windows Server 2008 R2 と Windows Server 2012 については、ホットフィックスを全てのノードにインストールしなければなりません。

 

  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016

 

Update enables SQL Server Availability Group Listeners on Windows Server 2008 R2 and Windows Server 2012-based Microsoft Azure virtual machines

https://support.microsoft.com/en-us/help/2854082/update-enables-sql-server-availability-group-listeners-on-windows-serv

 

 

また、先に今回参考にさせていただきました資料のリンクを貼っておきます。

 

 

Windows Server のフェールオーバー クラスタリング

https://docs.microsoft.com/ja-jp/windows-server/failover-clustering/failover-clustering-overview

 

Azure Virtual Machines で SQL Server フェールオーバー クラスター インスタンスを構成します。

https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/sql/virtual-machines-windows-portal-sql-create-failover-cluster

 

 

今回は OS のフェールオーバークラスタだけではなく、SQL Server のフェールオーバークラスタもやってみました。

 

構成について

 

サーバー構成

 

WSFC を構成する上での最小構成となります。

DBサーバーをクラスター構成にします。

LoadBalancer は SQL Server FCI の IP を保持します。

 

 

種類 役割 Azureのテンプレート ホスト名 プライベートIP
AD ドメインメインコントローラー Windows Server 2016 Datacenter devad01 10.0.0.11
DB 1 号機 MSSQL サーバー Windows Server 2016 SQL Server 2016 Standard devdb01 10.0.0.21
DB 2 号機 MSSQL サーバー Windows Server 2016 SQL Server 2016 Standard devdb02 10.0.0.22
LB ロードバランサー Azure LoadBalancer devlb 10.0.0.100

 

 

事前準備

 

  • AD を立てる事と、DB サーバーを ドメインに参加する準備は既に済んでいる事としますので、手順は省略します。
  • DB サーバーのデプロイ時に可用性セットを作成します。手順は省略します。
    • 障害ドメインと更新ドメインは規定値で設定しています。
      • 障害ドメイン:3
      • 更新ドメイン: 5
  • ストレージプールを作るために、各 DB サーバーにディスクを 2 個追加します。HDDでもSSDでも構いません。
  • WSFC の対象サーバーは、可用性セットと同じ Azure リソース グループ内に配置します。
  • クラスター対象のノードが同じ仮想ネットワークに属している必要があります。
  • クラスター対象のノードが 全て Windows Server 2016 である必要があります。
  • Window アップデートが最新である事が推奨になります。

 

それでは始めてみましょう。

 

 

 

作業手順

 

データベースエンジンの削除

 

DB サーバー 1 号機と2 号機両方で行います。

 

1. プログラムと機能から Microsoft SQL Server 2016 (64bit) を右クリックし、[アンインストールと変更] をクリックします。

 

2. [削除] をクリックします。

 

3. AzureVM デプロイした サーバーのインスタンスは MSSQLSERVER なのでそのままで [次へ] をクリックします。

 

4. データベース エンジンサービスにチェックをいれます。[次へ] をクリックします。

 

5. [削除] をクリックします。

 

6. 削除が完了しましたので、[閉じる] をクリックします。

 

 

Windows Firewall からルールを追加

 

2 つのルールを追加します。

  • MSSQL で使用するポート(Windows Server 2016 SQL Server 2016 Standard では初期設定済みでした。)
  • ロードバランサーと 正常性プローブの通信をするポート

 

1. コントロールパネルから Windows ファイアウォールを開き、[詳細設定] をクリックします。

 

2. MSSQL のポートについて、AzureVM からデプロイしたサーバーは既に追加されています。

 

3. ロードバランサーと通信するポートを追加しますので、受信の規則を右クリックし、[新しい規則] をクリックします。

 

4. ポートを選択し、[次へ] をクリックします。

 

5. TCP を選択し、特定のローカルポートを選択し 59999 を入力し、[次へ] をクリックします。

 

6. 接続を許可するを選択し、[次へ] をクリックします。

 

7. このままの状態で [次へ] をクリックします。

 

8. 名前は任意ですので、一応分かるように以下のように入力します。

 

9. ルールが追加されました。

 

 

 

次のページへ進みます。

 

【Azure】MS SQL Serverでクラスタ構成を作る(2)

  • この記事を書いた人

そーまん

セキュリティエンジニアやってます。
ブログ歴3年。PVは月15万PV程度。
趣味はボクシング、筋トレ、登山です。
穏やかで人見知りな性格です。

人気記事

1

こんにちは!そーまんです。 今回は、PC に適用されている GPO を確認する方法について書きました。 本題に入る前に、一応参考までにGPOの適用タイミングについての記事をここに貼りましたので、必要に ...

2

こんにちは!そーまんです。 今回は sysprep について、全体的に PC をセットアップする観点から書いてみました。長々と書いてあります。まずは前置きからです。 まずはじめに 組織では PC のラ ...

3

こんにちは!そーまんです。 今回は、グループポリシー (GPO) を使って、特定のコンピューターに対して、ドメインユーザーに ローカル管理者権限 (以下は特権と記載) を付与する方法について書きました ...

4

こんにちは!そーまんです。 今回は、Windows サインイン後に一時ユーザープロファイルが読み込まれてしまった場合の解決方法について書きました。 Windows 10 の検証環境をいじってたらサイン ...

5

こんにちは!そーまんです。 今回は、ユーザープロファイルを削除する方法について書いてみました。 企業の場合よくあることですが、1 台の PC を共有 PC として複数人で使ったり、また余り無いかもしれ ...

6

こんにちは!SE ブログの相馬です。       今回は、繰り返し文について書いてみました。PowerShell では他のプログラミング言語同様、繰り返し処理を行うことが ...

7

コマンドを使って CPU とメモリの使用率をデータで取得してみましたので、例えば PC のトラブルシューティングで問題を再現させる際にデータを取得しておくと、原因の特定に役立つ場合があるかと思います。

8

既存の PC と同じ構成で別のメーカーの PC でマスターイメージを作る際、インストールされているアプリを同一にする為に必要になるかと思います。

9

企業で多くの GPO が適用されている環境では、PC に GPO が適用されなかったりする問題が発生する場合があるかと思います。その中でも、コンピューターの構成またはユーザーの構成のどちらかで、...

10

こんにちは!そーまんです。 今回は、Windows Server 2019 で NTP サーバーと同期する方法について書きました。 NTP サーバーの必要性や時刻同期の重要性を理解することは社内のシス ...

-Azure
-, ,


Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637

Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637

Warning: Trying to access array offset on value of type null in /home/r5652521/public_html/soma-engineering.com/wp-content/plugins/amazonjs/amazonjs.php on line 637