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

ApsaraDB RDS:ゼロ ETL 機能の使用

最終更新日:Nov 09, 2025

ApsaraDB RDS は、ApsaraDB RDS for MySQL インスタンスからデータウェアハウスにデータを同期するためのゼロ ETL 機能を提供します。データ同期タスクを作成またはメンテナンスする必要はなく、データ同期タスクに対して課金されることもありません。これにより、データ転送コストと O&M コストが削減されます。データウェアハウスは、AnalyticDB for MySQL クラスター、AnalyticDB for PostgreSQL クラスター、または ApsaraDB for ClickHouse クラスターにすることができます。

サポートされているリージョン

中国 (北京)、中国 (杭州)、中国 (上海)、および中国 (深圳)

説明

この機能は、各リージョンの RDS インスタンスに対して段階的に展開されます。ApsaraDB RDS コンソールの情報が優先されます。

概要

ビッグデータの時代において、企業は、さまざまなシステムやプラットフォームに分散している大量の業務データを効率的に管理および使用するために、抽出-変換-ロード (ETL) ツールを使用する必要があります。

ETL ツールは、上位の業務システムからデータを抽出し、データを変換してから、データウェアハウスにデータをロードします。このプロセスにより、分散データがデータウェアハウスに統合され、さらなるコンピューティング、分析、およびビジネス上の意思決定に利用されます。

以下に、従来の ETL プロセスに関連する課題について説明します。

  • システムの複雑性の増大: ETL ツールのメンテナンスは O&M の難易度を高め、ビジネスアプリケーション開発に集中することを妨げます。

  • リソースコストの増大: データソースが異なれば、異なる ETL ツールが必要になる場合があり、ETL タスクの作成には追加料金が課金されます。

  • データ適時性の低下: 特定の ETL プロセスには、定期的な一括更新が含まれます。ほぼリアルタイムのシナリオでは、分析結果を迅速に生成することはできません。

これらの問題を解決するために、Alibaba Cloud ApsaraDB は、オンライントランザクション処理 (OLTP) データベースを使用する業務システムと、オンライン分析処理 (OLAP) データベースを使用するデータウェアハウスとの間でデータ同期タスクを迅速に作成できるゼロ ETL 機能を提供します。この機能は、業務システムのデータを自動的に抽出し、変換し、クレンジングして、データウェアハウスにロードします。これにより、データ同期と管理をワンストップで完了し、トランザクション処理とデータ分析を統合できます。これにより、データ分析に集中できます。

利点

  • 使いやすさ: ETL 操作を実行するために、複雑なデータパイプラインを作成またはメンテナンスする必要はありません。リアルタイムのデータ同期タスクを作成するには、ソースインスタンスとターゲットクラスターを選択するだけです。これにより、データパイプラインの構築と管理の課題が軽減され、アプリケーション開発に集中できます。

  • ゼロコスト: ゼロ ETL タスクを作成して、データ分析のためにデータウェアハウスにデータを無料で同期できます。

  • マルチソース集約: ゼロ ETL タスクを作成して、複数の RDS インスタンスから AnalyticDB for MySQL クラスター、AnalyticDB for PostgreSQL インスタンス、または ApsaraDB for ClickHouse クラスターにデータをリアルタイムで同期し、グローバルな分析視点を構築できます。

    説明

    複数の RDS インスタンスから ApsaraDB for ClickHouse クラスターにデータを同期する場合、同期するオブジェクトが異なるタスク間で重複しないようにしてください。

同期リンク

  • ApsaraDB RDS for MySQL から ApsaraDB for ClickHouse へ

  • ApsaraDB RDS for MySQL から AnalyticDB for MySQL 3.0 へ

  • ApsaraDB RDS for MySQL から AnalyticDB for PostgreSQL へ

課金ルール

ゼロ ETL 機能を使用して、無料でデータを同期できます。

前提条件

準備

サービスリンクロールを作成し、管理権限を RAM ユーザーに付与します。

