Database > RDS for MS-SQL > DBインスタンス

DBインスタンス

DBインスタンスは、仮想機器とインストールされたMicrosoft SQL Serverを合わせた概念で、RDS for MS-SQLで提供するMicrosoft SQL Serverの単位です。 DBインスタンスのOSに直接アクセスすることはできません。DBインスタンス作成時に入力したポートを通してデータベースからアクセスできます。 DBインスタンスは、ユーザーが付与する名前と自動的に付与される32バイトのIDで識別します。 DBインスタンス名は、下記のような制約事項があります。

  • DBインスタンス名はリージョンごとに固有の名前にする必要があります。
  • DBインスタンス名は4~100文字まで入力可能で、英数字、(-)(_)(.)のみ使用可能です。
  • DBインスタンス名の最初の文字は英字のみ使用できます。

DBインスタンスは、作成時にユーザーアカウントとパスワードを設定する必要があり、下記のような制約事項があります。

  • ユーザーアカウントは、4~16文字の英数字のみ入力可能で、最初の文字は英字のみ使用できます。
  • パスワードは、8~128文字の英数字、!, $, #, %のみ使用できます。
  • パスワードにユーザーのアカウント名を含めることはできません。
  • パスワードは英字大文字/小文字、数字、特殊文字の中から3種類以上を含める必要があります。

アベイラビリティゾーン

RDS for MS-SQLは、ハードウェアの問題により発生する障害に備えるために、システム全体を複数のアベイラビリティゾーンに分けておきました。1つのアベイラビリティゾーン内で発生する障害は、他のアベイラビリティゾーンに影響を与えないため、サービス全体の可用性が高まります。別々のアベイラビリティゾーンで作成されたDBインスタンス同士のネットワーク通信が可能で、この時発生するネットワーク使用費用は課金されません。

[注意] 作成したDBインスタンスのアベイラビリティゾーンは変更できません。

Microsoft SQL Serverバージョン

以下のバージョンをサポートします。

  • SQL Server 2016 Standard (13.0.5850.14)
  • SQL Server 2017 Standard (14.0.3294.2)

[注意] バージョンごとにバックアップファイルの互換性がないため、バックアップファイルを利用して復元する時、別のバージョンには作成できません。

DBインスタンスタイプ

DBインスタンスは、各タイプでCPUコア数とメモリ容量が異なります。 DBインスタンス作成時、データベースワークロードに応じて適切なDBインスタンスタイプを選択する必要があります。

タイプ 説明
m2 CPUとメモリをバランスよく設定したタイプです。
c2 CPUの性能を高く設定したインスタンスタイプです。
r2 他のリソースに比べてメモリの使用量が多い場合に使用できます。
x1 高仕様のCPUとメモリをサポートするタイプです。高い性能が必要なサービスやアプリケーションに使用します。

作成したDBインスタンスのタイプはWebコンソールから簡単に変更可能です。

[注意] 作成したDBインスタンスのタイプを変更すると、DBインスタンスが終了するため、数分のダウンタイムが発生します。

DBインスタンスの状態

DBインスタンスの状態は、下記のような値で構成され、ユーザーの行為と現在の状態によって変更されます。

状態 説明
使用可能 DBインスタンスが安定していて、他の行為を行うことができる状態
接続失敗 データベース接続ができない状態
ストレージ不足 DBインスタンスのストレージ空き容量が足りない状態
作成中 DBインスタンスが作成中の状態
変更中 DBインスタンスが変更中の状態
バックアップ中 DBインスタンスがバックアップ中の状態
削除中 DBインスタンスが削除中の状態
再起動中 DBインスタンスが再起動中の状態
高可用性構成復旧中 高可用性DBインスタンスの補助サーバーを再構成中です
フェイルオーバー中 DBインスタンスがフェイルオーバー中の状態
フェイルオーバー完了 DBインスタンスが自動フェイルオーバーを完了して停止した状態
エラー 不明な理由によりDBインスタンスを使用できない状態

ストレージタイプ

DBインスタンスは、2種類のストレージタイプ(HDD、SSD)をサポートします。 ストレージタイプによって性能と価格が異なるため、データベースワークロードに応じて適切なストレージタイプを選択する必要があります。 ストレージタイプは20GB~2,000GBまで作成できます。 作成したストレージのサイズは、Webコンソールから簡単に変更可能です。

