Azure SQL

【Azure】Azure SQL Serverのフェールオーバー設定方法を解説!

今回の記事では、Azure SQL Serverの可用性を高めるフェールオーバーの設定方法を解説していきます。データベースは、システムの中でも重要な部分で、障害などで停止しないようにしなければなりません。サーバを停止させていようにフェールオーバーを設定していきます。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

Azure SQL Serverのフェールオーバー設定方法を解説!

今回の記事では、Azure SQL Serverのフェールオーバーの設定方法を解説します。

まず、フェールオーバーが何か分からない方のために、フェールオーバーについて説明します。

フェールオーバーとは?サーバを停止させないようにする

フェイルオーバー: Failover)は、現用系コンピュータサーバ/システム/ネットワークで異常事態が発生したとき、自動的に冗長な待機系コンピュータサーバ/システム/ネットワークに切り換える機能を意味する。

(wikipediaより)

つまり、サーバが停止しないようにする技術です。サーバを2台以上用意し、1台が停止したら、正常に動作しているサーバで動かすイメージです。

システムを構築する上で可用性を考えるのは重要なことです。システムを止めないようにする技術はフェールオーバ以外にもあるので、興味のある方は調べてみてください。

Azure SQL Serverでフェールオーバーを構成する

では早速Azure SQL Serverでフェールオーバーのを構成しましょう。

今回の記事は、こちらのドキュメントを参考にしています。詳細の情報を知りたい方はこちらを参考にしてください。

https://docs.microsoft.com/ja-jp/azure/sql-database/sql-database-single-database-failover-group-tutorial?tabs=azure-portal

では、早速手順を解説していきます。

手順1.SQL Server ,SQL データベースの作成

まず、SQL ServerとSQLデータベースの作成を行います。作成方法については、こちらの記事で解説しているので、作成方法が分からない方はこちらをご覧ください。

データベースの中身などは、特になんでも良いので、Insert文で入れるか、SQL作成時にテンプレートを使用しましょう。

手順2.フェールオーバーグループの設定

では、本題のフェールオーバーの設定をします。

SQL Serverの設定欄の「フェールオーバーグループ」から「+グループの追加」をクリックします。

フェールオーバーグループ

次にグループの設定を行います。この時フェールオーバー用にもう1つSQLサーバーを作ります。手順1と同じ方法で作成しても、問題ありませんが、今回は、グループの作成時に作ります。

フェールオーバーグループの設定

まず、フェールオーバーグループの名前を決めます。この名前がデータベースへアクセスするときの名前になります。

セカンダリサーバは、SQL Serverに障害があった場合に代わりに動かすサーバのことです。主に動かすサーバをプライマリサーバ、障害時に動かすサーバをセカンダリサーバと言います。

そして、フェールオーバーさせるデータベースの選択をします。ここでは、手順1で作成したデータベースを選択しています。

SQLデータベースの設定

これでフェールオーバーグループの作成が完了です。

1つ注意点があるのですが、フェールオーバーをするとコストが発生するということです。コストの管理をしっかりと行わないとコストが余計に掛かってしまいます。コスト管理については、こちらの記事で解説しているので参考にしてください。

フェールオーバーの確認をする

SQL Serverでフェールオーバーの構成が完了したら、しっかりと動作するか確認しましょう。先ほど作成したフェールオーバーグループをクリックすると以下のような画面に行きます。

フェールオーバーの確認

プライマリとセカンダリのサーバの場所が表示されています。「フェールオーバー」をクリ九すると、プライマリとセカンダリが逆転します。また、実際にデータベースにデータを書き込み、両方のサーバにデータが入っていることを確認しましょう。

最後に

今回の記事では、Azure SQL Serverの可用性を高めるフェールオーバーの設定方法を解説しました。インフラエンジニアとしては、サーバが止まらないように可用性を考えてシステムを設計しなければなりません。可用性を高める技術の1つとしてフェールオーバーを覚えておきましょう。Azureでは、可用性を高めるための設定が他にもあるので、興味のある方は勉強してみてください。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST