AWS クラウドで SQL Server Always On 可用性グループのクラスターを作成するにはどうすればよいですか?

所要時間4分
0

AWS クラウドに SQL Server Always On 可用性グループのクラスターを作成したいと考えています。これを実行するにはどうすればよいですか?

簡単な説明

AWS クラウドに SQL Server Always On 可用性グループクラスターを作成するには、まず、各クラスターノードの Elastic Network Interface に 2 つのセカンダリ IP を設定します。その後、Remote Desktop Protocol (RDP) を使用して、ドメイン管理者アカウントとしてクラスターノードインスタンスに接続します。最後に、2 つのノードを持つ Windows クラスターと SQL Server Always On 可用性グループを作成します。

AWS Launch Wizard を使用して SQL Server Always On 可用性グループのデプロイを作成することもできます。Launch Wizard は AWES リソースを識別し、ユースケースに基づいて SQL Server データベースを自動的にプロビジョニングします。詳細については、「What is AWS Launch Wizard for SQL Server?」(AWS Launch Wizard for SQL Server とは) を参照してください。

解決方法

前提条件

  • 仮想プライベートクラウド (VPC) 内のアベイラビリティーゾーン全体で 2 つの Amazon Elastic Compute Cloud (Amazon EC2) Windows Server インスタンス (バージョン 2012 R2 以降) を起動します。
  • SQL Server 2014 64-bit Enterprise Edition 以降を使用します。テストには SQL Server 2014 64-bit Evaluation Edition 以降を使用します。
  • SQL Server のマスターデータファイル、ログデータファイル、および SQL バックアップファイルをホストするように、セカンダリ Amazon Elastic Block Store (Amazon EBS) ボリュームを設定します。大規模な SQL Server データベースワークロードには、プロビジョンド IOPS SSD (io1) EBS ボリュームを選択することをお勧めします。
  • クラスターノードをプライベートサブネットにデプロイします。その後、RDP を使用して、ジャンプサーバーからクラスターノードインスタンスに接続できます。
  • セキュリティグループのインバウンドルールと Windows ファイアウォールの例外を設定して、ノードが制限された環境で通信できるようにします。Microsoft ウェブサイトの「SQL Server のアクセスを許可するための Windows ファイアウォールの構成」を参照してください。
  • Active Directory (AD) ドメインコントローラーでは、SQL ノードに必要なすべてのポートを開いて、ドメインに接続し、アクティブディレクトリに対して認証を行う必要があります。Microsoft ウェブサイトの「Active Directory and Active Directory Domain Services Port Requirements」(Active Directory および Active Directory ドメインサービスのポート要件) を参照してください。
  • Windows フェイルオーバークラスターを作成する前に、ノードをドメインに接続します。クラスターを作成および設定する前に、ドメイン認証情報を使用してログインしていることを確認してください。
  • Active Directory サービスアカウントで SQL DB インスタンスを実行します。
  • Windows ドメイン認証を使用して、sysadmin 許可のある SQL ログインを作成します。詳細については、データベース管理者にお問い合わせください。詳細については、Microsoft ウェブサイトの「Create a login using SSMS」を参照してください。
  • SQL ブラウザが正しく設定されていることを確認します。これは SQL Server の名前が付いたインスタンスにのみ必要です。

各クラスターノードの Elastic Network Interface にセカンダリ IP を設定する

各クラスターノードの eth0 Elastic Network Interface には、セカンダリ IP が必要です。SQL Group Listener が必要な場合は、3 つ目の IP アドレスを追加する必要があります。その結果、eth0 Elastic Network Interface には合計 3 個の IP がアタッチされます。

注: SQL Group Listener をデプロイする予定がない場合は、各クラスターノードの Elastic Network Interface にセカンダリ IP を 1 つだけ追加してください。

1.    Amazon EC2 コンソールを開き、Always On クラスターをホストする AWS リージョンを選択します。

2.    ナビゲーションペインで [インスタンス] を選択し、次に EC2 クラスターインスタンスを選択します。

3.    [ネットワーク] タブを選択します。

4.    [ネットワークインターフェイス] で、[インターフェイス ID] Elastic Network Interface を選択します。

5.    ネットワークインターフェイスを選択し、[アクション]、[IP アドレスの管理] の順にクリックします。