ApsaraDB RDS for MySQL から ApsaraDB for ClickHouse へ

  1. AliyunServiceRoleForClickHouseZeroETL サービスリンクロールを作成します。

    説明

    タスクを作成し、インスタンス ID ドロップダウンリストをクリックすると、AliyunServiceRoleForClickHouseZeroETL ロールを作成する必要があることを示すメッセージが表示されます。システムが自動的にロールを作成します。手動での操作は必要ありません。

  2. RAM ユーザーに管理権限を付与します。

    RAM ユーザーがゼロ ETL タスクを作成できるようにするには、RAM ユーザーに次の権限を付与する必要があります。詳細については、「カスタムポリシーの作成」をご参照ください。

    • RDS インスタンスに対する権限: AliyunRDSFullAccess ポリシーを RAM ユーザーにアタッチする必要があります。

    • ApsaraDB for ClickHouse クラスターに対する権限: カスタムポリシーを RAM ユーザーにアタッチする必要があります。次のスクリプトは、カスタムポリシーを記述しています。

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": "clickhouse:*",
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": "ram:CreateServiceLinkedRole",
                  "Resource": "*",
                  "Effect": "Allow",
                  "Condition": {
                      "StringEquals": {
                          "ram:ServiceName": "clickhouse.aliyuncs.com"
                      }
                  }
              }
          ]
      }
    • Data Transmission Service (DTS) に対する権限: カスタムポリシーを RAM ユーザーにアタッチする必要があります。次のスクリプトは、カスタムポリシーを記述しています。

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": "dts:*",
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": "ram:PassRole",
                  "Resource": "*",
                  "Effect": "Allow",
                  "Condition": {
                      "StringEquals": {
                          "acs:Service": "dts.aliyuncs.com"
                      }
                  }
              }
          ]
      }

ApsaraDB RDS for MySQL から AnalyticDB for MySQL 3.0 へ

  1. AliyunServiceRoleForAnalyticDBForMySQL サービスリンクロールを作成します。

    1. RAM コンソールにログインします。左側のナビゲーションウィンドウで、[ロール] をクリックします。ロールリストに AliyunServiceRoleForAnalyticDBForMySQL という名前のサービスリンクロールが存在するかどうかを確認します。サービスリンクロールが存在しない場合は、ロールを作成します。

    2. 表示されたページの左上隅で、[ロールの作成] をクリックします。

    3. [ロールタイプの選択] ステップで、[Alibaba Cloud サービス] を選択し、[次へ] をクリックします。

    4. ロールタイプパラメーターを [サービスリンクロール] に設定し、サービスを選択パラメーターを AnalyticDB for MySQL に設定します。

    5. [OK] をクリックします。[ロール] ページに戻り、サービスリンクロールが作成されているかどうかを確認します。

  2. RAM ユーザーに管理権限を付与します。

    RAM ユーザーに、すべてまたは特定の ApsaraDB RDS for MySQL インスタンスおよび AnalyticDB for MySQL クラスターに対する権限を付与できます。詳細については、「カスタムポリシーの作成」をご参照ください。

    以下に、カスタムポリシーのスクリプトを示します。

    すべての RDS インスタンスと AnalyticDB for MySQL クラスターに対する権限を付与する

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "dts:*",
                "Resource": [
                    "acs:adb:*:*:*",
                    "acs:rds:*:*:*"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "dts:DescribeRegions",
                    "dts:DescribeConfigRelations",
                    "dts:DescribeSrcLinkConfig",
                    "dts:DescribeDestLinkConfig",
                    "dts:DescribeLinkConfig",
                    "dts:DescribeConciseJobStatics",
                    "dts:ListUserAuthorizationLogs",
                    "dts:CreateUserAuthorization"
                ],
                "Resource": [
                    "acs:dts:*:*:*"
                ]
            }
        ]
    }

    特定の RDS インスタンスと AnalyticDB for MySQL クラスターに対する権限を付与する

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "dts:*",
                "Resource": [
                    "acs:adb:*:*:dbcluster/am-2zeod8ax4b9a****", // 同期する AnalyticDB for MySQL クラスターの ID を使用します。
                    "acs:rds:*:*:dbinstance/rm-2ze6fs8ouh43****", // 同期する RDS インスタンスの ID を使用します。
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "dts:DescribeRegions",
                    "dts:DescribeConfigRelations",
                    "dts:DescribeSrcLinkConfig",
                    "dts:DescribeDestLinkConfig",
                    "dts:DescribeLinkConfig",
                    "dts:DescribeConciseJobStatics",
                    "dts:ListUserAuthorizationLogs",
                    "dts:CreateUserAuthorization"
                ],
                "Resource": "acs:dts:*:*:*"
            }
        ]
    }

