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

AnalyticDB for MySQL:データ同期を使用してSimple Log Serviceからdata Warehouse Editionにデータを同期する

最終更新日:Jun 07, 2024

AnalyticDB for MySQL Data Warehouse Edition (V3.0) は、特定のオフセットに基づいて、Simple Log Service LogstoreからAnalyticDB for MySQL data Warehouse Edition (V3.0) クラスターにデータをリアルタイムで同期できるデータ同期機能を提供します。 この機能は、ログデータのリアルタイム分析の要件を満たすのに役立ちます。

前提条件

  • AnalyticDB for MySQL Data Warehouse Edition (V3.0) クラスター、Simple Log Serviceプロジェクト、およびプロジェクトに属するLogstoreが同じリージョンに作成されます。 詳細については、「クラスターの作成」および「入門」をご参照ください。

  • Data Warehouse Edition (V3.0) クラスターにデータベースアカウントが作成され、ターゲットデータベースおよびテーブルに対する読み取りおよび書き込み権限が付与されます。 詳細については、「データベースアカウントの作成」をご参照ください。

  • ターゲットデータベースとターゲットテーブルは、AnalyticDB for MySQL Data Warehouse Edition (V3.0) クラスターに作成されます。 詳細については、「CREATE TABLE」をご参照ください。

使用状況ノート

データをAnalyticDB for MySQLクラスター内の1つの宛先テーブルに1つのSimple Log Service Logstoreから同期できます。 複数のLogstoreからのデータを同期するには、クラスターに複数の宛先テーブルを作成します。

課金ルール

データ同期機能は、2024年5月30日までパブリックプレビューされています。 パブリックプレビュー中にSimple Log Serviceデータを同期するためにこの機能を使用した場合、料金は発生しません。

手順

(オプション) RAM権限の設定

説明

同じAlibaba Cloudアカウント内でSimple Log Serviceデータを同期する場合は、この手順をスキップしてデータソースを作成できます。 詳細については、このトピックの「データソースの作成」セクションをご参照ください

Simple Log ServiceデータをAlibaba Cloudアカウント間でAnalyticDB for MySQLクラスターに同期する場合、データソースでRAMロールを作成し、ポリシーをアタッチしてRAMロールに権限を付与し、RAMロールの信頼ポリシーを編集する必要があります。

  1. RAMロールを作成します。 詳細については、「信頼できるAlibaba CloudアカウントのRAMロールの作成」をご参照ください。

    説明

    [信頼できるAlibaba Cloudアカウントの選択] パラメーターに [その他のAlibaba Cloudアカウント] を選択し、AnalyticDB for MySQLクラスターが属するAlibaba CloudアカウントのIDを入力します。 アカウント管理コンソールにログインし、概要ページに移動してアカウントIDを表示します。

  2. AliyunAnalyticDBAccesssingLogRolePolicyポリシーをRAMロールにアタッチします。 詳細については、「RAMロールへのアクセス許可の付与」トピックの「方法2: [ロール] ページの [正確なアクセス許可] 」セクションを参照してください。

  3. RAMロールの信頼ポリシーを編集して、指定されたAlibaba CloudアカウントのAnalyticDB for MySQLクラスターがRAMロールを引き受けることを許可します。 詳細については、「RAMロールの信頼ポリシーの編集」をご参照ください。

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "RAM": [
                "acs:ram ::< Alibaba CloudアカウントID>:root"
            ],
            &quot;サービス&quot;:[
                "<Alibaba CloudアカウントID>@ ads.aliyuncs.com"
            ]
          }
        }
      ],
      "バージョン": "1"
    } 
    説明

    上記のコードでは、Alibaba CloudアカウントIDパラメーターは、手順1で入力されたAnalyticDB for MySQLクラスターが属するAlibaba CloudアカウントのIDを指定します。 このパラメーターを指定するときは、角かっこ (<>) を削除します。

データソースの作成

説明

