Azure portal を使用して、Gen1 から Gen2 に Azure Data Lake Storage を移行する

2024 年 2 月 29 日に Azure Data Lake Storage Gen1 は廃止されます。 詳細については、公式告知を参照してください。 Azure Data Lake Storage Gen1 を使用している場合は、その日になる前に Azure Data Lake Storage Gen2 に移行してください。

この記事では、Azure portal を使って移行を簡素化する方法について説明します。 Azure portal で同意を提供し、データとメタデータ (タイムスタンプや ACL など) を Azure Data Lake Storage Gen1 から Azure Data Lake Storage Gen2 に自動的に移行できます。 読みやすくするため、この記事では、Azure Data Lake Storage Gen1 を Gen1 と呼び、Azure Data Lake Storage Gen2 を Gen2 と呼びます。

Note

ご使用のアカウントは、特定の制約に基づいてポータルベースの移行の対象にならない場合があります。 Gen1 アカウントで Azure portal の [データの移行] ボタンが有効になっていないとき、サポート プランがある場合は、サポート リクエストを提出できます。 また、Microsoft Q&A でコミュニティの専門家から回答を得ることができます。

警告

Azure Data Lake Storage Gen2 では、Azure Data Lake Analytics はサポートされていません。 Azure Data Lake Analytics を使用している場合は、先に進む前に移行する必要があります。 詳細については、「Azure Data Lake Analytics ワークロードを移行する」を参照してください。

Azure portal を使用して Gen2 に移行するには、次の手順に従います。

✔️手順 1: 適応性を評価する

✔️ 手順 2: Gen2 機能を持つストレージ アカウントを作成する

✔️ 手順 3: Azure portal を使用してデータを移行する

✔️ 手順 4: ワークロードとアプリケーションを移行する

開始する前に、「Azure Data Lake Storage の移行のガイドラインとパターン」で、Gen1 から Gen2 に移行する方法に関する一般的なガイダンスを必ずお読みください。

Gen2 機能を持つストレージ アカウントを作成する

Azure Data Lake Storage Gen2 は、専用のストレージ アカウントやサービスの種類ではありません。 これは、Azure ストレージ アカウントの階層的な名前空間機能を有効にすることによって取得できる一連の機能です。 Gen2 機能を持つアカウントを作成する場合は、「Azure Data Lake Storage Gen2 で使用するストレージ アカウントを作成する」を参照してください。

アカウントを作成するときは、必ず次の値を使用して設定を構成してください。

設定
Storage account name (ストレージ アカウント名) 任意の名前。 この名前は、Gen1 アカウントの名前と一致する必要はなく、任意のサブスクリプションで使用できます。
場所 Data Lake Storage Gen1 アカウントで使用されているのと同じリージョン
レプリケーション LRS または ZRS
TLS の最小バージョン 1.0
NFS v3 無効
階層構造の名前空間 Enabled

Note

Azure portal の移行ツールでは、アカウントの設定は移動されません。 そのため、アカウントを作成した後に、暗号化、ネットワーク ファイアウォール、データ保護などの設定を手動で構成する必要があります。

重要

新しく作成された空の Gen2 アカウントを使用していることを確認してください。 以前に使用した Gen2 アカウントに移行しないことが重要です。

RBAC ロールの割り当てを確認する

Gen2 の場合は、ストレージ BLOB データ所有者ロールが、ストレージ アカウント、親リソース グループ、またはサブスクリプションのスコープ内の Azure Active Directory (Azure AD) ユーザー ID に割り当てられていることを確かめます。

Gen1 の場合は、所有者ロールが、Gen1 アカウント、親リソース グループ、またはサブスクリプションのスコープ内の Azure AD ID に割り当てられていることを確かめます。

Azure Data Lake Analytics ワークロードを移行する

Azure Data Lake Storage Gen2 では、Azure Data Lake Analytics はサポートされていません。 Azure Data Lake Analytics は 2024 年 2 月 29 日に廃止されます。 Azure portal を使用して、Azure Data Lake Analytics に使用される Azure Data Lake Storage Gen1 アカウントを移行しようとすると、Azure Data Lake Analytics ワークロードが中断される可能性があります。 Gen1 アカウントの移行を試みる前に、まず Azure Data Lake Analytics ワークロードを Azure Synapse Analytics に移行するか、サポートされている別のコンピューティング プラットフォームに移行する必要があります。

詳細については、「Azure portal を使用して Azure Data Lake Analytics を管理する」を参照してください。

移行する

開始する前に、以下の 2 つの移行オプションを確認し、Gen1 から Gen2 にデータのみをコピーする (推奨) か、完全な移行を実行するかを決定します。

Note