ApsaraDB RDS for MySQL から AnalyticDB for PostgreSQL へ

  1. AliyunServiceRoleForADBPG という名前のサービスリンクロールを作成します。

    1. RAM コンソールにログインします。左側のナビゲーションウィンドウで、[ロール] をクリックします。表示されたページで、AliyunServiceRoleForADBPG サービスリンクロールが存在するかどうかを確認します。サービスリンクロールが存在しない場合は、ロールを作成します。

    2. 表示されたページの左上隅で、[ロールの作成] をクリックします。

    3. [ロールタイプの選択] ステップで、[Alibaba Cloud サービス] を選択し、[次へ] をクリックします。

    4. ロールタイプパラメーターを [サービスリンクロール] に設定し、サービスを選択パラメーターを AnalyticDB for PostgreSQL に設定します。

    5. [OK] をクリックします。[ロール] ページに戻り、サービスリンクロールが作成されているかどうかを確認します。

  2. RAM ユーザーに管理権限を付与します。

    RAM ユーザーに、すべてまたは特定の ApsaraDB RDS for MySQL インスタンスおよび AnalyticDB for PostgreSQL クラスターに対する権限を付与できます。詳細については、「カスタムポリシーの作成」をご参照ください。

    以下に、カスタムポリシーのスクリプトを示します。

    すべての RDS インスタンスと AnalyticDB for PostgreSQL クラスターに対する権限を付与する

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "dts:*",
                "Resource": [
                    "acs:gpdb:*:*:*",
                    "acs:rds:*:*:*"
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "dts:DescribeRegions",
                    "dts:DescribeConfigRelations",
                    "dts:DescribeSrcLinkConfig",
                    "dts:DescribeDestLinkConfig",
                    "dts:DescribeLinkConfig"
                ],
                "Resource": [
                    "acs:gpdb:*:*:*"
                ]
            }
        ]
    }

    特定の RDS インスタンスと AnalyticDB for PostgreSQL クラスターに対する権限を付与する

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "dts:*",
                "Resource": [
                    "acs:gpdb:*:*:dbinstanc/gp-bp1a740l3zx4****", // 同期する AnalyticDB for PostgreSQL クラスターの ID を使用します。
                    "acs:rds:*:*:dbinstance/rm-2ze6fs8ouh43****", // 同期する RDS インスタンスの ID を使用します。
                ]
            },
            {
                "Effect": "Allow",
                "Action": [
                    "dts:DescribeRegions",
                    "dts:DescribeConfigRelations",
                    "dts:DescribeSrcLinkConfig",
                    "dts:DescribeDestLinkConfig",
                    "dts:DescribeLinkConfig"
                ],
                "Resource": "acs:dts:*:*:*"
            }
        ]
    }

