AzCopy v10 に関する問題のトラブルシューティング

この記事では、AzCopy の使用中に発生する可能性がある一般的な問題について説明し、それらの問題の原因を特定し、それらを解決する方法を提案します。

問題の特定

終了コードを調べることで、ジョブが成功したかどうかを判断できます。

終了コードが の場合、ジョブは 0-success正常に完了しました。

終了コードが の場合は、 1-errorログ ファイルを調べます。 正確なエラー メッセージを理解すると、適切なキーワードを検索して解決策を見つけやすくなります。 詳細については、「 AzCopy でログ ファイルとプラン ファイルを使用してエラーを検索し、ジョブを再開する」を参照してください。

終了コードが の場合は、2-panicログ ファイルが存在することをチェックします。 ファイルが存在しない場合は、バグを報告するか、サポートに連絡してください。

終了コードが他のゼロ以外の終了コードである場合は、システムからの終了コードである可能性があります。 たとえば、「 OOMKilled 」のように入力します。 オペレーティング システムのドキュメントで特別な終了コードを確認してください。

403 エラー

403 エラーが発生するのが一般的です。 場合によっては、彼らは良性であり、転送に失敗することはありません。 たとえば、AzCopy ログでは、要求が 403 エラーを HEAD 受け取ったことがわかります。 これらのエラーは、AzCopy がリソースがパブリックであるかどうかを確認するときに表示されます。 ほとんどの場合、これらのインスタンスは無視できます。

場合によっては、403 エラーによって転送が失敗する可能性があります。 この場合、問題を解決するまで、他のファイル転送の試行は失敗する可能性があります。 認証と承認の問題の結果、403 エラーが発生する可能性があります。 また、ストレージ アカウントのファイアウォール構成が原因で要求がブロックされた場合にも発生する可能性があります。

認証/承認に関する問題

SAS トークン、ロールベースのアクセス制御 (Azure RBAC) ロール、アクセス制御リスト (ACL) の構成に関する問題が原因で、データ転送を妨げる 403 エラーが発生します。

SAS トークン

共有アクセス署名 (SAS) トークンを使用している場合は、次のことを確認します。

  • SAS トークンの有効期限と開始時刻が適切です。

  • トークンに必要なすべてのアクセス許可を選択しました。

  • 公式の SDK またはツールを使用してトークンを生成しました。 まだStorage Explorerしていない場合は、お試しください。

Azure RBAC

コマンドを使用して Azure RBAC ロールを azcopy login 使用している場合は、ID に適切な Azure ロールが割り当てられていることを確認します (ストレージ BLOB データ共同作成者ロールなど)。

Azure ロールの詳細については、「 BLOB データにアクセスするための Azure ロールの割り当て」を参照してください。

Acl

アクセス制御リスト (ACL) を使用している場合は、アクセスする各ファイルまたはディレクトリの ACL エントリに ID が表示されることを確認します。 また、各 ACL エントリに適切なアクセス許可レベルが反映されていることを確認します。

ACL と ACL エントリの詳細については、Azure Data Lake Storage Gen2のアクセス制御リスト (ACL) に関するページを参照してください。

AZURE ロールを ACL と組み合わせる方法と、承認の決定を行うためにシステムによって評価される方法の詳細については、Azure Data Lake Storage Gen2のアクセス制御モデルに関するページを参照してください。

ファイアウォールとプライベート エンドポイントの問題

AzCopy が実行されているマシンからのアクセスを許可するようにストレージ ファイアウォール構成が構成されていない場合、AzCopy 操作は HTTP 403 エラーを返します。

ローカル コンピューターからまたはローカル コンピューターにデータを転送する

ストレージ アカウントとオンプレミス コンピューターの間でデータをアップロードまたはダウンロードする場合は、AzCopy を実行するマシンがソースストレージアカウントまたは移行先ストレージ アカウントにアクセスできることを確認してください。 コンピューターのパブリック IP アドレスからのアクセスを許可するには、送信元アカウントまたは宛先アカウントのファイアウォール設定で IP ネットワーク規則を使用する必要がある場合があります。

ストレージ アカウント間でデータを転送する

403 承認エラーにより、AzCopy が実行されているクライアント コンピューターを使用して、アカウント間でデータを転送できなくなる可能性があります。

ストレージ アカウント間でデータをコピーする場合は、AzCopy を実行するマシンがソース アカウントと移行先アカウントの両方にアクセスできることを確認します。 コンピューターのパブリック IP アドレスからのアクセスを許可するには、送信元アカウントと移行先アカウントの両方のファイアウォール設定で IP ネットワーク規則を使用する必要がある場合があります。 このサービスでは、AzCopy クライアント マシンの IP アドレスを使用して、送信元から宛先へのトラフィックを承認します。 ストレージ アカウントのファイアウォール設定にパブリック IP アドレスを追加する方法については、「 インターネット IP 範囲からのアクセスを許可する」を参照してください。

VM にパブリック IP アドレスがない場合や、パブリック IP アドレスを持つことができない場合は、プライベート エンドポイントの使用を検討してください。 「 Azure Storage にプライベート エンドポイントを使用する」を参照してください。

Private Linkは、仮想ネットワーク (VNet)/サブネット レベルにあります。 AzCopy 要求をPrivate Link経由する場合、AzCopy はその VNet/サブネットで実行されている VM からそれらの要求を行う必要があります。 たとえば、VNet1/Subnet1 でPrivate Linkを構成しても、AzCopy が実行される VM が VNet1/Subnet2 にある場合、AzCopy 要求ではPrivate Linkは使用されないため、失敗することが予想されます。

"dial tcp: lookup proxy.x.x: no such host" などの TCP エラーが発生した場合は、環境が正しいプロキシを使用するように構成されていないか、AzCopy が認識しない高度なプロキシを使用していることを意味します。

