Amazon RDS DB インスタンスのプロビジョンド合計ストレージサイズを縮小する方法を教えてください。

最終更新日: 2020 年 6 月 22 日

Amazon Relational Database Service (Amazon RDS) DB インスタンスに割り当てられているストレージの合計サイズを縮小したいです。どうすればよいですか?

簡単な説明

Amazon RDS DB インスタンスを作成した後、DB インスタンスの割り当てストレージサイズを変更して、使用する合計ストレージ領域を減らすことはできません。DB インスタンスのストレージサイズを減らすには、プロビジョンドストレージサイズの小さい DB インスタンスを新しく作成します。その後、次のいずれかの方法で、データを新しい DB インスタンスに移行します。

  • データベースエンジンのネイティブダンプと復元メソッドを使用します。
    注意:
    この方法では、ダウンタイムが発生します。

  • ダウンタイムを最小限に抑えて、AWS Database Migration Service (AWS DMS) を使用します。

解決方法

DB ダンプと復元

  1. Amazon RDS コンソールを開き、ナビゲーションペインから [データベース] を選択します。
  2. [データベースの作成] を選択します。
  3. 既存の DB インスタンスよりストレージサイズが小さい新しい Amazon RDS DB インスタンスを起動します。
  4. データベースエンジンのネイティブツールを使用して、既存の DB インスタンス (サイズを縮小するインスタンス) をダンプします。
  5. オプションで、古い DB インスタンスの名前を変更し、古い DB インスタンスの名前を使用して新しい DB インスタンスに名前を付けることができます。または、新しい DB インスタンスの名前を使用するようにアプリケーションを再設定することもできます。
  6. 新しい DB インスタンスでデータベースを復元します。

注意: データベースを復元するには、PostgreSQL または PostgreSQL バージョン 10.10 以降、および 11.5 の pg_dump ユーティリティを使用できます。後で、pg_dump/pg_restore メソッドよりはるかに高速にデータを移動できるトランスポータブルデータベースの使用を検討できます。mysqldump ユーティリティは、MySQL/MariaDB エンジンにデータをインポートするために使用できます。または、外部レプリケーション方法を使用してダウンタイムを短縮できます。同様に、Oracle の Data Pump、SQL Server のネイティブフルバックアップ (.bak ファイル) を使用できます。

注意: ダウンタイムは、古い DB インスタンスが接続を受信しなくなった時点から、Amazon RDS がアプリケーションから新しい DB インスタンスに接続を送信するまで発生します。

AWS DMS を使用したレプリケーション

AWS DMS を使って、2 つの DB インスタンス間で同種のレプリケーションを作成することができます。詳細については、AWS Database Migration Service の使用開始を参照してください。