手順

  1. ApsaraDB RDS コンソールにログインします。左側のナビゲーションウィンドウで、[データ統合] をクリックします。

  2. [ゼロ ETL] タブで、[ゼロ ETL タスクの作成] をクリックします。

  3. [ゼロ ETL タスクの作成] ページで、ソースデータベースとターゲットデータベースを設定します。

    • 次の表に、ソースデータベースのパラメーターを示します。

      パラメーター

      説明

      タスク名

      ゼロ ETL タスクの名前。

      データベースタイプ

      データベースタイプ。RDS for MySQL を選択します。

      アクセス方法

      アクセス方法。値を [Alibaba Cloud インスタンス] に設定します。

      インスタンスリージョン

      ソースインスタンスのリージョン。

      インスタンス ID

      ApsaraDB RDS for MySQL インスタンスの ID。

      データベース名

      ApsaraDB RDS for MySQL インスタンス内のデータベースの名前。

      データベースアカウント

      ApsaraDB RDS for MySQL インスタンスのデータベースアカウントのユーザー名。

      データベースパスワード

      ApsaraDB RDS for MySQL インスタンスのデータベースアカウントのパスワード。

      暗号化

      ApsaraDB RDS for MySQL インスタンスへの接続に使用されるメソッド。有効な値: 非暗号化および SSL 暗号化。

      説明

      [SSL 暗号化] を選択した場合は、ApsaraDB RDS for MySQL インスタンスの SSL 暗号化を有効にする必要があります。詳細については、「SSL 暗号化機能の設定」をご参照ください。

    • 次の表に、ターゲットデータベースのパラメーターを示します。

      パラメーター

      説明

      データベースタイプ

      データベースタイプ。有効な値: AnalyticDB for MySQL 3.0AnalyticDB PostgreSQL、および ClickHouse

      アクセス方法

      アクセス方法。値を [Alibaba Cloud インスタンス] に設定します。

      インスタンスリージョン

      ターゲットデータベースが作成されるクラスターの ID。

      インスタンス ID

      ターゲットデータベースが作成されるクラスターの ID。

      データベースアカウント

      ターゲットデータベースが作成されるクラスターのデータベースアカウントのユーザー名。

      データベースパスワード

      ターゲットデータベースが作成されるクラスターのデータベースアカウントのパスワード。

  4. 上記のパラメーターを設定した後、[接続をテストして続行] をクリックします。[ゼロ ETL の設定] ステップで、パラメーターを設定します。次の表にパラメーターを示します。

    パラメーター/セクション

    説明

    同期タイプ

    ソースデータベースとターゲットデータベース間のデータ同期のタイプ。

    有効な値: スキーマ同期、完全データ同期、および増分データ同期。

    説明

    同期タスクでは、増分データ同期が自動的に選択され、クリアすることはできません。ソースデータベースの増分データは、リアルタイムでターゲットデータベースに同期されます。

    増分データを同期したくない場合は、データ移行メソッドを使用します。

    同期する DDL および DML 操作

    同期する DML 操作と DDL 操作。DML 操作には INSERTUPDATEDELETE が含まれます。DDL 操作には CREATEALTERDROPRENAMETRUNCATE が含まれます。デフォルトでは、すべての操作が選択されています。

    ソースオブジェクトと選択されたオブジェクト

    ソースデータベース内のオブジェクトと、同期するオブジェクト。

    詳細設定 (オプション)

    ソースデータベースとターゲットデータベース間の接続失敗のリトライ時間、およびソースデータベースとターゲットデータベースで発生するその他の問題のリトライ時間。

  5. 上記のパラメーターを設定した後、[次へ: データベースとテーブルフィールドの設定] をクリックします。[データベースとテーブルフィールドの設定] ステップで、必須パラメーターを設定します。次の表にパラメーターを示します。

    パラメーター

    説明

    データベース名

    選択したデータベースの名前。

    テーブル名

    選択したテーブルの名前。

    プライマリキー列

    選択したテーブルのプライマリキー列。

    分散キー

    選択したテーブルの分散キー列。

    タイプ

    テーブルのタイプ。パーティションテーブルまたはレプリケートされたテーブルにすることができます。

    定義ステータス

    選択したテーブルのステータス。テーブルフィールドを設定すると、テーブルのステータスが [未定義] から [定義済み] に変わります。

  6. 上記のパラメーターを設定した後、[次へ: タスク設定を保存して事前チェック] をクリックします。

  7. 事前チェックが成功したら、[開始] をクリックしてゼロ ETL タスクを開始します。

説明

[ゼロ ETL] タブで、[ソース] タブをクリックすると、ゼロ ETL タスクの [名前][ソース/ターゲット]、および [ステータス] パラメーターを表示できます。