Azure

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

2018年5月18日


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】MS SQL Serverでクラスタ構成を作る(3)では以下の事を行いました。

 

  1. 各 DB サーバーから データベースエンジンを削除       → 完了
  2. Windows Firewall からルールを追加            → 完了
  3. フェールオーバークラスタの作成                              → 完了
  4. 記憶域スペースダイレクト(S2D)の有効化           → 完了
  5. フェールオーバーのテスト                 → 完了
  6. SQL Server フェールオーバークラスタのインストール → 完了
  7. SQL Server フェールオーバークラスタにノード追加  → 完了
  8. Azure ロードバランサーの作成・構成
  9. プローブのクラスターの構成
  10. FCI フェールオーバーのテスト

 

以降は Azure のロードバランサーについて進みます。

 

 

作業手順

 

 

Azure のロードバランサーの作成

 

 

1. Azure Marketplace のネットワーキングから [Load Balancer] をクリックします。

 

2. 以下のように必要項目を入力・選択します。完了後に [作成] をクリックします。

  • 名前:ロードバランサーの名前を入力します。
  • 種類:内部を選択します。
  • SKU: そのまま デフォルトで Basic とします。
  • 仮想ネットワーク:フェールオーバークラスターと同じ仮想ネットワークを選択します。
  • サブネット:フェールオーバークラスターと同じサブネットを選択します。
  • IP アドレスの割り当て:静的を選択します。
  • プライベート IP アドレス: SQL Server フェールオーバークラスター作成時に入力した IP アドレスを入力します。
  • リソースグループ:フェールオーバークラスターと同じリソースグループを選択します。

 

 

Azure のロードバランサーの構成

 

 

1. バックエンドプールをクリックします。

 

2. [追加] をクリックします。

 

3. 名前にバックエンドプールの名前を入力します。

 

4. 関連付け先に [可用性セット] を選択し、可用性セットをクリックし、可用性セット名を選択します。

可用性セット名はフェールオーバークラスターと同じものを選択します。

 

5. ターゲット ネットワーク IP 構成の [+ターゲット ネットワーク IP 構成の追加] をクリックします。

 

6. フェールオーバークラスターの各ノードのネットワークインターフェースを選択します。

 

7. [OK] をクリックします。

 

8. バックエンドプールが作成されました。

 

9. 正常性プローブをクリックします。

 

10. [追加] をクリックします。

 

11. 以下のように入力・選択します。[OK] をクリックします。

  • 名前:正常性プローブの名前
  • プロトコル:TCP を選択
  • ポート:59999 (SQL サーバーで追加した正常性プローブと同じポート)
  • 間隔:デフォルト値 (5)
  • 異常値しきい値:デフォルト値 (2)

 

12. 正常性プローブが作成されました。

 

13. 負荷分散規則をクリックします。

 

14. [追加] をクリックします。

 

15. 以下のように入力・選択します。[OK] をクリックします。

  • 名前:負荷分散規則の名前
  • IP バージョン:IPv4 を選択
  • フロントエンド IP アドレス:SQL Server FCI クラスターのネットワーク リソースの IP アドレス
  • プロトコル:TCP を選択
  • ポート:59999 (SQL サーバーで追加した正常性プローブと同じポート)※1433 と表示してますが、これはここでは間違いです。この環境では 59999 が正です。
  •  バックエンドポート:デフォルト (80)
  • 正常性プローブ:そのまま
  • セッション永続化:[なし] を選択
  • アイドルタイムアウト:デフォルト
  • フローティング IP:[有効] を選択

 

16. 負荷分散規則が作成されました。

 

プローブのクラスターの構成

 

 

1. SQL サーバーで PowerShell を実行します。結構ここでハマりました。下にどの名前を参照すれば良いか、画像を貼っておきました。

[code language="powershell"]
$ClusterNetworkName = "クラスターネットワークの名前"
$IPResourceName = "IPリソースの名前"
$ILBIP = "ロードバランサーのIP"
[int]$ProbePort = "正常性プローブのポート番号"

Import-Module FailoverClusters

Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @["Address"="ILBIP";"ProbePort"=$ProbePort;"SubnetMask"="255.255.255.255";Network"=$ClusterNetworkName";"EnableDhcp"=0}
[/code]

 

$ClusterNetworkName はここを参照します。

 

$IPResourceName はここを参照します。

 

2. 実行後、PowerShell で以下を実行しますと、クラスタパラメーターが確認できます。

[code language="powershell"]
<span class="hljs-pscommand">Get-ClusterResource</span> <span class="hljs-variable">$IPResourceName</span> | <span class="hljs-pscommand">Get-ClusterParameter</span>
[/code]

実行結果

 

 

FCI フェールオーバーのテスト

 

 

フェースオーバークラスターから、SQL Server のサービスをフェールオーバーしてみます。

1. [役割] → SQL Server を右クリック → [移動] → [最適なノード]または[ノードの選択] をクリックします。

 

2. フェールオーバーが発動します。

 

3. SQL Server のサービスが片側のノードに移動し、フェールオーバーが成功しました。

 

 

SQL Server FCI への接続

 

 

1. フェールオーバー後に、SQL Management Studio を起動し、SQL Server FCI に接続してみます。

 

2. サーバー名に FCI 名とインスタンスを入力し、[接続] をクリックします。

 

3. 接続できない場合は、インスタンス名が正しくなかったり、ポートの接続が拒否されている可能性があるので、確認します。

 

4. 接続できました。

 

以上になります。

 

いかがでしょうか。内容的にかなり長くなってしまいましたが、何とか Azure でS2D と LoadBalancer を使い、WSFC を組む事ができました。

 

では最後までお読みいただきありがとうございました!

 

 

前のページ

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

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

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

  • この記事を書いた人

そーまん

セキュリティエンジニアやってます。
ブログ歴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