このトピックでは、MaxCompute Migration Service (MMS) を使用する前に完了する必要がある準備について説明します。
適用範囲
MMS サービスは、中国 (杭州)、中国 (上海)、中国 (北京)、中国 (張家口)、中国 (ウランチャブ)、中国 (深セン)、中国 (成都)、およびシンガポールリージョンでのみ利用可能です。
データ移行を開始する前に、ソーステーブルとパーティションへのデータの書き込みを停止してください。これにより、移行完了後のデータ検証の失敗を防ぐことができます。
手順
ステップ 1:移行先の MaxCompute プロジェクトの作成
プロジェクトは MaxCompute における基本的な組織単位です。
データ移行前に、データソースの移行先となる MaxCompute プロジェクトを指定する必要があります。
移行中、MaxCompute プロジェクトは移行ジョブの実行に使用されます。
したがって、データ移行の前に MaxCompute プロジェクトを作成する必要があります。既存のプロジェクトがある場合は、このステップをスキップできます。MaxCompute コンソールでプロジェクトを作成するには、次の手順を実行します。
MaxCompute コンソールにログインし、左上のコーナーでリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。
Internal Project タブで、新しいプロジェクト をクリックします。
新しいアイテム ダイアログボックスで、パラメーターを設定し、[確認] をクリックします。
パラメーターの詳細については、「MaxCompute プロジェクトの作成」をご参照ください。
ステップ 2:VPC ネットワーク接続の有効化
現在のリージョンに既存の VPC 接続がある場合は、このステップをスキップできます。
MaxCompute コンソールにログインし、左上のコーナーでリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。
ネットワーク接続 ページで、新しいネットワーク接続 をクリックします。
新しいネットワーク接続 ダイアログボックスで、プロンプトに従ってパラメーターを設定し、OK をクリックします。初めてネットワーク接続を追加する場合、まず 権限付与 を行い、MaxCompute プラットフォームのプロキシがネットワークインターフェースカードをリクエストできるようにする必要があります。そうしないと、接続を作成できません。
次の表にパラメーターを示します。
パラメーター
必須
説明
接続名:
必須
接続のカスタム名を入力します。
タイプ:
必須
デフォルト値は Passthrough です。
エリア:
必須
システムは、左上で選択したリージョンに基づいてこのパラメーターを自動的に入力します。
選択されたVPC:
必須
Virtual Private Cloud (VPC) は、隔離された仮想ネットワークです。従来のデータセンターと同様に、安全で設定可能なプライベートネットワーク空間を提供します。
新しい VPC を作成するには、「VPC の作成または削除」をご参照ください。
スイッチ:
必須
vSwitch はサブネットを定義します。同じ VPC 内の異なる vSwitch 間でサービスの相互接続が有効になります。単一ゾーンでの障害からアプリケーションを保護するために、異なるゾーンの vSwitch にリソースをデプロイします。
利用可能な vSwitch がない場合は、「vSwitch の作成または削除」をご参照ください。
セキュリティグループ:
必須
セキュリティグループは、リソースの仮想ファイアウォールとして機能します。セキュリティグループとそのルールを管理して、きめ細かなネットワークの隔離とアクセス制御を実装します。
セキュリティグループを作成するには、「セキュリティグループの作成」をご参照ください。
後続のデータ移行ジョブはデータソースにアクセスする必要があります。VPC がインターネットまたはソースデータへの専用線にアクセスできることを確認してください。
データソースがパブリックインターネット上にある場合は、NAT Gateway を使用してパブリックネットワークアクセスを有効にします。詳細については、「NAT Gateway を使用したインターネットトラフィックの統一的な出口」をご参照ください。
データソースがローカルデータセンター内にある場合は、専用線を介して Alibaba Cloud に接続します。詳細については、「専用線接続の使用」をご参照ください。
ステップ 3:サービスリンクロールの作成
初めて MMS を使用する前に、AliyunServiceRoleForMaxComputeMMS サービスリンクロールを作成する必要があります。MMS はこのロールを使用して、MaxCompute およびその他のクラウドプロダクトのリソースにアクセスします。
Alibaba Cloud アカウントを使用している場合は、直接サービスリンクロールを作成できます。
現在のユーザーが RAM ユーザーである場合は、まずこのユーザーに
<a href="https://ram.console.alibabacloud.com/policies/detail?policyType=System&policyName=AliyunRAMFullAccess" id="72a764ec52c0q" target="_blank">AliyunRAMFullAccess</a>権限を付与する必要があります。詳細については、「RAM ロールへの権限付与」をご参照ください。サービスリンクロールを作成するには、MaxCompute コンソールまたは RAM コンソールを使用する 2 つの方法があります。手順は次のとおりです。
MaxCompute コンソールの使用
MaxCompute コンソールにログインし、左上のコーナーでリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。
データソース タブで、データソースの追加 をクリックします。
MaxComputeサービスの関連付けの役割 ダイアログボックスで、確認 をクリックしてロールを作成します。このダイアログボックスが表示されない場合は、ロールがすでに作成されていることを意味します。
RAM コンソールの使用
左側のナビゲーションウィンドウで、 を選択します。
[ロール] ページで、[ロールの作成] をクリックします。
[ロールの作成] ページで、右上のコーナーにある [サービスリンクロールの作成] をクリックします。
ステップ 4:権限の設定
ユーザーに対する MaxCompute データ操作権限の設定
SQL の使用
ローカルクライアント (odpscmd) を使用して MaxCompute に接続し、作成したサービスリンクロールを追加します。
USE <target_projectname>; -- サービスリンクロールをユーザーに追加します。 Add USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`;ユーザーに権限を付与できます。
MaxCompute はきめ細かなアクセス制御をサポートしています。これにより、プロジェクト内でのユーザーの操作範囲に基づいてきめ細かな権限を付与できます。
-- プロジェクトレベルのデータ操作権限を付与します。 GRANT Read|Write|List|CreateTable|CreateInstance|CreateFunction|CreateResource|All ON project <project_name> TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`; -- テーブルレベルのデータ操作権限を付与します。 GRANT Describe|Select|Alter|Update|Drop|ShowHistory|All ON table <table_name> [(<column_list>)] TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`; -- インスタンスレベルのデータ操作権限を付与します。 GRANT Read|Write|All ON instance <instance_id> [(<column_list>)] TO USER `RAM$<account_id>:role/AliyunServiceRoleForMaxComputeMMS`;
メトリックの説明:
target_projectname:必須。移行先のプロジェクトの名前。
account_id:必須。 UID です。
privileges:必須。付与する権限の名前。複数の権限を指定できます。コンマ (,) で区切ります。
MaxCompute コンソールの使用
MaxCompute コンソールにログインし、左上のコーナーでリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。
プロジェクト管理 ページで、対象プロジェクトの 操作 列にある 管理 をクリックします。
プロジェクト設定 ページで、ロール権限 タブをクリックします。
新しいロール ダイアログボックスで、パラメーターを設定し、OK をクリックします。
このステップでは、MaxCompute に新しいプロジェクトロールを作成します。その後、このロールに MMS 固有のデータ操作権限を付与できます。組み込みの admin ロールを使用することもできます。admin ロールを使用する場合、新しいロールを作成する必要はなく、次のステップに進むことができます。
次の表にパラメーターを示します。
パラメーター
必須
説明
ロール名
必須
文字の先頭には文字と数字を含めることができ、長さは64文字以下です。
ロールタイプ
このパラメーターは必須です。
管理者: 管理ロールです。
ポリシーを使用して管理権限を付与できます。リソース権限を付与することはできません。
ACL を使用して管理権限を付与することはできません。
リソース:リソースレベルのロール。
ポリシーまたは ACL を使用して、リソースの権限を付与できます。管理権限は付与できません。
権限付与方法
必須
プロジェクト、テーブル、モデル、リソース、関数、またはインスタンスに対する操作権限を付与できます。次の表に、利用可能な権限を示します。
オブジェクト
権限
テーブル
Describe, Select, Update, Alter, Drop, ShowHistory, Download
リソース
Read, Write, Download, Delete
関数
Read, Write, Download, Execute, Delete
パッケージ
Read
プロジェクト
Read, Write, List, CreateTable, CreateInstance
対象のプロジェクトレベルのロールを選択し、操作 列の メンバー管理 をクリックします。表示されるダイアログボックスで、ロールを付与する Alibaba Cloud アカウントまたは RAM ユーザーを選択し、OK をクリックします。検索でアカウントが見つからない場合は、アカウントを手動で追加 セクションで追加できます。
RAM 権限の設定
このステップでは、データ移行を実行する RAM ユーザーに対して MMS の操作権限を設定します。これらの権限には、MMS のデータとメタデータの管理、および移行ジョブの管理が含まれます。Alibaba Cloud アカウントを使用してデータ移行を実行する場合は、このステップをスキップできます。
現在の RAM ユーザーが MaxCompute を管理する権限、つまり
<a href="https://ram.console.alibabacloud.com/policies/detail?policyType=System&policyName=AliyunMaxComputeFullAccess" id="58faac6875ati" target="_blank">AliyunMaxComputeFullAccess</a>を持っている場合は、このステップをスキップできます。RAM ユーザーに MMS の操作権限のみを付与したい場合は、次の手順を実行します。
すべての MMS 操作に対するアクセスポリシー
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "odps:ListMmsDataSources", "odps:CreateMmsDataSource", "ram:GetRole", "odps:GetMmsDataSource", "odps:UpdateMmsDataSource", "odps:DeleteMmsDataSource", "odps:CreateMmsFetchMetadataJob", "odps:GetMmsFetchMetadataJob", "odps:ListMmsFetchMetadataJobLogs", "odps:ListMmsDbs", "odps:GetMmsDb", "odps:ListMmsTables", "odps:GetMmsTable", "odps:ListMmsPartitions", "odps:GetMmsPartition", "odps:ListMmsJobs", "odps:GetMmsJob", "odps:CreateMmsJob", "odps:DeleteMmsJob", "odps:StartMmsJob", "odps:StopMmsJob", "odps:RetryMmsJob", "odps:ListMmsTasks", "odps:GetMmsTask", "odps:ListMmsTaskLogs", "odps:StopMmsTask", "odps:StartMmsTask", "odps:RetryMmsTask", "odps:GetMmsAsyncTask", "odps:GetMmsProgress", "odps:GetMmsSpeed", "odps:CreateMmsAuthFile", "odps:ListMmsAgents" ], "Resource": "*" } ] }MMS ソースデータ管理のためのアクセスポリシー
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "odps:ListMmsDataSources", "odps:CreateMmsDataSource", "ram:GetRole", "odps:GetMmsDataSource", "odps:UpdateMmsDataSource", "odps:DeleteMmsDataSource", "odps:CreateMmsFetchMetadataJob", "odps:GetMmsFetchMetadataJob", "odps:ListMmsFetchMetadataJobLogs", "odps:ListMmsDbs", "odps:GetMmsDb", "odps:ListMmsTables", "odps:GetMmsTable", "odps:ListMmsPartitions", "odps:GetMmsPartition", "odps:GetMmsAsyncTask", "odps:GetMmsProgress", "odps:GetMmsSpeed", "odps:CreateMmsAuthFile", "odps:ListMmsAgents" ], "Resource": "*" } ] }MMS 移行ジョブ管理のためのアクセスポリシー
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "odps:ListMmsDataSources", "odps:GetMmsDataSource", "odps:CreateMmsFetchMetadataJob", "odps:GetMmsFetchMetadataJob", "odps:ListMmsFetchMetadataJobLogs", "odps:ListMmsDbs", "odps:GetMmsDb", "odps:ListMmsTables", "odps:GetMmsTable", "odps:ListMmsPartitions", "odps:GetMmsPartition", "odps:ListMmsJobs", "odps:GetMmsJob", "odps:CreateMmsJob", "odps:DeleteMmsJob", "odps:StartMmsJob", "odps:StopMmsJob", "odps:RetryMmsJob", "odps:ListMmsTasks", "odps:GetMmsTask", "odps:ListMmsTaskLogs", "odps:StopMmsTask", "odps:StartMmsTask", "odps:RetryMmsTask", "odps:GetMmsAsyncTask", "odps:GetMmsProgress", "odps:GetMmsSpeed" ], "Resource": "*" } ] }カスタム MMS アクセスポリシーを RAM ユーザーにアタッチします。詳細については、「RAM ユーザーへの権限付与」をご参照ください。
ステップ 5:クォータリソースの準備
データ移行ジョブはコンピューティングリソースを消費します。したがって、移行ジョブを実行する MaxCompute プロジェクトにコンピューティングクォータリソースを割り当てる必要があります。
MaxCompute コンソールにログインし、左上のコーナーでリージョンを選択します。
左側のナビゲーションウィンドウで、 を選択します。
クォータ管理 ページで、新しいクォータ をクリックします。
購入ページで、[仕様タイプ] に [Data Transmission Service] を選択します。
移行コストを削減するために、サブスクリプションのコンピューティングリソースを購入することを推奨します。
既存の Data Transmission Service クォータリソースがある場合は、このステップをスキップできます。
移行ジョブを実行する MaxCompute プロジェクトにコンピューティングクォータリソースを割り当てます。
デフォルトのコンピューティングクォータの使用:
プロジェクトにはデフォルトのコンピューティングクォータが割り当てられます。このプロジェクトによって開始されたジョブは、デフォルトでデフォルトのクォータリソースを使用します。新しいプロジェクトを作成するときに、それを直接デフォルトのクォータに関連付けることができます。
コンピューティングクォータの切り替え:
左側のナビゲーションウィンドウで、 を選択します。
プロジェクト管理 ページで、対象プロジェクトの 操作 列にある 管理 をクリックします。
プロジェクト設定 ページで、パラメーター設定 タブをクリックします。
基本属性 セクションで、編集 をクリックします。
データ転送サービス権限付与クォータ ドロップダウンリストから、プロジェクトのコンピューティングクォータを選択し、提出 をクリックします。
データソースを追加する際に、コンピューティングクォータリソースを割り当てたプロジェクトを移行ジョブを実行するプロジェクトとして設定します。
左側のナビゲーションウィンドウで、 を選択します。
移行サービス ページで、データソース タブをクリックします。
データソース タブで、データソースの追加 をクリックします。
[移行ジョブを実行する MaxCompute プロジェクト] ドロップダウンリストから、コンピューティングクォータリソースを割り当てたプロジェクトを選択します。