Simple Log Serviceデータソースを作成した場合は、この手順をスキップしてデータ同期ジョブを作成します。 詳細については、このトピックの「データ同期ジョブの作成」をご参照ください

  1. AnalyticDB for MySQLコンソールにログインします。 ホームページの左上でリージョンを選択します。 左側のナビゲーションウィンドウで、クラスターリスト をクリックします。 Data Warehouse Edition(3.0) タブで、管理するクラスターを見つけ、クラスターIDをクリックします。

  2. 左側のナビゲーションウィンドウで、[Simple Log Serviceデータの取り込み] > [データソース] を選択します。

  3. ページの右上隅にある [データソースの作成] をクリックします。

  4. [データソースの作成] ページで、次の表に示すパラメーターを設定します。

    パラメーター

    説明

    データソースタイプ

    データソースのタイプ。 [SLS] を選択します。

    データソース名

    データソースの名前。 デフォルトでは、データソースの種類と現在の時刻に基づいて名前が生成されます。 ビジネス要件に基づいて名前を変更できます。

    データソースの説明

    データソースの説明 たとえば、使用シナリオとビジネス制限を入力できます。

    展開モード

    データソースの展開モード。 Alibaba Cloudインスタンスのみサポートされています。

    Simple Log Serviceプロジェクトのリージョン

    ソースSimple Log Serviceプロジェクトが存在するリージョン。

    説明

    AnalyticDB for MySQLクラスターが存在するリージョンのみがサポートされています。

    Alibaba Cloudアカウント全体

    Alibaba Cloudアカウント間でSimple Log Serviceデータを同期するかどうかを指定します。 Simple Log Serviceのデータを、同じAlibaba Cloudアカウント内またはAlibaba Cloudアカウント間でAnalyticDB for MySQLクラスターに同期できます。 有効な値:

    • いいえ

    • はい [はい] を選択した場合、Alibaba CloudアカウントおよびRAMロールパラメーターを設定する必要があります。 RAM権限の設定方法については、このトピックの「 (オプション) RAM権限の設定」を参照してください。

      説明
      • Alibaba Cloudアカウント: Simple Log Serviceプロジェクトが属するAlibaba CloudアカウントのID。

      • RAMロール: Simple Log Serviceプロジェクトが属するAlibaba CloudアカウントのRAMロールの名前。 RAMロールは、このトピックの「 (オプション) RAM権限の設定」セクションの手順1で作成されたロールです。

    簡易Log Serviceプロジェクト

    ソースSimple Log Serviceプロジェクトの名前。

    シンプルなLog Service Logstore

    ソースSimple Log Service Logstoreの名前。

  5. [作成] をクリックします。

