既存リポジトリから Azure Blob へのデータ移行およびハイブリッド環境におけるデータ同期は、多くの企業にとってクラウド移行の大きな課題となり得ます。
このような移行を支援するために、Azure ネイティブのツールやサードパーティ製のツール・サービスが複数用意されています。代表的なものには、AzCopy、Azure Import/Export、Azure PowerShell、Azure Data Box などがあります。
では、貴社の Azure 移行に最適なツールをどのように選べばよいのでしょうか。
ツール選定にあたっては、移行に必要な期間、ファイルサイズ、利用可能なネットワーク帯域幅、オンライン/オフラインの移行要件 など、複数の要素を考慮する必要があります。
本ブログ記事では、いくつかの主要な Azure 移行ツールを紹介・解説するとともに、Azure Blob Storage へのファイル移行を容易に行うためのシンプルな手順 をご紹介します。さらに、NetApp Cloud Volumes ONTAP の高度なデータ管理機能 を活用することで、データ移行・パフォーマンス・保護を最適化できる点についても取り上げます。
詳細はこちらから:
データ移行とデータモビリティはクラウド導入における重要な要素であるため、Microsoft はこれらのプロセスを支援するために数多くのネイティブツールやサービスを提供しています。以下では、その一部を詳しく見ていきましょう。
AzCopy は、Azure ストレージとの間でデータを転送するためのコマンドラインツールです。シンプルで軽量なツールであり、Windows、Linux、または Mac 環境にインストールすることで Azure へのデータ転送を開始できます。AzCopy は多様なシナリオに対応しており、オンプレミスから Azure Blob や Azure Files へのデータ転送、あるいは Amazon S3 から Azure ストレージへの移行にも利用可能です。また、Azure Stack との間でのデータコピーにも使用できます。
[AzCopy を利用した Azure へのデータアップロード方法はこちら]
Azure PowerShell も、オンプレミス環境から Azure Blob Storage へデータを転送するためのコマンドラインオプションの一つです。Set-AzStorageBlobContent コマンドを使用することで、Azure Blob Storage へデータを効率的にコピーできます。
[Azure PowerShell の詳細と使用方法についてはこちら]
Azure Import/Export は、大規模なデータ転送を実現するための物理的な方法です。このサービスでは、データを Azure Blob Storage または Azure Files にインポート/エクスポートできます。大容量データ移行に加え、コンテンツ配信やバックアップ/リストアといったユースケースにも活用可能です。お客様が準備した SSD または HDD にデータを書き込み、Azure データセンターへ送付する仕組みとなっています。
Azure Data Box は、Microsoft が提供する専用の Data Box デバイスを用いて Azure データセンターとの間でデータを転送するサービスです。特に 40TB を超えるデータサイズで、ネットワーク帯域が制約されている環境で推奨されます。代表的なユースケースとしては、大規模データの一括移行、初期データの Azure への転送(その後は増分データをネットワーク経由で転送)、定期的な大容量データのアップロード などが挙げられます。
AzCopy は Windows、Linux、および macOS システムで利用可能です。
インストールは不要で、AzCopy は実行ファイルとして動作します。Windows および Linux の場合は ZIP ファイルをダウンロードして解凍する必要があります。Linux では TAR ファイルをダウンロードして展開した後、コマンドを実行します。
AzCopy ツールは、Azure Blob Storage へのアクセスを Azure AD または SAS トークンを通じて認証することができます。
Azure AD 認証を利用する場合、ユーザーはデータコピーを開始する前にユーザー アカウントで認証を行います。自動化スクリプトを利用する場合は、サービス プリンシパルまたはマネージド ID を使用して Azure AD 認証を実施できます。
この AzCopy の例では、Azure AD ユーザーアカウントによる認証 を使用します。アカウントには、データをコピーする対象の ストレージ コンテナー および使用する ストレージ アカウント、リソース グループ、サブスクリプション において、「Storage Blob Data Contributor」または「Storage Blob Data Owner」ロール が割り当てられている必要があります。
1. AzCopy をダウンロードしたフォルダーに移動し、次のコマンドを実行してサインインします。
azcopy login
次に、https://microsoft.com/devicelogin にアクセスし、サインイン手順を確認します。
出力に表示される指示に従い、提供されたコードを使用して認証を行ってください。
2. サインイン ページで、ストレージへのアクセス権を持つ Azure 認証情報を入力し、「次へ」 をクリックします。
3. コマンドラインに戻ると、「サインインに成功しました」 というメッセージが表示されます。
4. 次の AzCopy コマンドを実行し、ストレージ アカウント内にファイルをアップロードするためのコンテナーを作成します。
azcopy make “https://.blob.core.windows.net/”
プレースホルダーを Azure のストレージ アカウント名および作成するコンテナー名に置き換えてください。以下にサンプル コマンドを示します。
azcopy make "https://teststor1110.blob.core.windows.net/folder1"
5. ローカル コンピューターからストレージ アカウントにファイルをコピーする方法
azcopy copy https://.core.windows.net//
上記のコマンド内のプレースホルダーを、お使いの環境の値に置き換え、さらに ステップ 4 で作成したストレージ コンテナー名 を指定してください。
以下にサンプル コマンドを示します。
azcopy copy 'C:azcopyTestcopyolder1ile1.txt'
'https://teststor1110.blob.core.windows.net/folder1'
注意: 上記の例における Ordner1 は、ステップ 4 で作成したコンテナーを指しています.
コマンドが正常に完了すると、ジョブのステータスが 「完了」 と表示されます。
6. ローカル フォルダー内のすべてのファイルを Azure ストレージ コンテナーにコピーするには、次のコマンドを実行します。
azcopy copy "" 'https://.blob.core.windows.net/' --recursive
上記のコマンド内のプレースホルダー <ローカルパス> および <コンテナー名> を、お客様の環境に合わせて置き換えてください。
以下にサンプル コマンドを示します。
azcopy copy "C:azcopyTestcopysample"
"https://teststor1110.blob.core.windows.net/folder1" --recursive
ソース フォルダーの内容は、次のように表示されます。
7. Azure ポータルでストレージ アカウントに移動すると、Azure ストレージ コンテナー内にフォルダーが作成され、ファイルがそのフォルダーにコピーされていることを確認できます。
8. Azure ストレージ内に新しいフォルダーを作成せずに、ローカル フォルダーの内容のみをコピーする場合は、次のコマンドを使用します。
azcopy copy "/*" 'https://.blob.core.windows.net/'
Sample command given below:
azcopy copy "C:azcopyTestcopyolder2*" "https://teststor1110.blob.core.windows.net/folder1"
9. 追加のファイルは、ローカル フォルダー「Ordner2」から Azure コンテナー「Ordner1」にコピーされます(下図参照)。この場合、ソース フォルダー自体は作成されない点にご注意ください。
Azure PowerShell のコマンドレットは、PowerShell のコマンドやスクリプトを使用して Azure リソースを管理するために利用できます。AzCopy に加えて、PowerShell もローカル フォルダーから Azure ストレージへのファイル アップロードに使用できます。同じ目的のために、Azure PowerShell コマンド Set-AzStorageBlobContent が使用されます。
このセクションでは、Windows コンピューターから PowerShell を使用して Azure Blob Storage にファイルをアップロードするためのコマンドを確認します。
1. 管理者権限で開いた PowerShell セッションで、次のコマンドを実行し、システム上のすべてのユーザー向けに最新バージョンの Azure PowerShell をインストールします。
Install-Module -Name Az -AllowClobber -Scope AllUsers
パッケージのインストール許可を求められた場合は、「はい」 を選択してください。
2. 次のコマンドを使用し、表示されるプロンプトでご利用の Azure サブスクリプションにサインインしてください。
Connect-AzAccount
3. データ転送に使用するストレージ アカウント コンテキストを、次のコマンドで取得します。
$uploadstorage=Get-AzStorageAccount -ResourceGroupName -Name
$storcontext=$uploadstorage.Context
プレースホルダーをお客様の環境に合わせた値に更新してください。以下はそのサンプル コマンドです。
$uploadstorage=Get-AzStorageAccount -ResourceGroupName cvo177 -Name teststor1110
$storcontext=$uploadstorage.Context
4. 次のコマンドを実行し、ローカル ディレクトリから Azure ストレージ内のコンテナーにファイルをアップロードします。
Set-AzStorageBlobContent -Container "" -File "" -Context $storcontext
プレースホルダー <…> を、お客様の環境に合わせた値に置き換えてください。以下はサンプルです。
Set-AzStorageBlobContent -Container "folder2" -File "C:azcopyTestcopyolder2ile1.txt" -Context $storcontext
ファイルが正常にアップロードされると、次のスクリーンショットのようなメッセージが表示されます。
5. 現在のフォルダー内のすべてのファイルをアップロードするには、次のコマンドを実行します。
Get-ChildItem -File -Recurse \| Set-AzStorageBlobContent -Container "" -Context $storcontext
以下はその一例です。
Get-ChildItem -File -Recurse \| Set-AzStorageBlobContent -Container "folder2" -Context $storcontext
6. Azure ストレージ コンテナーに移動すると、ステップ 4 および 5 でアップロードしたすべてのファイルが表示されます。
私たちはこれまで、AzCopy および Azure PowerShell コマンドを使用して、Azure へのデータ移行を簡単に実行できる方法について説明しました。
お客様は、クラウドへのデータ移行に際し、NetApp の実績ある レプリケーション および クローン技術 を活用することで、NetApp Cloud Volumes ONTAP を利用することもできます。
Cloud Volumes ONTAP は、オンプレミス環境と複数のクラウド環境を含むハイブリッド データ管理ソリューションです。高可用性、データ保護、さらに重複排除・圧縮・シン プロビジョニングといったストレージ効率化機能を提供することで、お客様に大きな価値をもたらします。Azure 上の仮想マシンは SMB/NFS プロトコルを介して Cloud Volumes ONTAP のボリュームにアクセスでき、これらの機能により比類のないストレージ効率を実現します。その結果、Azure ストレージ コストも大幅に削減されます。
また、NetApp の Snapshot™ テクノロジー は SnapMirror® データ レプリケーション と組み合わせることで、オンプレミス環境からクラウドへのデータ移行を簡素化します。Snapshot テクノロジーではオンプレミスの NetApp ストレージから時点コピーを作成でき、SnapMirror レプリケーションによってそのデータを Azure 上の Cloud Volumes ONTAP ボリュームに複製することが可能です。この仕組みは、災害対策 (DR) を目的として、オンプレミス環境とクラウド環境間でデータを同期させる用途にも利用できます。
さらに、NetApp の FlexClone® テクノロジー を利用すれば、オンプレミス ボリュームからストレージ効率に優れた書き込み可能なクローンを作成し、CI/CD プロセスに統合してクラウド上でテスト/開発環境を迅速に構築できます。これにより、オンプレミスからクラウド、またはクラウド間におけるデータ ポータビリティが向上し、すべてを統合管理インターフェースから一元的に制御することが可能となります。Cloud Volumes ONTAP は、このように企業の俊敏性を高め、アプリケーションの市場投入までの時間を短縮します。
NetApp のもう一つのデータ移行サービスが Cloud Sync です。これにより、オンプレミス環境やクラウド間を問わず、あらゆるリポジトリからクラウド上のオブジェクト ストレージへ迅速かつ効率的にデータを移行できます。
お客様は、AzCopy や Azure PowerShell といったネイティブ ツールを使用して、Azure Blob Storage にファイルをアップロードできます。さらに、Cloud Volumes ONTAP を利用することで、SnapMirror レプリケーション、NetApp Snapshot、FlexClone などの機能を含む高度なデータ管理および移行機能を活用できます.