すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:個々のデータベースとテーブルのバックアップおよび復元機能を使用する

最終更新日:Feb 21, 2025

ApsaraDB RDS for MySQL インスタンスでは、完全データバックアップ機能を無効にすることはできません。また、完全データバックアッププロセスは完了までに長い時間がかかり、大量のストレージリソースを消費します。データベースシステムに大量のデータが存在し、頻繁にバックアップする必要がある場合は、データディザスタリカバリを使用してコアデータベースとテーブルをバックアップできます。これにより、完全バックアップの頻度、バックアップ時間、およびストレージコストを削減できます。コアデータが破損した場合、データベースとテーブルのバックアップファイルを使用してデータを迅速に復元できます。

課金ルール

  • RDS インスタンスを作成すると、使用するインスタンスタイプとストレージ容量に基づいて課金されます。詳細については、「課金対象項目」をご参照ください。

  • データディザスタリカバリを使用してデータベースとテーブルをバックアップする場合、バックアップスケジュールの仕様と使用するストレージ容量に対して課金されます。詳細については、「バックアップ料金」および「ストレージコスト」をご参照ください。

準備

個々のデータベースとテーブルのバックアップおよび復元機能を使用するには、RDS インスタンスを作成および構成する必要があります。次のセクションでは、RDS インスタンスを作成および構成する方法について説明します。

RDS インスタンスの作成と構成

  1. ApsaraDB RDS コンソールにログインします。表示されるページで、[インスタンスの作成] をクリックして ApsaraDB RDS 購入ページに移動します。

  2. RDS インスタンスの購入: このトピックでは、[標準] RDS インスタンスを作成します。このインスタンスは、[mysql 8.0][RDS High-availability Edition] 上で実行し、[ローカルディスク] を使用し、[20 GB] のストレージを提供します。コストを削減するために、他の仕様には最低構成を使用できます。

  3. データベースの作成: このトピックでは、dbtest という名前のデータベースが作成され、[utf8] 文字セットをサポートします。

  4. 特権アカウントの作成: このトピックでは、dbuser という名前の [特権アカウント] が作成され、カスタムパスワードが指定されます。

  5. 生データの生成: RDS インスタンスにログインし、dbtest データベースをダブルクリックします。次に、SQL ウィンドウで次の SQL 文を実行して、table_test1 テーブルと table_test2 テーブルを作成し、テーブルに生データを挿入します。

    -- table_test1 テーブルを作成し、テーブルに 2 つのデータレコードを挿入します。
    CREATE TABLE table_test1 (
        id INT PRIMARY KEY,
        name VARCHAR(50)
    );
    INSERT INTO table_test1 (id, name) VALUES (1, 'user1');
    INSERT INTO table_test1 (id, name) VALUES (2, 'user2');
    
    -- table_test2 テーブルを作成し、テーブルに 2 つのデータレコードを挿入します。
    CREATE TABLE table_test2 (
        id INT PRIMARY KEY,
        age INT
    );
    INSERT INTO table_test2 (id, age) VALUES (1, 18);
    INSERT INTO table_test2 (id, age) VALUES (2, 25);

1. 個々のデータベースとテーブルをバックアップする

ApsaraDB RDS では、デフォルトのバックアップ機能を使用してデータベースとテーブルをバックアップできます。また、バックアップスケジュールを作成および構成して、データベースとテーブルを自動的にバックアップすることもできます。次の表は、2 つのバックアップ方法を比較したものです。詳細については、「デフォルトの RDS バックアップと高度なバックアップの違い」をご参照ください。

バックアップ方法

バックアップモード

個々のデータベースとテーブルのバックアップ

ApsaraDB RDS のデフォルトバックアップ

自動

サポートされていません。

手動

特定のデータベースをバックアップできますが、特定のテーブルをバックアップすることはできません。

RDS High-availability Edition 上で MySQL 8.0、MySQL 5.7、または MySQL 5.6 を実行し、ローカルディスクを使用する RDS インスタンスでサポートされています。

データディザスタリカバリバックアップ

自動

特定のデータベースとテーブルをバックアップできます。

このトピックでは、バックアップスケジュールを作成および構成してデータベースとテーブルをバックアップする方法について説明します。

データディザスタリカバリは、Alibaba Cloud が提供する費用対効果が高く信頼性の高い クラウドネイティブ データベースバックアッププラットフォームです。MySQL、SQL Server、PostgreSQL、Oracle データベースなど、10 種類近くのデータソースをサポートしています。また、このプラットフォームは、ApsaraDB RDS インスタンス、Elastic Compute Service (ECS) インスタンス、データセンター、他のクラウド サービス プロバイダーが提供するクラウドプラットフォームなど、データベースがデプロイされているさまざまな環境をサポートしています。データディザスタリカバリには、database gateway (DG)、プライベートネットワーク、VPN ゲートウェイ、Express Connect 回線などの方法を使用してアクセスできます。これにより、バックアップ時間とコストを削減できます。

1.1 バックアップスケジュールを購入する

  1. Database Backup 購入ページに移動します。[バックアップインスタンスのリージョン] パラメーターを RDS インスタンスが存在するリージョンに、[製品タイプ] パラメーターを [バックアップインスタンス (サブスクリプション)] に、[データソースタイプ] パラメーターを [mysql] に、[仕様] パラメーターを [micro] に、[サブスクリプション期間] パラメーターを [1 か月] に設定します。次に、[今すぐ購入] をクリックして支払いを完了します。

    重要
    • データディザスタリカバリコンソールでは、サブスクリプションバックアップスケジュールのみを作成できます。

    • バックアップスケジュールを使用して個々のデータベースとテーブルのバックアップおよび復元機能を体験した後、コストを削減するために バックアップスケジュールを解約 できます。使用量に基づいて課金されます。

  2. バックアップスケジュールを購入した後、データディザスタリカバリコンソールでバックアップスケジュールを表示できます。

1.2 バックアップスケジュールを構成する

バックアップスケジュールを購入した後、データベースとテーブルの自動バックアップを実装するためにバックアップスケジュールを構成する必要があります。このトピックでは、dbtest データベースの table_test1 テーブルをバックアップします。

  1. データディザスタリカバリコンソール で、構成するバックアップスケジュールを見つけ、[アクション] 列の [バックアップスケジュールの構成] をクリックします。

  2. バックアップソースと宛先の構成 ステップで、[データベースの場所] パラメーターを [RDS インスタンス] に設定し、RDS インスタンスの ID と、このトピックの「準備」セクションで作成した特権アカウントのユーザー名とパスワードを入力します。特権アカウントのユーザー名は dbuser です。次に、[次へ] をクリックします。

  3. バックアップオブジェクトの編集 ステップで、[使用可能] セクションの dbtest データベースにある table_test1 テーブルを見つけ、image アイコンをクリックしてテーブルを [選択済み] セクションに追加します。次に、[次へ] をクリックします。image

  4. バックアップ時間の構成 ステップで、[単一バックアップ] を選択し、他のパラメーターにはデフォルト設定を使用します。次に、[次へ] をクリックします。

  5. ライフサイクルの編集 ステップで、すべてのパラメーターにデフォルト設定を使用し、[事前チェック] をクリックします。

1.3 バックアップステータスを表示する

  1. データディザスタリカバリコンソール で、バックアップスケジュールの ID をクリックして、バックアップスケジュールの詳細ページに移動します。左側のナビゲーションウィンドウで、[完全データ] をクリックします。バックアップセットの [ステータス][完了] の場合、前のステップで作成したバックアップスケジュールが開始され、単一バックアップが完了しています。

  2. バックアップセットの ID をクリックして、バックアップセットの詳細ページに移動します。

    1. 左側のナビゲーションウィンドウで、[スキーマのバックアップ] をクリックして、データベースとテーブルに関するスキーマ情報を表示します。

    2. [データのバックアップ] をクリックして、データベースとテーブルに関するデータバックアップ情報を表示します。

2. 個々のデータベースまたはテーブルを復元する

特定のデータベースとテーブルを誤って削除した場合、または過去の特定の時点のデータを表示する場合、前のステップで生成されたバックアップファイルを使用してデータを復元できます。このトピックでは、table_test1 テーブルを元の RDS インスタンスに復元します。

2.1 復元タスクを作成する

  1. データディザスタリカバリコンソール で、使用するバックアップスケジュールの ID をクリックします。表示されるページの右上隅にある [データベースの復元] をクリックします。

  2. 復元する時間を設定 ステップで、バックアップファイルが作成された時点を指定し、[ターゲットデータベースインスタンスタイプ] パラメーターを [既存を使用] に、[データベースの場所] パラメーターを [RDS インスタンス] に設定し、RDS インスタンスの ID と、このトピックの「準備」セクションで作成した特権アカウントのユーザー名とパスワードを入力します。特権アカウントのユーザー名は dbuser です。次に、[次へ] をクリックします。

  3. 復元するオブジェクトの構成 ステップで、dbtest データベースの table_test1 テーブルを選択し、image アイコンをクリックしてテーブルを [選択済み] セクションに追加し、[事前チェック] をクリックします。

    重要

    復元するテーブルの名前が RDS インスタンス上の既存のテーブルの名前と同じ場合、_<復元タスク ID>_<タイムスタンプ> 形式の接尾辞が復元するテーブルの名前に追加されます。その後、システムはデータを復元します。例: table_test1_dbs_sw***_2024***

2.2 復元結果を表示する

  1. [復元タスク] ページに移動します。復元タスクのステータスが [完了] の場合、データベースとテーブルは RDS インスタンスに復元されます。image

  2. ApsaraDB RDS コンソール にログインし、必要な RDS インスタンスを見つけて、RDS インスタンスにログインします。DMS コンソールの左側のナビゲーションウィンドウで、dbtest データベースをダブルクリックして、データベース内のテーブルを表示します。image

  3. テーブル内のデータを表示する場合は、SQL ウィンドウで次の SQL 文を実行します。

    -- SQL 文に復元するテーブルの名前を指定します。
    SELECT * FROM table_test1_************;

    image

3. リソースの解放と解約

  • RDS インスタンスの解放: ApsaraDB RDS コンソール にログインし、必要な RDS インスタンスを見つけて、[詳細] > [リリースインスタンス][アクション] 列の を選択します。

  • データディザスタリカバリバックアップスケジュールの解約: データディザスタリカバリコンソール にログインし、必要なバックアップスケジュールを見つけて、[アクション] 列の [詳細] > [解約] を選択します。

参考資料