

# RDS Custom for SQL Server マルチ AZ 配置のフェイルオーバープロセス
<a name="custom-sqlserver-multiaz.failover"></a>

DB インスタンスの計画的または計画外の停止がインフラストラクチャの欠陥に起因する場合、マルチ AZ を有効にしていると、Amazon RDS は別のアベイラビリティーゾーンのスタンバイレプリカに自動的に切り替わります。　　　　 フェイルオーバーが完了するまでにかかる時間は、プライマリ DB インスタンスが使用できなくなったときのデータベースアクティビティおよびその他の条件によって異なります。フェイルオーバー時間は通常 60～120 秒です。ただし、大規模なトランザクションや長期にわたる復旧プロセスによって、フェイルオーバー時間が増加する場合があります。フェイルオーバーが完了してから、新しいアベイラビリティーゾーンが RDS コンソールに表示されるまでさらに時間がかかる場合があります。

**注記**  
フェイルオーバーを使用して DB インスタンスを再起動するときに手動でフェイルオーバーを強制的に実行することができます。DB インスタンスの再起動方法については、「[ DB インスタンスの再起動](USER_RebootInstance.md)」を参照してください。

Amazon RDS はフェイルオーバーを自動的に処理するため、管理者が操作しなくても可能な限りすみやかにデータベース操作を再開できます。次の表に記載されている条件のいずれかが発生した場合、プライマリ DB インスタンスがスタンバイレプリカに自動的に切り替わります。これらのフェイルオーバーの理由は、RDS イベントログで確認できます。


****  

| フェイルオーバーした理由 | 説明 | 
| --- | --- | 
| `The operating system for the RDS Custom for SQL Server Multi-AZ DB instance is being patched in an offline operation` | OS パッチまたはセキュリティ更新プログラムのメンテナンス期間中に、フェイルオーバーがトリガーされました。詳細については、「[DB インスタンスのメンテナンス](USER_UpgradeDBInstance.Maintenance.md)」を参照してください。 | 
| `The primary host of the RDS Custom for SQL Server Multi-AZ DB instance is unhealthy.` | マルチ AZ DB インスタンスのデプロイは、障害のあるプライマリ DB インスタンスを検出し、フェイルオーバーしました。 | 
| `The primary host of the RDS Custom for SQL Server Multi-AZ DB instance is unreachable due to loss of network connectivity.` | RDS モニタリングは、プライマリ DB インスタンスへのネットワーク到達可能性による障害を検出し、フェイルオーバーをトリガーしました。 | 
| `The RDS Custom for SQL Server Multi-AZ DB instance was modified by the customer.` | DB インスタンスの変更により、フェイルオーバーがトリガーされました。詳細については、「[RDS Custom for SQL Server DB インスタンスの変更](custom-managing.modify-sqlserver.md)」を参照してください。 | 
| `The storage volume of the primary host of the RDS Custom for SQL Server Multi-AZ DB instance experienced a failure.` | マルチ AZ DB インスタンスのデプロイは、プライマリ DB インスタンスでストレージの問題を検出し、フェイルオーバーしました。 | 
| `The user requested a failover of the RDS Custom for SQL Server Multi-AZ DB instance.` | RDS Custom for SQL Server Multi-AZ DB インスタンスがフェイルオーバーにより再起動されました。詳細については、「[ DB インスタンスの再起動](USER_RebootInstance.md)」を参照してください。 | 
| `The RDS Custom for SQL Server Multi-AZ primary DB instance is busy or unresponsive.` | プライマリ DB インスタンスが応答しません。次の手順を実行することをお勧めします。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/custom-sqlserver-multiaz.failover.html)  | 

マルチ AZ DB インスタンスがフェイルオーバーされたかどうかを判断するには、次を実行します。
+ フェイルオーバーがスタートされたことを電子メールまたはSMSで通知するようにDBイベントサブスクリプションを設定します。 イベントの詳細については、「[Amazon RDS イベント通知の操作](USER_Events.md)」を参照してください。
+ RDS コンソールまたは API オペレーションを使用して DB イベントを表示します。
+ RDS コンソール、CLI、または API オペレーションを使用して、RDS Custom for SQL Server Multi-AZ DB インスタンスのデプロイの現在の状態を表示します。

## RDS Custom for SQL Server Multi-AZ マルチ AZ 配置を使用するアプリケーションでの Time to live (TTL) 設定
<a name="custom-sqlserver-multiaz.ttldns"></a>

フェイルオーバーメカニズムでは、スタンバイ DB インスタンスをポイントするように DB インスタンスのドメインネームシステム (DNS) レコードが自動的に変更されます。したがって、DB インスタンスへの既存の接続の再確立が必要になります。DNS キャッシュ Time to live (TTL) 設定値が低いことを確認し、アプリケーションが DNS を長期間キャッシュしないことを確認します。TTL 値が高いと、フェイルオーバー後にアプリケーションが DB インスタンスにすぐに再接続できなくなる可能性があります。