6.    ネットワークインターフェイス ID の横にある矢印を選択してウィンドウを展開してから、[新しい IP アドレスの割り当て] をクリックします。特定の IP を選択するか、フィールドを自動割り当てのままにすることができます。このステップを繰り返して、2 番目の新規 IP を追加してください。

7.    [保存]、[確認] の順に選択します。

8.    クラスターに参加する他の EC2 インスタンスについて、ステップ 1~7 を繰り返してください。

2 ノードの Windows クラスターを作成する

1.    両方のノードでローカル管理者権限を持つドメインアカウントで、RDP を使用して EC2 インスタンスに接続してください。

2.    Windows の [スタート] メニューで、[コントロールパネル] を開き、[ネットワークと共有センター] を選択します。

3.    ナビゲーションペインから [アダプター設定の変更] を選択します。

4.    ネットワーク接続を選択してから、[この接続の設定を変更する] を選択してください。

5.    インターネットプロトコルバージョン 4 (TCP/IPv4) を選択してから、プロパティを選択します。

6.    [高度な設定] を選択します。

7.    [DNS] タブで、[プライマリと接続固有の DNS サフィックスを追加する] を選択します。

8.    [Ok]、[Ok]、[閉じる] の順に選択してください。

9.    クラスターに参加する他の EC2 インスタンスに対して、ステップ 1~8 を繰り返してください。

10.    各インスタンスで、サーバーマネージャーからノードにクラスター機能をインストールするか、次の PowerShell コマンドを実行します。

Install-WindowsFeature –Name Failover-Clustering –IncludeManagementTools

11.    管理者として cmd を開き、cluadmin.msc と入力してクラスターマネージャーを開きます。

12.    フェイルオーバークラスターマネージャーのコンテキスト (右クリック) メニューを開き、[クラスターの作成] を選択します。

13.    [次へ] を選択してから [ブラウズ] を選択します。

14.    [選択するオブジェクト名を入力してください] で、クラスターノードのホスト名を入力し、[OK] をクリックしてください。

15.    [次へ] を選択します。これで、クラスターを検証するかどうかを選択できます。クラスター検証を実行するのがベストプラクティスです。クラスターが検証に合格しない場合、Microsoft は SQL クラスターのテクニカルサポートを提供できない可能性があります。[はい] または [いいえ] を選択してから、[次へ] をクリックします。

16.    クラスター名に名前を入力して、[次へ] を選択します。

17.    [適格なストレージをすべてクラスターに追加] をオフにして、[次へ] を選択してください。

18.    クラスターの作成が完了したら、[完了] をクリックします。

:クラスターのログとレポートは、%systemroot%\cluster\report というパスにあります。

19.    クラスターマネージャーの「クラスターコアリソース」セクションで、新しいクラスターのエントリを展開します。

20.    最初の IP アドレスエントリのコンテキスト (右クリック) メニューを開き、プロパティを選択します。[IP アドレス] で、[静的 IP アドレス] を選択し、eth0 Elastic Network Interface に関連付けられているセカンダリ IP の 1 つを入力してください。[Ok] を選択します。2 番目の IP アドレスエントリに対して、このステップを繰り返してください。

21.    クラスター名のコンテキストメニューを開き (右クリック)、[Bring Online] (オンラインにする) を選択します。

注: File Share Witness (FSW) がタイブレーカーとして機能するように設定することもベストプラクティスです。また、Amazon FSx for Windows File Server を Microsoft SQL Server で使用することもできます。FSW の詳細については、Microsoft ウェブサイトの「Failover Cluster Step-by-Step Guide: Configuring the Quorum in a Failover Cluster」(フェイルオーバークラスターのステップバイステップガイド: フェイルオーバークラスターのクォーラムの設定) を参照してください。

Always On 可用性グループを作成する

1.    SQL Server 設定マネージャーを開きます。

2.    SQL インスタンスのコンテキスト (右クリック) メニューを開き、プロパティを選択します。

3.    [AlwaysOn 高可用性] タブで、[AlwaysOn 可用性グループを有効にする]、[適用] を順に選択します。

4.    SQL インスタンスのコンテキスト (右クリック) メニューを開き、[再起動] を選択します。

