

# Aurora MySQL の高可用性のベストプラクティス
<a name="AuroraMySQL.BestPractices.HA"></a>

次のベストプラクティスを適用して、Aurora MySQL クラスターの可用性を向上させることができます。

**Topics**
+ [Amazon Aurora を使用した MySQL データベースのディザスタリカバリ](#AuroraMySQL.BestPractices.DisasterRecovery)
+ [ダウンタイムを短縮して MySQL から Amazon Aurora MySQL に移行する](#AuroraMySQL.BestPractices.Migrating)
+ [Aurora MySQL DB インスタンスの低パフォーマンス、自動再起動、フェイルオーバーの回避](#AuroraMySQL.BestPractices.Avoiding)

## Amazon Aurora を使用した MySQL データベースのディザスタリカバリ
<a name="AuroraMySQL.BestPractices.DisasterRecovery"></a>

MySQL DB インスタンスで Amazon Aurora を使用することで、ディザスタリカバリ用のオフサイトバックアップを作成できます。MySQL DB インスタンスのディザスタリカバリに Aurora を使用するには、Amazon Aurora DB クラスターを作成し、MySQL DB インスタンスのリードレプリカに指定します。これは、RDS for MySQL DB インスタンス、または Amazon RDS の外部で実行されている MySQL データベースに適用されます。

**重要**  
MySQL DB インスタンスと Amazon Aurora MySQL DB クラスターの間でレプリケーションを設定する場合、レプリケーションをモニタリングして、レプリケーションが正常に動作していることを確認し、必要な場合は修復する必要があります。

Amazon Aurora MySQL DB クラスターを作成して MySQL DB インスタンスのリードレプリカに指定するには、「[Amazon Aurora を使用した MySQL データベースの読み取りスケーリング](AuroraMySQL.BestPractices.Performance.md#AuroraMySQL.BestPractices.ReadScaling)」の手順に従ってください。

災害対策モデルの詳細については、「[Amazon Aurora MySQL クラスターに最適な災害対策オプションを選択する方法](https://aws.amazon.com/blogs/database/how-to-choose-the-best-disaster-recovery-option-for-your-amazon-aurora-mysql-cluster/)」を参照してください。

## ダウンタイムを短縮して MySQL から Amazon Aurora MySQL に移行する
<a name="AuroraMySQL.BestPractices.Migrating"></a>

ライブアプリケーションをサポートする MySQL データベースから Amazon Aurora MySQL DB クラスターにデータをインポートするときは、移行中のサービス中断時間を短縮することが必要になる場合があります。これを行うには、「*Amazon Relational Database Service ユーザーガイド*」の「[Importing data to an Amazon RDS for MySQL DB instance with reduced downtime](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql-importing-data-reduced-downtime.html)」で説明されている手順を使用できます。この手順は、巨大なデータベースを使用する場合に特に役立ちます。この手順を使用すると、ネットワーク経由で AWS に渡されるデータの量を最小限に抑えることで、インポートのコストを削減できます。

このステップでは、データベースのデータのコピーを Amazon EC2 インスタンスに送信し、そのデータを新しい RDS for MySQL DB インスタンスにインポートするステップを示します。Amazon Aurora は MySQL と互換性があるため、ターゲット Amazon RDS MySQL DB インスタンスの代わりに Amazon Aurora DB クラスターを使用することができます。

## Aurora MySQL DB インスタンスの低パフォーマンス、自動再起動、フェイルオーバーの回避
<a name="AuroraMySQL.BestPractices.Avoiding"></a>

負荷の高いワークロードや、DB インスタンスに割り当てられたリソースを超えて急増するワークロードを実行している場合、アプリケーションと Aurora データベースを実行しているリソースを使い果たしてしまう可能性があります。CPU 使用率、メモリ使用量、使用されているデータベース接続数など、データベースインスタンスに関するメトリクスを取得するには、Amazon CloudWatch、パフォーマンスインサイト、および拡張モニタリングが提供するメトリクスを参照できます。DB インスタンスのモニタリングについては、「[Amazon Aurora クラスターでのメトリクスのモニタリング](MonitoringAurora.md)」を参照してください。

ワークロードが使用しているリソースを使い果たした場合、DB インスタンスは遅くなったり、再起動したり、別の DB インスタンスにフェイルオーバーしたりする可能性があります。これを避けるには、リソースの使用状況を監視し、DB インスタンスで実行されているワークロードを調べ、必要に応じて最適化を行います。最適化を行ってもインスタンスのメトリクスが改善されず、リソースの枯渇も緩和されない場合は、上限に達する前に DB インスタンスをスケールアップすることを検討してください。利用可能な DB インスタンスクラスとその仕様の詳細については、「[Amazon Aurora DB インスタンスクラス](Concepts.DBInstanceClass.md)」を参照してください。