正しい構成を反映するようにプロキシ設定を更新する必要があります。 「 プロキシ設定を構成する」を参照してください。

また、環境変数 NO_PROXY="*"を設定してプロキシをバイパスすることもできます。

AzCopy で使用する必要があるエンドポイントを次に示します。

エンドポイントにログインする Azure Storage エンドポイント
login.microsoftonline.com (グローバル Azure) (blob | file | dfs).core.windows.net (グローバル Azure)
login.chinacloudapi.cn (Azure China) (blob | file | dfs).core.chinacloudapi.cn (Azure China)
login.microsoftonline.de (Azure Germany) (blob | file | dfs).core.cloudapi.de (Azure Germany)
login.microsoftonline.us (Azure US Government) (blob | file | dfs).core.usgovcloudapi.net (Azure US Government)

x509: 不明な機関によって署名された証明書

このエラーは、多くの場合、オペレーティング システムによって信頼されていない Secure Sockets Layer (SSL) 証明書を使用するプロキシの使用に関連します。 設定を確認し、証明書がオペレーティング システム レベルで信頼されていることを確認します。

信頼された機関が保持されるため、証明書をマシンのルート証明書ストアに追加することをお勧めします。

認識されないパラメーター

パラメーターが認識されていないことを示すエラー メッセージが表示される場合は、AzCopy の正しいバージョンを使用していることを確認してください。 AzCopy V8 以前のバージョンは非推奨です。 AzCopy V10 は現在のバージョンであり、以前のバージョンと構文を共有しない完全な書き換えです。 v8 から v10 の AzCopy 移行ガイドを参照してください。

また、任意のコマンド (例: azcopy copy -h) でスイッチを-h使用して、組み込みのヘルプ メッセージを使用してください。 「 Get command help」を参照してください。 同じ情報をオンラインで表示するには、 azcopy のコピーに関するページを参照してください。

コマンドの理解に役立つよう、 AZCOPY COMMAND GUIDE にある教育ツールを提供します。 このツールは、最も一般的な AzCopy コマンドと、最も一般的なコマンド フラグを示します。 ここでは例を 示します。 質問がある場合は、まず既存の GitHub の問題 を検索して、既に回答されているかどうかを確認してください。

条件付きアクセス ポリシー エラー

コマンドを呼び出すと、次のエラーが azcopy login 表示される場合があります。

ログイン コマンドの実行に失敗しました:tenantID "common"、Azure ディレクトリ エンドポイント "https://login.microsoftonline.com"、autorest/adal/devicetoken: -REDACTED- AADSTS50005: ユーザーが条件付きアクセス ポリシーで現在サポートされていないプラットフォーム (不明) からデバイスにログインしようとしました。 サポートされているデバイス プラットフォームは、iOS、Android、Mac、Windows のフレーバーです。 トレース ID: -REDACTED- 相関 ID: -REDACTED- Timestamp: 2021-01-05 01:58:28Z

このエラーは、管理者が、ログインできるデバイスの種類を指定する条件付きアクセス ポリシーを構成したことを意味します。 AzCopy はデバイス コード フローを使用します。これは、AzCopy ツールを使用しているマシンがログインしている場所でもあることを保証できません。

デバイスがサポートされているプラットフォームの一覧に含まれている場合は、すべてのデータ転送に AzCopy を統合する (シークレット ストアを介して AzCopy にトークンを渡す) が、デバイス情報の受け渡しをサポートするログイン ワークフローを提供する Storage Explorer を使用できる場合があります。 AzCopy 自体では、マネージド ID とサービス プリンシパルもサポートされています。これは代替として使用できます。

デバイスがサポートされているプラットフォームの一覧にない場合は、管理者に問い合わせてください。

サーバーのビジー状態、ネットワーク エラー、またはタイムアウト

"503 サーバービジー" 状態の失敗した要求が多数表示された場合、要求はストレージ サービスによって調整されます。 ネットワーク エラーやタイムアウトが発生した場合は、インフラストラクチャ全体であまりにも多くのデータをプッシュしようとしている可能性があり、インフラストラクチャの処理が困難になっている可能性があります。 いずれの場合も、回避策は似ています。

毎回特定のチャンクが失敗したために大きなファイルが繰り返し失敗する場合は、特定のケースに応じて、同時ネットワーク接続またはスループットの制限を制限してみてください。 最初はパフォーマンスを大幅に低下し、最初の問題が解決したかどうかを確認してから、全体的なバランスが達成されるまでパフォーマンスを再び上げることをお勧めします。

詳細については、「 Azure Storage を使用して AzCopy のパフォーマンスを最適化する」を参照してください。

AzCopy を使用してアカウント間でデータをコピーする場合、AzCopy を実行するネットワークの品質と信頼性が全体的なパフォーマンスに影響する可能性があります。 サーバーからサーバーにデータが転送される場合でも、AzCopy はサービス エンドポイント間でコピーする各ファイルの呼び出しを開始します。

AzCopy を使用した既知の制約

  • 政府機関向けクラウドから商用クラウドへのデータのコピーはサポートされていません。 ただし、商用クラウドから政府機関向けクラウドへのデータのコピーはサポートされています。

  • 非同期サービス側コピーはサポートされていません。 AzCopy は同期コピーのみを実行します。 つまり、ジョブが完了するまでに、データが移動されました。

  • Azure File 共有にコピーするときに、フラグ --preserve-smb-permissions の指定を忘れてデータをもう一度転送しない場合は、Robocopy を使用してアクセス許可を引き継ぐ方法を検討してください。

  • Azure Functionsには MSI 認証用の別のエンドポイントがあり、AzCopy はまだサポートされていません。

関連項目

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。