5.    クラスターの他のクラスターノード部分でステップ 1~4 を繰り返してください。

6.    Microsoft SQL Server Management Studio (SSMS) を開きます。

7.    SQL インスタンスにアクセスできる Windows 認証ログインを使用して、いずれかの SQL インスタンスにログインします。

注: SQL インスタンス間で同じ MDF ディレクトリファイルパスと LDF ディレクトリファイルパスを使用することをお勧めします。

8.    テストデータベースを作成します。[Databases] (データベース) のコンテキストメニューを開き (右クリック)、[New Database] (新規データベース) を選択します。

注: [Options] (オプション) ページの [Full] (フル) 復旧モデルを使用してください。詳細については、Microsoft ウェブサイトの「復旧モデル (SQL Server)」を参照してください。

9.    データベース名に名前を入力し、[Ok] をクリックします。

10.    新しいデータベース名のコンテキスト (右クリック) メニューを開き、[Tasks] (タスク)、[Back Up] (バックアップ) の順に選択します。バックアップタイプで [完全] を選択します。

11.    [Ok] を選択してから [Ok] を選択してください。

12.    Always On 高可用性のコンテキスト (右クリック) メニューを開き、[新規可用性グループウィザード] を選択します。

13.    [次へ] を選択します。

14.    可用性グループ名に名前を入力して、[次へ] を選択します。

15.    データベースを選択してから、[次へ] を選択します。

16.    プライマリレプリカは、すでに可用性レプリカウィンドウに表示されています。セカンダリレプリカを作成するには、[レプリカの追加] を選択してください。

17.    サーバー名にセカンダリレプリカの名前を入力し、[接続] を選択します。

18.    [Availability Mode] (可用性モード) では、どの可用性モードを使用するかを決定してから、各レプリカのために [Synchronous commit] (同期コミット) または [Asynchronous commit] (非同期コミット) を選択します。詳細については、Microsoft ウェブサイトの「Always On 可用性グループの可用性モードの違い」を参照してください。

19.    [次へ] を選択します。

20.    データ同期の詳細設定を選択してから、[Next] (次へ) を選択します。詳細については、Microsoft ウェブサイトの「[最初のデータの同期を選択] ページ (AlwaysOn 可用性グループウィザード)」を参照してください。

21.    検証が成功したら、[次へ] をクリックします。

注意: 後で追加するので、[リスナー設定を確認中] は無視しても問題ありません。

22.    [Finish] (完了)、[Close] (閉じる) の順に選択します。

SQL Group Listener を追加する

1.    SSMS を開き、[Always On 高可用性]、[可用性グループ]、[プライマリレプリカ名] の順に展開してください。

2.    可用性グループリスナーのコンテキスト (右クリック) メニューを開き、[リスナーの追加] を選択します。

リスナー DNS 名に名前を入力します。

ポート1433 と入力します。

ネットワークモードの場合は、[静的 IP] を選択します。

3.    [Add] (追加) を選択します。

[IPv4 Address] (IPv4 アドレス) で、いずれかのクラスターノードインスタンスから 3 番目の IP アドレスを入力し、[Ok] (OK) を選択します。他のクラスターノードインスタンスから 3 番目の IP アドレスを使用して、このステップを繰り返してください。

4.    [Ok] (OK) を選択します。

注: SQL Group Listener を追加するときに受信したエラーは、許可がないことを示します。トラブルシューティングのステップについては、Microsoft ウェブサイトで次のリソースを参照してください。

フェイルオーバーをテストする

1.    SSMS を使用して、ナビゲーションメニューでプライマリレプリカのコンテキスト (右クリック) メニューを開き、[フェイルオーバー] を選択します。

2.    [次へ] を選択してから [次へ] を選択します。

3.    [接続] を選択し、次に [接続] を選択します。

4.    [次へ] を選択してから [完了] を選択してください。プライマリレプリカは、フェイルオーバー後にセカンダリレプリカになります。


関連情報

EC2 での SQL Server クラスタリングに関するベストプラクティスと推奨事項

AWS での SQL Server with Always-on Replication

AWS Launch Wizard

Always On 可用性グループのリスナーの構成 (Microsoft ウェブサイト)

AWS公式
AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