同期ジョブの作成

  1. 左側のナビゲーションウィンドウで、[簡易Log Serviceデータの取り込み] > [データ同期] を選択します。

  2. ページの右上隅にある [同期ジョブの作成] をクリックします。

  3. [同期ジョブの作成] ページの [Simple Log Serviceデータソース] タブで、[ソースと宛先の設定] [宛先データベースとテーブルの設定]および [同期設定] セクションのパラメーターを設定します。

    • 次の表に、[ソースと宛先の設定] セクションのパラメーターを示します。

      パラメーター

      説明

      ジョブ名

      データ同期ジョブの名前。 デフォルトでは、データソースの種類と現在の時刻に基づいて名前が生成されます。 ビジネス要件に基づいて名前を変更できます。

      データソース

      既存のSimple Log Serviceデータソースを選択するか、データソースを作成できます。

      AnalyticDB for MySQLアカウント

      AnalyticDB for MySQLクラスターのデータベースアカウント。

      AnalyticDB for MySQLパスワード

      AnalyticDB for MySQLクラスターのデータベースアカウントのパスワード。

    • 次の表に、[宛先データベースとテーブル設定] セクションのパラメーターを示します。

      パラメーター

      説明

      データベース名

      AnalyticDB for MySQLクラスター内のデータベースの名前。

      テーブル名

      AnalyticDB for MySQLクラスター内のテーブルの名前。

      ソースデータのプレビュー

      [最新の10のLogstoreデータエントリを表示] をクリックして、ソースSimple Log Service Logstoreの最新の10のデータエントリを表示します。

      スキーマフィールドのマッピング

      ソースフィールドと宛先フィールドのマッピング設定。 [ソースフィールド] 列のソースフィールドと [宛先テーブルフィールド] 列の宛先フィールドが自動的に入力されます。AnalyticDB for MySQL Destination Table Field列とSource Field列のフィールド間のマッピングが正しくない場合は、フィールドを変更します。

      たとえば、AnalyticDB for MySQLクラスターのテーブルのフィールドの名前がnameで、ソースSimple Log Service Logstoreの対応するフィールドの名前がuser_nameの場合、システムは自動的に名前フィールドを [ソースフィールド] 列と [宛先テーブルフィールド] 列に設定します。 この場合、[ソースフィールド] 列のnameフィールドをuser_nameに変更する必要があります。

    • 次の表に、[同期設定] セクションのパラメーターを示します。

      パラメーター

      説明

      開始オフセット

      データ同期ジョブの開始時にシステムがSimple Log Serviceデータを消費する時点。

      たとえば、Start Offsetパラメーター2024-04-09 13:10に設定した場合、システムは2024年4月9日の13:10に生成された最初のエントリからSimple Log Serviceデータを消費します。

      ダーティデータ処理モード

      ダーティデータに対して実行するアクション。 データ同期中に、同期先テーブルのフィールドのデータ型が、同期するソースSimple Log Service Logstoreのフィールドのデータ型と一致しない場合、同期は失敗します。 たとえば、ソースSimple Log Service Logstoreのフィールドの値がabcで、ターゲットテーブルの対応するフィールドのデータ型がintの場合、値を必要なデータ型に変換できません。 この場合、同期例外が発生します。

      有効な値:

      • 同期停止 (デフォルト): データ同期を停止します。 ターゲットテーブルのフィールドのデータ型を変更するか、またはDirty data Processing Modeパラメーターをその他のオプションに設定してから、同期ジョブを再起動する必要があります。

      • Treat as Null: ダーティデータをNULL値として宛先テーブルに書き込み、元のダーティデータを破棄します。

        たとえば、ソースのSimple Log Service Logstoreに合計10行のデータがあり、2行にダーティデータが含まれている場合、2行の値はNULL値に変換され、残りの8行は期待どおりに書き込まれます。

      UNIXタイムスタンプをDatetimeに変換

      UNIXタイムスタンプをDATETIMEデータ型の値に変換するかどうかを指定します。 ソースフィールドの値がUNIXタイムスタンプ (1710604800など) で、対応する宛先フィールドのデータ型がDATETIMEまたはtimestampの場合、この機能を有効にしてタイムスタンプを変換する必要があります。 この機能を有効にすると、ソースのタイムスタンプの精度に基づいてタイムスタンプの精度を選択できます。 有効な値: Timestamp Accurate to SecondsTimestamp Accurate to Milliseconds、およびTimestamp Accurate to Microseconds

  4. [送信] をクリックします。

データ同期ジョブの開始

  1. [データ同期] ページで、作成したデータ同期ジョブを選択し、[操作] 列の [開始] をクリックします。

  2. ページの右上隅にある検索をクリックします。 データ同期ジョブのステータスが [実行中] に変わると、ジョブが開始されます。

データソースの管理

[データ同期] ページでは、次の表の [操作] 列に記載されている操作を実行できます。

API 操作

説明

開始

データ同期ジョブを開始します。

詳細の表示

ソースと宛先の設定、実行ログ、モニタリング結果など、データ同期ジョブの詳細を表示します。

編集

ジョブのパラメーター (Start OffsetやSchema Field Mappingなど) を変更します。

一時停止

データ同期ジョブを一時停止します。 データ同期ジョブを一時停止した後、[開始] をクリックしてジョブを再起動できます。 ジョブが一時停止された時点から、データの同期が自動的に再開されます。

削除

データ同期ジョブを削除します。 データ同期ジョブを削除すると、ジョブを回復できません。 作業は慎重に行ってください。