選択したオプションに関係なく、gen1 という名前のコンテナーが Gen2 アカウントに作成され、Gen1 アカウントのすべてのデータがこの新しい "gen1" コンテナーにコピーされます。 移行が完了したら、Gen1 に存在するパス上のデータを見つけるには、同じパスにプレフィックス gen1/ を追加して、Gen2 でアクセスできるようにする必要があります。 たとえば、Gen1 の 'FolderRoot/FolderChild/FileName.csv' という名前のパスは、Gen2からは 'gen1/FolderRoot/FolderChild/FileName.csv' でアクセスできます。 Gen2 ではコンテナーの名前を変更できないため、Gen2 のこの gen1 コンテナーは移行後に名前を変更できません。 ただし、必要に応じて、データを Gen2 の新しいコンテナーにコピーできます。

移行オプションを選択する

オプション 1: データのみをコピーする (推奨)。 このオプションでは、データは Gen1 から Gen2 にコピーされます。 データがコピーされると、Gen1 アカウントは読み取り専用になります。 データがコピーされると、Gen1 アカウントと Gen2 アカウントの両方にアクセスできるようになります。 ただし、新しい ADLS Gen2 エンドポイントを使用するには、アプリケーションとコンピューティング ワークロードを更新する必要があります。

オプション 2: 完全な移行を行う。 このオプションでは、データは Gen1 から Gen2 にコピーされます。 データがコピーされると、Gen1 アカウントからのすべてのトラフィックが Gen2 アカウントにリダイレクトされます。 リダイレクトされた要求では、Gen1 互換性レイヤーを使用して、Gen1 API 呼び出しを Gen2 の同等の呼び出しに変換します。 移行中、Gen1 アカウントは読み取り専用になります。 移行が完了すると、Gen1 アカウントにアクセスできなくなります。

どちらのオプションを選択しても、移行し、すべてのワークロードが期待どおりに動作することを確認したら、Gen1 アカウントを削除できます。

オプション 1: Gen1 から Gen2 にデータをコピーする

  1. Azure ポータルにサインインして、作業を開始します。

  2. Data Lake Storage Gen1 アカウントを見つけて、そのアカウントの概要を表示します。

  3. [データの移行] ボタンを選択します。

    Button to migrate

  4. [Copy data to a new Gen2 account](データを新しい Gen2 アカウントにコピーする) を選択します。

    Copy data option

  5. チェックボックスをオンにして、Microsoft でデータを移行することに同意します。 その後、 [適用] ボタンをクリックします。

    Checkbox to provide consent

    重要

    データの移行中に、Gen1 アカウントが読み取り専用になり、Gen2 対応アカウントが無効になります。 移行が完了したら、両方のアカウントに対して読み取りと書き込みを行うことができます。

    [移行の停止] ボタンを選択することで、いつでも移行を停止できます。

    Stop migration option

オプション 2: 完全な移行を行う

  1. Azure ポータルにサインインして、作業を開始します。

  2. Data Lake Storage Gen1 アカウントを見つけて、そのアカウントの概要を表示します。

  3. [データの移行] ボタンを選択します。

    Migrate button

  4. [新しい Gen2 アカウントへの移行を完了する] を選択します。

    Complete migration option

  5. チェックボックスをオンにして、Microsoft でデータを移行することに同意します。 その後、 [適用] ボタンをクリックします。

    Consent checkbox

    重要

    データの移行中に、Gen1 アカウントが読み取り専用になり、Gen2 対応アカウントが無効になります。

    さらに、Gen1 URI のリダイレクト中は、両方のアカウントが無効になります。

    移行が完了すると、Gen1 アカウントは無効になります。 Gen1 アカウントのデータにはアクセスできないため、30 日後に削除されます。 Gen2 アカウントは、読み取りと書き込みに使用できます。

    [移行の停止] ボタンを選択することで、URI がリダイレクトされる前にいつでも移行を停止できます。

    Migration stop button

ワークロードとアプリケーションを移行する

  1. Gen2 エンドポイントを指し示すように、ワークロード内のサービスを構成します。 Azure Databricks、HDInsight、およびその他の Azure サービスを構成して Gen2 を使用するようにするために役立つ記事へのリンクについては、「Azure Data Lake Storage Gen2 がサポートされている Azure のサービス」を参照してください。

  2. Gen2 API を使用するようにアプリケーションを更新します。 これらのガイドを参照してください。

    環境 [アーティクル]
    Azure Storage Explorer Azure Storage Explorer を使用して Azure Data Lake Storage Gen2 のディレクトリとファイルを管理する
    .NET .NET を使用して Azure Data Lake Storage Gen2 でディレクトリとファイルを管理する
    Java Java を使用して Azure Data Lake Storage Gen2 のディレクトリとファイルを管理する
    Python Python を使用して Azure Data Lake Storage Gen2 でディレクトリとファイルを管理する
    JavaScript (Node.js) Node.js の JavaScript SDK を使用して Azure Data Lake Storage Gen2 でディレクトリとファイルを管理する
    REST API Azure Data Lake Store REST API
  3. Data Lake Storage Gen2 の PowerShell コマンドレットおよび Azure CLI コマンドを使用するようにスクリプトを更新します。

  4. コード ファイル、Databricks ノートブック、Apache Hive HQL ファイル、またはワークロードの一部として使用されるその他のファイルで、文字列 adl:// が含まれる URI 参照を検索します。 これらの参照を、新しいストレージ アカウントの Gen2 形式の URI に置き換えます。 たとえば、Gen1 の URI adl://mydatalakestore.azuredatalakestore.net/mydirectory/myfile は、abfss://myfilesystem@mydatalakestore.dfs.core.windows.net/mydirectory/myfile になる可能性があります。