[注意] 作成したストレージのサイズを変更すると、DBインスタンスが終了するため、数分のダウンタイムが発生します。 作成したストレージのタイプは変更できません。

高可用性DBインスタンス

高可用性DBインスタンスは可用性とデータ耐久性を高め、障害に強いデータベースを提供します。 RDS for MS-SQLはメインサーバー、補助サーバー、監視サーバーで構成されたMicrosoft SQL Serverのデータベースミラーリング機能を利用して高可用性を提供します。メインサーバーと補助サーバーは別々のアベイラビリティゾーンに作成されます。

自動フェイルオーバー

障害によりメインサーバーがサービスを提供できなくなった場合、自動的にフェイルオーバーを実行します。障害が発生したメインサーバーはスプリットブレインを防止するために停止し、補助サーバーがメインサーバーの役割を代わりに担います。接続のための内部および外部ドメインのA recordは障害が発生したメインサーバーから補助サーバーへ変更されるため、アプリケーションソフトウェアの変更は必要ありません。 フェイルオーバーが完了すると、高可用性DBインスタンスはなくなり、障害が発生したDBインスタンスと障害により昇格したDBインスタンスに分離されます。昇格したDBインスタンスは既存DBインスタンスのすべての設定を継承しますが、バックアップは継承しません。昇格したDBインスタンスはフェイルオーバー作業による負荷を防止するために昇格直後は自動バックアップを実行しません。 フェイルオーバーが完了したDBインスタンスは[再起動]ボタンを押して再起動できます。

手動フェイルオーバー

高可用性DBインスタンスはフェイルオーバーを利用した再起動を通して手動でフェイルオーバーを実行できます。フェイルオーバーを利用して再起動した時、手動フェイルオーバーが実行され、メインサーバーと補助サーバーの役割が変更されます。フェイルオーバープロセスでメインサーバーと補助サーバーはMicrosoft SQL Serverプロセスの再起動が実行され、内部および外部ドメインのIPが変更されます。ドメイン変更が完了するまで数秒から数分間、接続が失敗する場合があります。フェイルオーバーが完了すると自動的にバックアップを実行します。

注意および制約事項

  • バックアップ保管期間が1日以上の時のみ、高可用性DBインスタンスを使用できます。
  • 別々のリージョンの高可用性構成はサポートしません。
  • 高可用性のための補助サーバーを読み込み負荷分散用に使用できません。
  • 高可用性DBインスタンスのデータベースの名前を変更すると、ミラーリング構成を新たに進行し、構成が完了するまで一定時間かかります。ミラーリング構成の進行中は性能が低下する場合があり、障害発生時、フェイルオーバーが正常に実行されません。
  • 高可用性DBインスタンスのデータベースは、全体復旧モデル(Full Recovery Model)だけをサポートし、復旧モデルへの変更を検知した場合、強制的に全体復旧モデルに変更します。
  • フェイルオーバーが完了したDBインスタンスは、障害によるデータ消失などの理由で再起動が失敗したり、正常に動作しない場合があります。
  • 高可用性機能はドメインを基盤にしているため、ユーザーCompute & NetworkサービスのインスタンスがDNSサーバーに接続できないネットワーク環境の場合、該当インスタンスはドメインを通してDBインスタンスに接続できず、フェイルオーバー発生時、正常に接続できません。
  • 高可用性DBインスタンスに新規データベースを作成すると、該当データベースがミラーリングされるまで5分から数十分かかります。
    • ミラーリング構成が完了する前に障害が発生すると、該当データベースは正しくフェイルオーバーを実行できません。
  • 高可用性DBインスタンスのすべてのデータベースは、同じサーバーで動作します。特定データベースで障害が発生すると、すべてのデータベースでフェイルオーバーを実行します。
  • ミラーリング構成されたデータベースがない場合はフェイルオーバーを行いません。
  • メインサーバーのuser、login、permissionは、全て自動的に補助サーバーに複製されます。
    • 複製にかかる時間は、10秒から数十分です。
    • 複製が完了する前に障害が発生すると、修正事項は消失します。
  • SQL Server Agent jobは複製ができません。フェイルオーバーが実行されると、昇格したDBインスタンスに再度作成する必要があります。
  • フェイルオーバー完了時間は復旧プロセスの影響を受けるため、大きなトランザクションがある場合は時間がかかります。
  • DBインスタンス変更作業中は自動フェイルオーバーが一時的に停止します。
  • メモリが8GB未満のインスタンスは、高可用性機能を使用できません。
TOP