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

Resource Orchestration Service:ALIYUN::DTS::MigrationJob

最終更新日:Jan 16, 2025

ALIYUN::DTS::MigrationJob は、データ移行インスタンスを購入し、データ移行タスクを設定するために使用されます。

説明

ALIYUN::DTS::Instance を使用してデータ伝送サービス (DTS) インスタンスを購入し、ALIYUN::DTS::MigrationJob2 を使用してデータ移行タスクを設定することをお勧めします。

構文

{
  "Type": "ALIYUN::DTS::MigrationJob",
  "Properties": {
    "MigrationJobClass": String,
    "SourceEndpoint": Map,
    "MigrationJobName": String,
    "MigrationMode": Map,
    "DestinationEndpoint": Map,
    "MigrationObject": List
  }
}

プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

MigrationJobClass

String

はい

いいえ

データ移行インスタンスの仕様。

有効な値:

  • small

  • medium

  • large

各仕様のパフォーマンステストの詳細については、「データ移行インスタンスの仕様」をご参照ください。

SourceEndpoint

Map

いいえ

はい

ソースインスタンスの構成。

なし。

MigrationJobName

String

いいえ

はい

データ移行タスクの名前。

なし。

MigrationMode

Map

いいえ

はい

データ移行タスクのモード。

なし。

DestinationEndpoint

Map

いいえ

はい

移行先インスタンスの構成。

なし。

MigrationObject

List

いいえ

はい

移行するオブジェクト。

なし。

SourceEndpoint 構文

"SourceEndpoint": {
  "UserName": String,
  "OracleSID": String,
  "InstanceID": String,
  "IP": String,
  "Region": String,
  "InstanceType": String,
  "Role": String,
  "DatabaseName": String,
  "OwnerID": String,
  "EngineName": String,
  "Password": String,
  "Port": String
}

SourceEndpoint プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

UserName

String

はい

はい

ソースインスタンスへのアクセスに使用するユーザー名。

なし。

OracleSID

String

いいえ

はい

ソースインスタンスのエンジンタイプが Oracle の場合、ソース Oracle データベースのシステム ID (SID)。

なし。

InstanceID

String

いいえ

はい

ソースインスタンスの ID。

InstanceType の値に基づいて、このプロパティを指定する必要があります。

IP

String

いいえ

はい

ソースインスタンスの IP アドレス。

ソースインスタンスがオンプレミスのセルフマネージドデータベースである場合、このプロパティを指定する必要があります。

Region

String

はい

はい

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

なし。

InstanceType

String

はい

はい

ソースインスタンスのタイプ。

有効な値:

  • RDS: ApsaraDB RDS インスタンス

  • ECS: Elastic Compute Service (ECS) インスタンスでホストされているセルフマネージドデータベース

  • LocalInstance: パブリック IP アドレスを持つセルフマネージドデータベース

  • Express: Express Connect 回線経由で接続されたセルフマネージドデータベース

  • MongoDB: ApsaraDB for MongoDB インスタンス

  • POLARDB: PolarDB for MySQL クラスター

Role

String

いいえ

はい

ソースインスタンスが属する Alibaba Cloud アカウントによって承認された Resource Access Management (RAM) ロールの名前。このプロパティは、ソースインスタンスが ApsaraDB RDS インスタンスであり、ソースインスタンスと移行先インスタンスが異なる Alibaba Cloud アカウントに属している場合に有効になります。

異なる Alibaba Cloud アカウント間でデータを移行する場合は、このプロパティを指定する必要があります。 RAM ロールの必要な権限と、RAM ロールに権限を付与する方法については、「アカウント間の DTS タスクの RAM 認証を設定する」をご参照ください。

DatabaseName

String

いいえ

はい

データベース名。

このプロパティは、ソースインスタンスのエンジンタイプが PostgreSQL または MongoDB の場合、接続を確立するために使用されるデータベース名を指定します。

OwnerID

String

いいえ

はい

ソースインスタンスが属する Alibaba Cloud アカウントの ID。このプロパティは、ソースインスタンスが ApsaraDB RDS インスタンスであり、ソースインスタンスと移行先インスタンスが異なる Alibaba Cloud アカウントに属している場合に有効になります。

なし。

EngineName

String

いいえ

はい

ソースインスタンスのエンジンタイプ。

有効な値:

  • MySQL

  • SQLServer

  • PostgreSQL

  • Oracle

  • MongoDB

  • Redis

InstanceType が RDS に設定されていない場合は、このプロパティを指定する必要があります。

Password

String

はい

はい

