名前空間のクローニングを使用すると、同一リージョン内の名前空間間でエンティティと設定をすばやくコピーできます。これにより、反復的な開発作業を削減し、リソースの利用効率を向上させ、ディザスタリカバリのためのコールドバックアップとしても機能します。このトピックでは、名前空間のクローニングのユースケース、手順、および使用上の注意について説明します。
ユースケース
|
カテゴリ |
ユースケース |
推奨事項 |
|
データバックアップ |
|
|
|
リソースのクローニングと共有 |
|
|
|
ストレージとデータ移行 |
|
ストレージ権限: OSS ストレージから完全マネージド型ストレージにクローンするには、完全マネージド型アカウント |
制限事項
-
リージョンの制限:同一リージョン内の名前空間のみクローニングできます。
-
クローニング範囲:名前空間のみクローニングでき、ワークスペース全体はクローニングできません。
-
クローニング対象外:タスクオーケストレーション、キュー、権限、およびアラート設定はクローニングされません。
-
バージョンポリシー:開発環境の最新のドラフトと運用環境の最新のデプロイのみがクローニングされます。過去のドラフトバージョンは無視されます。
-
同時操作:1 つのソース名前空間を複数のターゲットに同時にクローニングすること、または複数のソースを 1 つのターゲットに同時にクローニングすることはできません。
-
ストレージの互換性:ソースワークスペースがフルマネージドストレージを使用している場合、ターゲットワークスペースもフルマネージドストレージを使用する必要があります。OSS を使用するワークスペースをターゲットとして選択することはできません。
-
アーキテクチャの互換性:クローニングは、同じアーキテクチャを持つ名前空間間でのみサポートされます。x86 と ARM 間のクロスアーキテクチャクローニングはサポートされていません。
-
ステートフルクローニング:チェックポイントまたはセーブポイントを使用するステートフルクローニングは、エンジンバージョン VVR 6.0.2 以降でのみサポートされています。
使用上の注意
権限
名前空間をクローンするには、ソースとターゲットの両方の名前空間に対して編集者ロールが必要です。システムは、このユーザーの ID を使用してエンドツーエンド認証を行います。詳細については、「開発コンソールでユーザーを承認する」をご参照ください。
クローニングの制限
-
リソースのロック:クローニングプロセス中はリソース設定を変更できません。
-
不可逆的な操作:クローニング操作は元に戻せません。プロセスを停止した場合は、クローニングされたリソースを手動で削除する必要があります。
-
重複の回避:同じターゲット名前空間に複数回クローニングすると、リソースが重複して作成されます。
-
ストレージ権限: OSS ストレージからフルマネージドストレージにクローンするには、フルマネージドアカウント
arn:sts::1060219998962774:assumed-role/aliyunstreamasidefaultrole/refresh_tokenに、名前空間にバインドされているバケットに対する ListObject アクションを含む読み取り専用権限も付与する必要があります。 詳細については、「バケットポリシーを設定する」をご参照ください。
クローニングされたジョブの状態
ステートフルクローニングを選択した場合:
-
完了または停止したストリーミングジョブの場合、システムは最新のスナップショットまたはシステムチェックポイントをクローニングします。
-
実行中または移行中のストリーミングジョブの場合、実行中のストリーミングジョブのクローニングポリシーが スキップしない に設定されている場合、システムはクローニング前に自動的にスナップショットを作成します。ただし、ジョブは実行を続けるため、より新しいシステムチェックポイントが生成される可能性があり、その結果クローニングされたスナップショットが最新の状態ではない場合があります。
ストリーミングジョブのステータスの確認
-
移行シナリオでは、新しく生成される状態によるデータの不整合を防ぐため、クローニング前にソースジョブを停止してください。
-
ソースジョブとそのクローンを同時に実行すると、ビジネスロジックに支障をきたす可能性があります。クローニングされたジョブを開始する前に、影響がないことを確認してください。
-
システムチェックポイントが成功した場合、それはクローニングされたジョブが正常に機能していることを示しています。ステータスを注意深く監視してください。
名前の競合の処理
システムは、クローニングされたエンティティと同じ名前を持つターゲット名前空間内のエンティティ名を自動的に変更します。クローニング履歴の [詳細] ページで、名前が変更された項目のリストを表示できます。
設定の手動更新
クローニング中にカタログ名は自動的に更新されないため、ジョブコードと設定内のカタログ名を手動で更新する必要があります。これにより、ジョブの失敗を防ぐことができます。
ジョブのデバッグ
クローニングが完了すると、ジョブとセッションクラスターは停止状態になります。依存関係の設定が欠落しているなどの理由で、クローニングされたジョブの実行が失敗する場合があります。その場合は、次の操作を実行してください。
-
ジョブドラフトをデバッグします。
-
依存関係ファイルが期待どおりであることを確認します。
-
ジョブの依存関係設定を調整します。
手順
-
ソース名前空間、ターゲットワークスペース、およびターゲット名前空間を準備します。詳細については、「Realtime Compute for Apache Flink のアクティブ化」または「名前空間の管理」をご参照ください。
-
名前空間のエンティティと設定をクローニングします。
-
ソースワークスペースの [その他] 列で、 を選択します。
-
クローニング設定を構成します。
-
ソース名前空間とターゲット名前空間を選択します。
-
クローニングするオブジェクトを選択します。
必要に応じて、ジョブドラフト、デプロイ、ファイルリソース、カスタムカタログ、UDF、コネクタ、データフォーマット、変数設定など、クローニングするオブジェクトを選択できます。
デプロイをクローニングする場合、現在の名前空間内のすべてのジョブがデフォルトで選択されます。リストをフィルタリングして、特定のジョブを選択できます。フィルタリングは、ジョブ名、ジョブタイプ、エンジンバージョン、実行ステータス、およびジョブが最後にクローニングされた時刻による絞り込みに対応しています。
-
クローニングポリシーを設定します。
設定
オプション
説明
ストリーミングジョブの状態クローニングポリシー
ステートフル
最新のスナップショットまたはシステムチェックポイントをクローニングして、すでに処理されたデータの再処理を防ぎます。
ステートレス
スナップショットやシステムチェックポイントなしで、ジョブの設定とコードのみをクローニングします。
実行中のストリーミングジョブのクローニングポリシー
スキップ
実行中のストリーミングジョブをスキップして、ソースジョブによって生成された新しい状態によるデータの干渉を防ぎます。移行シナリオで推奨します。
スキップしない
クローニング前に実行中のストリーミングジョブのスナップショットを作成し、最新の状態が取得されるようにします。バックアップシナリオで推奨します。
エラー処理ポリシー
スキップして続行
エンティティのクローニングに失敗した場合、失敗がログに記録され、残りのエンティティでプロセスが続行されます。
クローニングを停止
いずれかのエンティティのクローニングに失敗した場合、クローニングタスク全体がただちに停止します。正常にクローニングされたデータは保持されます。
ステートレスクローニングを許可
ステートフルクローニングに失敗した場合、プロセスは自動的にステートレスクローニングにフォールバックして続行します。
-
-
[開始] をクリックします。
-
クローニングの進行状況と結果を表示します。
-
クローニング中
[開始] をクリックするとすぐに、ワークスペースリストの上に通知が表示されます。[クローン作成の進捗状況を表示] をクリックして、プロセスを監視します。プロセスには時間がかかる場合がありますが、バックグラウンドで実行できます。
[Namespace Cloning] ダイアログボックスで、[メタデータ管理]、[セッション管理]、[Security Center]、[データ開発]、[ジョブ運用] を含む各モジュールのクローニング進行状況を表示できます。ダイアログボックスの下部には、[バックグラウンドで実行] ボタンと [クローニングを停止] ボタンがあります。
-
クローニング完了後
ターゲットワークスペースの [その他] 列で、 を選択し、[詳細] をクリックします。クローンされたエンティティのカテゴリ、合計数、失敗数を表示できます。名前が変更されたエンティティのリストも表示されます。
-
関連ドキュメント
SQL および DataStream ジョブのバックアップ方法については、「ジョブのバックアップとデプロイ」をご参照ください。