Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
_初級_中級者向け__ゾーン冗長を考慮したAzure仮想マシン上にSQL_Server_Alw...
Search
Nobushiro Takahara
November 28, 2020
Design
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
_初級_中級者向け__ゾーン冗長を考慮したAzure仮想マシン上にSQL_Server_Always_On可用性グループの構築について.pdf
Nobushiro Takahara
November 28, 2020
More Decks by Nobushiro Takahara
See All by Nobushiro Takahara
クエリ パフォーマンスが著しく低下した場合の一時的な対処方法
nobtak
0
400
【初級・中級者向け】 Azure Database for PostgreSQL 基本
nobtak
0
530
【初級・中級者向け】 Logic Apps を使用した Azure SQL Databaseの自動スケールアップ
nobtak
0
710
Azure SQL Database への接続アーキテクチャおよび Azure内部/外部から接続する際のファイアウォール設定に関する注意点について
nobtak
0
1.2k
Other Decks in Design
See All in Design
The Art of Messy the Maid
marzstarz
0
110
TUNAG BOOK 2024
stmn
PRO
0
1.6k
なぜ、インサイトを貯めるのか?
tajima_kaho
2
2.3k
CULTURE DECK/Marketing Director
mhand01
0
1.4k
全員がアウトプットを出せる時代、 誰を採用する?
nishame
0
590
2026年5月24日Redesigner Career Jamご参加者様ご案内資料
base
PRO
0
200
JBUG大阪#9_登壇資料_引き継ぎで困らないためのBacklogWikiの整え方_ミスと属人化を防ぐために、 “次の人が動ける状態”をどう残すか
webnaut
1
180
Drawing_for_Anim_Final_PDF.pdf
lynteo
2
160
研修担当者が一番伸びた 熊本市役所✕AI『泥臭いAI研修』のワークショップ設計について
garyuten
2
420
デザイナーとエンジニアで 同じ山に登ろう
moco1013
0
270
デザインワークフローの最前線。 ログラスでのAI活用の現在地
ukaoli
1
1.3k
設計と制作 意図を形に表す / Design and Making: Intent Made Form
usagimaru
3
2k
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
22k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
630
KATA
mclloyd
PRO
35
15k
Between Models and Reality
mayunak
4
360
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
The Cost Of JavaScript in 2023
addyosmani
55
10k
Scaling GitHub
holman
464
140k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
First, design no harm
axbom
PRO
2
1.2k
Amusing Abliteration
ianozsvald
1
220
Design in an AI World
tapps
1
260
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Transcript
【初級・中級者向け】 ゾーン冗長を考慮したAzure仮想マシン上にSQL Server Always On可用性グループの構築について
1. ゾーン冗長を考慮したSQL Server 可用性グループ 構成図 (例) 2. 考慮ポイント 3. 最後に
4. 参考情報 5. Q/A
1. ゾーン冗長を考慮したSQL Server 可用性グループ 構成図 (例) ポイント 5 SQL Server
可用性リスナー用 ロードバランサーのゾーン冗長 ポイント 1 Azure仮想マシンのゾーン冗長 ポイント 2 WSFCのクォーラムをクラウド監視で構成 ポイント 3 WSFCのハートビート間隔を チューニング ポイント 4 SQL Server 可用性グループ リソースの Lease Timeout および HealthCheckTimeout をチューニング ポイント 6 リトライロジックの実装 ポイント 7 サーキット ブレーカーの実装
2. 考慮ポイント ポイント1 : ゾーン冗長を考慮したAzure仮想マシンのデプロイ SQL Server AlwaysOn 可用性グループを構成する Windows
Server および Active Directory を冗長化構成する Windows Server は、異なる可用性ゾーンにデプロイしたAzure仮想マシン 上にインストール
2. 考慮ポイント ポイント2 : WSFC のクォーラムをクラウド監視で構成 Windows Server 2016/2019 では、Windows
Server Failover Clustering (WSFC)のクォーラムにOS標準機能として選択可能な クラウド監視 を選択
2. 考慮ポイント ポイント3 : WSFC のハートビート間隔設定を30秒(30000 ミリ秒)以上に設定 WSFC のハートビート間隔設定で SameSubnetDelay
(単位:ミリ秒) * SameSubnetThreshold (単位:回数) の値が、30秒 (30000 ミリ秒) 以上に なるようにパラメータ値を変更
2. 考慮ポイント ポイント4 : SQL Server AlwaysOn 可用性グループ リソースの Lease
Timeout および HealthCheckTimeout の値を30秒(30000 ミリ秒)以上に設定 1) Lease Timeout 値を 30秒 (30000ミリ秒) 以上に設定する。(既定値: 20秒 : 20000ミリ秒) Lease Timeout * 1/2 の値は、WSFCのハートビート間隔 (SameSubnetDelay (単位:ミリ秒) * SameSubnetThreshold (単位:回数) ) の値よりも小さい必要がある 2) HealthCheckTimeout 値をLease Timeout 値に指定した値よりも長く設 定する。(既定値: 30秒 : 30000ミリ秒) HealthCheckTimeout 値は、Lease Timeout 値よりも長く設定する必要が あるため、Lease Timeout 値を変更した場合は、HealthCheckTimeout 値 も長く設定
2. 考慮ポイント ポイント5 : SQL Server AlwaysOn 可用性リスナーに紐づけるロードバランサー(ILB) のSKUをStandardおよびゾーン冗長に設定 SQL
Server Always On 可用性グループに接続するロードバラン サーについても、 ロードバランサー(ILB) 作成時、種類:「内部」、 SKU :「Standard」、可用性ゾーン : 「ゾーン冗長」を選択して作成
2. 考慮ポイント ポイント6 : Azure上の高可用性のサービス(データベースなど)に接続するアプリ ケーションでは、リトライ処理を実装し、エラーハンドリングできる状態にする。 パブリッククラウドサービスのSLAは100%ではなく、高可用性を維持する ために、内部的にフェールオーバーなどが実施されています。 そのため、クラウドサービス(特にデータベースなど)へ接続するアプリ ケーションでは、フェールオーバーに伴い、実行中の処理が失敗したり、
該当のサービスに接続できないなどの問題に対処するため、アプリケー ション側でエラーをハンドリングし、リトライ処理を実装することが推奨され ている。 ※ リトライ処理を実装する場合、リトライ間隔、リトライ回数も重要な要素 となり、リトライ間隔については、数秒 (5秒など) 以上に設定する。 Exponential back off (徐々にリトライ間隔を延ばしていくロジック) も有効。
2. 考慮ポイント ポイント7 : サーキット ブレーカーの実装を検討する。 ポイント6でリトライ処理の実装を推奨するという内容を記載しましたが、 即座に解決しない問題が発生した場合、複数のプロセスで同時に大量の リトライ処理が実行されることで、 急激なトラフィックの増加に伴い、障害
範囲が拡大する可能性もあります。 そのため、リトライ処理を何回か実行したとしても現象が解消しない場合 においては、失敗を処理するロジックを追加するといった実装 サーキット ブレーカー パターン サーキット ブレーカー パターンを実装する
3. 最後に 今回紹介したゾーン冗長を考慮したAzure仮想マシン上にSQL Server Always On可用 性グループの構築については、以下のブログでも紹介しています。 Azure仮想マシン上にゾーン冗長を考慮したSQL Server AlwaysOn可用性グループを構築する場合の勘所について
また、SQL Serverの 基本+α の内容についてもブログにまとめていますので、是非 ご 参照ください。 (現在 第1回から11回まで公開中) 【第1回】基本から始める SQL Server【システム データベース】
4. 参考情報 ゾーン冗長を考慮した WSFC クラスタークォーラム設定(クラウド監視) [Azure/WSFC] フェールオーバー クラスターのクラウド監視を展開する Azure 上でフェールオーバー
クラスターを構築する際の留意事項について 再起動を必要としないメンテナンス リースのタイムアウト 正常性チェックの値 ゾーン冗長を考慮した SQL Server 可用性グループ + 可用性リスナー(内部)の構築 [Azure/WSFC/SQL Server]
Q&A