web-dev-qa-db-ja.com

AWS VPCでのSQL Server AGリスナーの問題

Guy Glantserの優れたガイド MadeiraData で2ノードのSQL Server可用性グループを作成する実験を行っています。このガイドでは、ADドメインまたは内部DNSを使用しない構成について説明しています。 AWS EC2インスタンスですべてを構築していることに注意してください。すべてが正常に機能しています(証明書とログインを含め、AGは問題なく、正常にフェールオーバーできます)。ただし、AGリスナーを適切に機能させることができません。

Guyの指示では、HOSTSファイルにリスナーへの参照を追加することについては触れられていませんが、私はそうしています。

ORそのIPアドレスはプライマリAGノードのいずれかからのみIPアドレスを使用してリスナーに接続できます。(未使用のIPアドレスでポート1433をリッスンしている)からリスナーに接続できません別のノードまたは別のマシン-タイムアウト。AGをフェイルオーバーすると、「現在の」プライマリのリスナーにしか接続できず、「以前の」プライマリはもうリスナーに到達できません。SSMSで接続をテストしましたが、 UDLファイルとポート1433へのTelnet。

AGに関する根本的な何かが欠けているのでしょうか、それともAWS VPC内のリスナーとDNS/IPアドレッシングに問題があるのでしょうか?

Windows Server 2016 Datacenter Edition AMIインスタンスとSQL Server 2016 Evaluation Edition SP1を実行しています。

4
ShamusD

彼らの環境でAGを適切に設定する方法についてAWSのドキュメントを確認できますか? http://docs.aws.Amazon.com/quickstart/latest/sql/part3.html

これが機能するために実行する必要があるいくつかの特定の手順があります。 MultisubnetFailover( https://docs.Microsoft.com/en-us/dotnet/framework/data/adonet/sql/sqlclient-support-for-high-availability-disaster-リカバリ )この機能を使用しない場合、DNS設定が更新され、リスナー名が新しいアクティブノードIPを指すようになるまでに、(HostRecordTTL設定の設定に応じて)数分かかる場合があります。私のテストでは、HostRecordTTLとmultisubnetfailoverを変更せずに、フェイルオーバー後にリスナー名が再び機能するようになるまでに最大15分かかっていたため、これらのパラメーターを試してすべてのクライアントアプリケーションで機能するものにする必要がありました。

1
Felipe Ferreira