ソースインスタンスへのアクセスに使用するパスワード。

なし。

Port

String

いいえ

はい

ソースインスタンスのリスニングポート。

ソースインスタンスがセルフマネージドデータベースである場合、このプロパティを指定する必要があります。

MigrationMode 構文

"MigrationMode": {
  "DataIntialization": Boolean,
  "StructureIntialization": Boolean,
  "DataSynchronization": Boolean
}

MigrationMode プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

DataIntialization

Boolean

いいえ

はい

移行タスクでフルデータ移行を実行するかどうかを指定します。

有効な値:

  • true

  • false

StructureIntialization

Boolean

いいえ

はい

移行タスクでスキーマ移行を実行するかどうかを指定します。

有効な値:

  • true

  • false

DataSynchronization

Boolean

いいえ

はい

移行タスクで増分データ同期を実行するかどうかを指定します。

有効な値:

  • true

  • false

DestinationEndpoint 構文

"DestinationEndpoint": {
  "UserName": String,
  "InstanceID": String,
  "IP": String,
  "Region": String,
  "Port": String,
  "Role": String,
  "DatabaseName": String,
  "EngineName": String,
  "Password": String,
  "InstanceType": String
}

DestinationEndpoint プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

UserName

String

はい

はい

移行先インスタンスへのアクセスに使用するユーザー名。

なし。

InstanceID

String

いいえ

はい

移行先インスタンスの ID。

なし。

IP

String

いいえ

はい

移行先インスタンスの IP アドレス。

移行先インスタンスがオンプレミスのセルフマネージドデータベースである場合、このプロパティを指定する必要があります。

Region

String

はい

はい

移行先インスタンスのリージョン ID。

移行先インスタンスがセルフマネージドデータベースの場合、セルフマネージドデータセンターに地理的に最も近いリージョンの ID を指定できます。

Port

String

いいえ

はい

移行先インスタンスのリスニングポート。

移行先インスタンスがセルフマネージドデータベースである場合、このプロパティを指定する必要があります。

DatabaseName

String

いいえ

はい

移行先インスタンスのデータベース名。

移行先インスタンスのエンジンタイプが PostgreSQL、PPAS、または MongoDB の場合、このプロパティを指定する必要があります。

EngineName

String

いいえ

はい

移行先データベースのエンジンタイプ。

InstanceType が RDS、ECS、LocalInstance、または Express に設定されている場合にのみ、このプロパティを指定する必要があります。

Password

String

はい

はい

移行先インスタンスへのアクセスに使用するパスワード。

なし。

InstanceType

String

はい

はい

移行先インスタンスのタイプ。

このプロパティの値は、SourceEndpoint.InstanceType の値と同じである必要があります。

Role

String

いいえ

はい

移行先インスタンスが属する Alibaba Cloud アカウントによって承認された RAM ロールの名前。このプロパティは、ソースインスタンスが ApsaraDB RDS インスタンスであり、ソースインスタンスと移行先インスタンスが異なる Alibaba Cloud アカウントに属している場合に有効になります。

なし。

MigrationObject 構文

"MigrationObject": [
  {
    "TableExcludes": List,
    "NewSchemaName": String,
    "NewDBName": String,
    "TableIncludes": List,
    "SchemaName": String,
    "DBName": String
  }
]

MigrationObject プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

TableExcludes

List

いいえ

いいえ

ソースデータベースから移行したくないテーブルの名前。

例: [{"TableName": "a"}, {"TableName": "b"}, ...]

NewSchemaName

String

いいえ

いいえ

移行先インスタンスに移行するスキーマのマッピングされた名前。

このプロパティは、EngineName が SQLServer に設定されている場合に利用可能です。

NewDBName

String

いいえ

いいえ

移行先インスタンスに移行するデータベースのマッピングされた名前。

このプロパティは、EngineName が SQLServer に設定されている場合は利用できません。

TableIncludes

List

いいえ

いいえ

ソースデータベースから移行するテーブルの名前。

なし。

SchemaName

String

いいえ

いいえ

移行するスキーマの名前。

このプロパティは、EngineName が SQLServer に設定されている場合に利用可能です。

DBName

String

いいえ

いいえ

移行するデータベースの名前。

このプロパティは、EngineName が SQLServer に設定されている場合は利用できません。

  • DBName プロパティのみを指定し、このテーブルの追加プロパティを空のままにした場合、システムはデータベースに含まれるすべてのオブジェクトを移行します。

  • DBName プロパティとこのテーブルの追加プロパティを指定した場合、システムはデフォルトで指定されたプロパティに対応するオブジェクトのみを移行します。