Gen1 互換性レイヤー

このレイヤーは、移行時の便宜を図って Gen1 と Gen2 の間のアプリケーション互換性を提供するためのもので、アプリケーションが Gen1 API を引き続き使用して Gen2 対応のアカウントのデータと対話できるようにします。 このレイヤーの機能は限定的であるため、移行の一環としてこの方法を使用する場合は、テスト アカウントを使用してワークロードを検証することを強くお勧めします。 互換性レイヤーはサーバー上で実行されるため、インストールするものはありません。

重要

Microsoft では、ワークロードとアプリケーションを移行する代替手段として、この機能をお勧めしていません。 2024 年 2 月 29 日に Gen1 が廃止されると、Gen1 互換性レイヤーのサポートが終了します。

互換性レイヤーに関する問題の発生数を最小にするために、必ず Gen1 SDK で次のバージョン (またはそれ以降) が使用されていることを確認してください。

言語 SDK バージョン
.NET 2.3.9
Java 1.1.21
Python 0.0.51

次の機能は互換性レイヤーでサポートされていません。

  • エントリに ListBefore を適用する ListStatus API オプション。

  • 継続トークンのない 4,000 を超えるファイルを含む ListStatus API。

  • 追加操作のチャンクエンコーディング。

  • Azure Active Directory (Azure AD) トークンの対象ユーザーとして https://management.azure.com/ を使用するすべての API 呼び出し。

  • スペースまたはタブのみを含むファイルまたはディレクトリの名前。. で終わるか、: が含まれるか、複数の連続するスラッシュ (//) があります。

よく寄せられる質問

データの移行にはどのくらいのコストがかかりますか?

ポータルベースの移行ツールを使用するコストは発生しませんが、Azure Data Lake Gen1 および Gen2 サービスの使用に対して課金されます。 データの移行中は、Gen1 アカウントのデータ ストレージとトランザクションに対して課金されます。

移行後は、データのみをコピーするオプションを選択した場合、Azure Data Lake Gen1 および Gen2 の両方のアカウントのデータ ストレージとトランザクションに対して課金されます。 Gen1 アカウントに対して課金されないようにするには、Gen2 を指定するようにアプリケーションを更新した後で、Gen1 アカウントを削除します。 完全な移行を行うことを選択した場合は、Gen2 対応アカウントのデータ ストレージとトランザクションに対してのみ課金されます。

すべての Azure Data Lake Analytics アカウントが、Azure Synapse Analytics またはサポートされている別のコンピューティング プラットフォームに移行されていることを確認します。 Azure Data Lake Analytics アカウントが移行されたら、同意を再試行します。 さらに問題が発生し、サポート プランがある場合は、サポート リクエストを提出できます。 また、Microsoft Q&A でコミュニティの専門家から回答を得ることができます。

移行の完了後に、Gen1 アカウントの使用に戻すことができますか?

オプション 1: 上記の Gen1 から Gen2 にデータをコピーを使用する場合は、移行後の読み取りと書き込みの両方の Gen1 アカウントと Gen2 アカウントを使用できます。 ただし、 オプション 2: 完全な移行を実行を使用した場合、Gen1 アカウントに戻すことはサポートされてません。 オプション 2 では、移行が完了すると、Gen1 アカウント内のデータにアクセスできなくなり、30 日後に削除されます。 Azure portal では引き続き Gen1 アカウントを表示でき、準備ができたら、Gen1アカウントを削除できます。

Gen2 アカウントで Geo 冗長ストレージ (GRS) を有効にしたいのですが、どうすればよいですか?

[データのコピー] と [移行の完了] オプションの両方での移行が完了したら、先に進み、アプリケーションの互換性レイヤーを使用する予定がない限り、冗長性オプションを GRS に変更できます。 アプリケーションの互換性は、GRS 冗長性を使用するアカウントでは機能しません。

Gen1 にコンテナーがなく、Gen2 にある場合はどうなりますか?

Gen2 対応アカウントにデータをコピーすると、「Gen1」という名前のコンテナーが自動的に作成されます。 Gen2 のコンテナー名を変更することはできません。そのため、移行後のデータは必要に応じて Gen2 の新しいコンテナーにコピーできます。

移行のパフォーマンスについて何を考慮する必要がありますか?

Gen2 対応アカウントにデータをコピーする場合、ファイルの数とメタデータの量の 2 つの要因がパフォーマンスに影響を与える可能性があります。 たとえば、多くの小さなファイルがあると、移行のパフォーマンスに影響する可能性があります。

次のステップ