DB インスタンスの再起動 - Amazon Relational Database Service

DB インスタンスの再起動

RDS DB インスタンスのデータベースサービスは、再起動と呼ばれる 1 回のオペレーションで停止および開始できます。

DB インスタンスの再起動のユースケース

通常、メンテナンスの理由から DB インスタンスを再起動して、変更を有効にします。一般的なユースケースは次のとおりです。

  • 新しい DB パラメータグループの関連付け – 新しい DB パラメータグループを DB インスタンスに関連付ける場合、RDS は、DB インスタンスが再起動された後にのみ、変更された静的および動的パラメータを適用します。ただし、DB インスタンスに関連付けた後に DB パラメータグループの動的パラメータを変更すると、これらの変更は再起動せずに直ちに適用されます。詳細については、「「パラメータグループを使用する」 」を参照してください。

  • 既存の DB パラメータグループの静的パラメータへの変更適用 – 静的パラメータを変更して DB パラメータグループを保存すると、コンソールでこのパラメータグループに関連付けられた DB インスタンスのステータスが [再起動を保留中] に変わります。パラメータの変更は、関連付けられた DB インスタンスが再起動された後にのみ有効になります。動的パラメータを変更すると、デフォルトでパラメータの変更が直ちに有効になります。再起動は不要です。

    注記

    [再起動を保留中] のステータスにより、次回のメンテナンスウィンドウで自動的に再起動されることはありません。パラメータの最新の変更を DB インスタンスに適用するには、DB インスタンスを手動で再起動します。パラメータグループの詳細については、「「パラメータグループを使用する」 」を参照してください。

  • マルチ AZ フェイルオーバーのテスト — マルチ AZ DB クラスターのテスト戦略では、プライマリ DB インスタンスを再起動して別の AZ へのフェイルオーバーを開始する場合があります。

  • トラブルシューティング — パフォーマンスやその他の運用上の問題が発生し、再起動が必要になる場合があります。例えば、DB インスタンスが応答しない可能性があります。

DB インスタンスの再起動の仕組み

Amazon RDS で DB インスタンスが再起動されると、次のシーケンシャルタスクが実行されます。

  1. DB インスタンスのデータベースサービスを停止する

  2. DB インスタンスでデータベースサービスを開始するす。

再起動プロセスにより、短時間の停止が発生します。この停止中、DB インスタンスのステータスは再起動中になります。シングル AZ 配置とマルチ AZ DB インスタンス配置の両方で、フェイルオーバーで再起動した場合でも停止します。

マルチ AZ 配置での DB インスタンスの再起動の仕組み

RDS DB インスタンスがマルチ AZ 配置にある場合は、フェイルオーバーなしで再起動できます。このオペレーションは、フェイルオーバー後に DB インスタンスの障害をシミュレートしたり、元のアベイラビリティーゾーンにオペレーションを復元したりするのに役立ちます。

フェイルオーバーによる再起動中、Amazon RDS は以下を実行します。

  • データベースを突然中断します。そのため、DB インスタンスとそのクライアントセッションが正常にシャットダウンする時間がない場合があります。

    警告

    データが損失する可能性を回避するため、フェイルオーバーで再起動する前に DB インスタンスでトランザクションを停止することをお勧めします。

  • 別の AZ のスタンバイレプリカに自動的に切り替えます。AZ の変更は AWS Management Console、および AWS CLI と RDS API への呼び出しに数分反映されない場合があります。

  • スタンバイ DB インスタンスを指すように DB インスタンスの DNS レコードを更新します。したがって、DB インスタンスへの既存の接続のクリーンアップと再確立が必要になります。詳細については、「マルチ AZ 配置の設定と管理」を参照してください。

  • 再起動後に Amazon RDS イベントを作成します。

RDS for Microsoft SQL Server では、フェイルオーバーではプライマリ DB インスタンスのみが再起動されます。フェイルオーバー後、プライマリ DB インスタンスは新しいセカンダリ DB インスタンスになります。マルチ AZ インスタンスのパラメータは更新されない可能性があります。フェイルオーバーなしの再起動の場合、プライマリ DB インスタンスとセカンダリ DB インスタンスの両方が再起動し、再起動後にパラメータが更新されます。DB インスタンスが応答しない場合は、フェイルオーバーなしで再起動することをお勧めします。

DB インスタンスを再起動する際の考慮事項

インスタンスを再起動する前に、次の点を考慮してください。

  • リードレプリカを持つ DB インスタンスの場合、ソース DB インスタンスとそのリードレプリカを個別に再起動できます。再起動が完了すると、レプリケーションが自動的に再開されます。

  • 再起動にかかる時間は、クラッシュ回復プロセス、再起動時のデータベースアクティビティ、および特定の DB エンジンの動作によって異なります。再起動時間を短くするには、再起動中のデータベースアクティビティをできる限り減らすことをお勧めします。この手法は、転送中のトランザクションのロールバックアクティビティを減らします。

DB インスタンスを再起動するための前提条件

次の前提条件を満たしていることを確認します。

  • DB インスタンスは available の状態である必要があります。データベースは、バックアップが進行中または、以前の要求による変更、メンテナンス時間のオペレーションなど、いくつかの理由で使用できない場合があります。

  • 別の AZ へのフェイルオーバーを強制的に実行する場合は、DB インスタンスをマルチ AZ 用に設定する必要があります。

  • 別の AZ へのフェイルオーバーを強制的に実行する場合は、データ損失の可能性を防ぐため、まず DB インスタンスのトランザクションを停止することをお勧めします。

DB インスタンスの再起動: 基本的な手順

DB インスタンスの再起動には、AWS Management Console、AWS CLI または RDS API を使用します。

DB インスタンスを再起動するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[データベース] を選択し、再起動する DB インスタンスを選択します。

  3. [アクション] で、[再起動] を選択します。

    [DB インスタンスを再起動] ページが表示されます。

  4. (省略可能) [フェイルオーバーし再起動しますか?] を選択し、別の AZ へのフェイルオーバーを強制的に実行します。

  5. [Reboot] を選択して DB インスタンスを再起動します。

    または、[Cancel] を選択します。

AWS CLI を使用して DB インスタンスを再起動するには、reboot-db-instance コマンドを呼び出します。

例 シンプルな再起動

Linux、macOS、Unix の場合:

aws rds reboot-db-instance \ --db-instance-identifier mydbinstance

Windows の場合:

aws rds reboot-db-instance ^ --db-instance-identifier mydbinstance
例 フェイルオーバーによる再起動

マルチ AZ DB クラスターで、ある AZ から別の AZ へのフェイルオーバーを強制的に実行するには、--force-failover パラメータを使用します。

Linux、macOS、Unix の場合:

aws rds reboot-db-instance \ --db-instance-identifier mydbinstance \ --force-failover

Windows の場合:

aws rds reboot-db-instance ^ --db-instance-identifier mydbinstance ^ --force-failover

Amazon RDS API を使用して DB インスタンスを再起動するには、RebootDBInstance オペレーションを呼び出します。