Aurora MySQL の高可用性のベストプラクティス - Amazon Aurora

Aurora MySQL の高可用性のベストプラクティス

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

Amazon Aurora を使用した MySQL データベースのディザスタリカバリ

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 データベースの読み取りスケーリング」の手順に従ってください。

災害対策モデルの詳細については、「Amazon Aurora MySQL クラスターに最適な災害対策オプションを選択する方法」を参照してください。

ダウンタイムを短縮して MySQL から Amazon Aurora MySQL に移行する

ライブアプリケーションをサポートする MySQL データベースから Amazon Aurora MySQL DB クラスターにデータをインポートするときは、移行中のサービス中断時間を短縮することが必要になる場合があります。これを行うには、『Amazon Relational Database Service ユーザーガイド』の「ダウンタイムを短縮して MySQL または MariaDB DB インスタンスにデータをインポートする」で説明されている手順を使用できます。この手順は、巨大なデータベースを使用する場合に特に役立ちます。この手順を使用すると、ネットワーク経由で AWS に渡されるデータの量を最小限に抑えることで、インポートのコストを削減できます。

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

Aurora MySQL DB インスタンスの低パフォーマンス、自動再起動、フェイルオーバーの回避

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

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