TableIncludes 構文

"TableIncludes": [
  {
    "ColumnExcludes": List,
    "FilterCondition": String,
    "NewTableName": String,
    "TableName": String,
    "ColumnIncludes": List
  }
]

TableIncludes プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

ColumnExcludes

List

いいえ

いいえ

ソースデータベースから移行したくない列の名前。

例: [{"ColumnName": "a"}, {"ColumnName": "b"}, ...]

FilterCondition

String

いいえ

いいえ

フィルター条件。

なし。

NewTableName

String

いいえ

いいえ

移行先インスタンスに移行するテーブルのマッピングされた名前。

なし。

TableName

String

いいえ

いいえ

移行するテーブルの名前。

なし。

ColumnIncludes

List

いいえ

いいえ

ソーステーブルから移行する列の名前。

なし。

ColumnIncludes 構文

"ColumnIncludes": [
  {
    "ColumnName": String,
    "NewColumnName": String
  }
]

ColumnIncludes プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

ColumnName

String

いいえ

いいえ

ソーステーブルから移行する列の名前。

なし。

NewColumnName

String

いいえ

いいえ

移行先インスタンスに移行する列のマッピングされた名前。

なし。

ColumnExcludes 構文

"ColumnExcludes": [
  {
    "ColumnName": String
  }
]   

ColumnExcludes プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

ColumnName

String

いいえ

いいえ

ソーステーブルから移行しない列の名前。

なし。

TableExcludes 構文

"TableExcludes": [
  {
    "TableName": String
  }
]   

TableExcludes プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

TableName

String

いいえ

いいえ

ソースデータベースから移行したくないテーブルの名前。

なし。

戻り値

Fn::GetAtt

MigrationJobId: データ移行タスクの ID。

  • YAML 形式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      RdsInstanceId:
        Type: String
        AssociationProperty: ALIYUN::RDS::Instance::InstanceId
    Resources:
      MigrationJob:
        Type: ALIYUN::DTS::MigrationJob
        Properties:
          MigrationJobClass: small
          MigrationJobName:
            Ref: ALIYUN::StackName
          MigrationMode:
            StructureIntialization: true
            DataSynchronization: true
            DataIntialization: true
          SourceEndpoint:
            UserName: admin
            InstanceID:
              Ref: RdsInstanceId
            Region:
              Ref: ALIYUN::Region
            InstanceType: RDS
            Password: Admin@123
            Port: '3306'
          DestinationEndpoint:
            EngineName: MySQL
            Port: '3306'
            Region:
              Ref: ALIYUN::Region
            InstanceID:
              Ref: RdsInstanceId
            Password: Admin@123
            UserName: admin
            InstanceType: RDS
          MigrationObject:
            - DBName: MySQLDataBase
    Outputs:
      MigrationJobId:
        Description: 移行タスク ID
        Value:
          Fn::GetAtt:
            - MigrationJob
            - MigrationJobId
  • JSON 形式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "RdsInstanceId": {
          "Type": "String",
          "AssociationProperty": "ALIYUN::RDS::Instance::InstanceId"
        }
      },
      "Resources": {
        "MigrationJob": {
          "Type": "ALIYUN::DTS::MigrationJob",
          "Properties": {
            "MigrationJobClass": "small",
            "MigrationJobName": {
              "Ref": "ALIYUN::StackName"
            },
            "MigrationMode": {
              "StructureIntialization": true,
              "DataSynchronization": true,
              "DataIntialization": true
            },
            "SourceEndpoint": {
              "UserName": "admin",
              "InstanceID": {
                "Ref": "RdsInstanceId"
              },
              "Region": {
                "Ref": "ALIYUN::Region"
              },
              "InstanceType": "RDS",
              "Password": "Admin@123",
              "Port": "3306"
            },
            "DestinationEndpoint": {
              "EngineName": "MySQL",
              "Port": "3306",
              "Region": {
                "Ref": "ALIYUN::Region"
              },
              "InstanceID": {
                "Ref": "RdsInstanceId"
              },
              "Password": "Admin@123",
              "UserName": "admin",
              "InstanceType": "RDS"
            },
            "MigrationObject": [
              {
                "DBName": "MySQLDataBase"
              }
            ]
          }
        }
      },
      "Outputs": {
        "MigrationJobId": {
          "Description": "移行タスク ID",
          "Value": {
            "Fn::GetAtt": [
              "MigrationJob",
              "MigrationJobId"
            ]
          }
        }
      }
    }