このトピックでは、あるインターネット企業が Data Online Migration とミラーリングベースの back-to-origin 機能を使用して、別のクラウドプロバイダーから OSS へアプリケーションをシームレスに移行した方法について説明します。
背景情報
あるインターネットサービス企業のお客様は、別のクラウドプロバイダーで主要ビジネスを運営しています。同社は、画像や動画を編集するためのオンラインサービスを提供しています。このお客様は、プロバイダーに約 1 億個の既存ファイル (合計約 320 TB) を保存しています。毎日約 20 GB の新しいデータが生成されます。OSS は 250 MB/s のアクセス帯域幅を提供しますが、ビジネスで必要な最大帯域幅は 50 MB/s です。
ビジネスの成長をサポートするため、同社はアプリケーションを OSS に移行することを計画しています。既存データが大量であるため、移行ではビジネス継続性を確保し、以下の要件を満たす必要があります。
-
移行によって業務が中断されたり、ユーザーのデータアクセスに影響が及んだりしないようにする必要があります。
-
移行では、データ整合性を確保し、アプリケーションを OSS へシームレスに切り替えられるようにする必要があります。
移行計画
お客様の要件に基づき、推奨される移行計画は以下の通りです。
-
Data Online Migration を使用して、お客様の既存データを移行元のクラウドサービスから OSS に移行します。この初期移行が完了するまで、業務は既存のプラットフォームで継続します。
-
既存データの移行後、OSS でミラーリングベースの back-to-origin を設定し、移行元のクラウドサービスを指すようにします。これにより、OSS はまだ移行されていない増分データに対するリクエストを処理できるようになります。
-
アプリケーションを OSS に切り替えます。この時点で、すべてのデータを OSS から読み取り、OSS に書き込みます。
-
切り替え後、新しいデータは移行元のクラウドサービスでは生成されなくなります。再度 Data Online Migration を使用して、残りの増分データを OSS に移行します。
-
すべてのデータが移行され、検証された後、移行元のデータを削除します。
ステップ 1:既存データの移行
-
移行タスクを作成して、既存データを移行します。
a. 移行データを保存するための OSS バケットを作成します。詳細については、「バケットの作成」をご参照ください。
b. データアドレスを作成してから、完全移行ジョブを作成します。詳細については、「移行チュートリアル」にある、対応するチュートリアルの移行実装ドキュメントをご参照ください。
重要移行タスクでは、上書きポリシーを「最終更新日時が移行先オブジェクトより新しい場合に同名オブジェクトを上書きする」に設定します。これにより、タスクを再開したときに、増分データのみが移行されるようになります。
-
移行が完了したら、移行レポートを表示して移行元と移行先のデータを比較し、すべてのデータが正常に移行されたことを確認します。
ステップ 2:ミラーリングベースの back-to-origin の設定
既存データの移行には約 25 日かかります。データ移行プロセス中、オリジンサイトでは継続的に新しいデータが生成されます。ビジネスの中断を回避してシームレスなビジネス切り替えを実現するには、ミラーリング back-to-origin 機能も設定する必要があります。ユーザーがリクエストしたファイルが OSS に見つからない場合、OSS はオリジンサイトから対応するファイルを自動的に取得して OSS に保存し、コンテンツをユーザーに直接返します。
-
OSS コンソールにログインします。
-
左側のナビゲーションペインで、バケット をクリックします。
-
バケット ページで、設定するバケットの名前をクリックします。
-
左側のナビゲーションペインで、[Data Management] > [Mirroring-based Back-to-origin] を選択します。
-
ルールの作成 をクリックします。表示された ルールの作成 パネルで、back-to-origin 情報を設定します。
[Origin URL] フィールドに、オリジン URL を
http://[BucketName].bcebos.com/data/の形式で入力します。たとえば、OSS のアクセス URL がbucketname.oss-endpoint.com/image.jpgの場合、OSS はhttp://abcbj.bcebos.com/data/image.jpgからオブジェクトを取得します。-
ソース検索タイプ: ミラーリング を選択します。
-
ソースから取得する場合: デフォルトの条件は HTTP 404 ステータスコードです。要件に応じて オブジェクト名のプレフィックス や オブジェクト名のサフィックス を設定することもできます。
-
ソースURL: 移行元のクラウドサービスのアクセス URL を入力します。
-
パラメーター設定の詳細については、「back-to-origin ルールの設定」をご参照ください。
説明最大 5 つのミラーリングベースの back-to-origin ルールを設定でき、すべてのルールが同時に有効になります。複数の移行元がある場合は、複数のルールを設定し、それぞれに異なる オブジェクト名のプレフィックス を使用して、リクエストを正しい移行元にルーティングできます。
-
-
OK をクリックします。
ステップ 3:OSS への切り替え
すべての読み書き操作が OSS に対して行われるように、アプリケーションサーバーを更新します。この変更後、移行元では増分データが生成されなくなります。
ステップ 4:増分データの移行
既存データの移行中に、移行元では約 100,000 個の新しいファイル (合計約 500 GB) が生成されました。この増分データも OSS に移行する必要があります。
-
移行タスクを再開します。タスクは、移行元ファイルのフルスキャンを実行し、最終更新日時に基づいて増分ファイルのみを移行先に移行します。
-
移行が完了したら、移行レポートを表示して移行元と移行先のデータを比較し、すべてのデータが正常に移行されたことを確認します。