IT에서는 자동화가 지금 어디에나 존재합니다. 가상 머신 프로비저닝부터 웹 사이트 배포까지, 특히 여러 항목을 처리해야 할 때 자동화가 필수적입니다. 심지어 Azure 저장소와 로컬 머신 간의 파일 관리도 AzCopy라는 유틸리티 프로그램을 사용하여 자동화할 수 있습니다.
AzCopy는 Azure 저장소의 관리를 가능하게 하는 독립 실행형 유틸리티입니다. AzCopy를 사용하면 여러 작업을 수행할 수 있습니다. 이 글에서는 다음에 초점을 맞출 것입니다:
- 저장소 컨테이너 생성
- 로컬 파일을 컨테이너에 복사
- 컨테이너 간 파일 복사
시작해 봅시다!
동영상을 통해 더 잘 배우는 경우, 이 글에서 배우게 될 내용과 관련된 TechSnips 동영상도 확인할 수 있습니다.
사전 요구 사항
이 글은 다양한 작업을 보여주는 안내서입니다. 따라오고 싶다면 시작하기 전에 아래 목록의 요구 사항을 충족시켜야 합니다.
- Azure 구독. 아직 구독을 가지고 있지 않은 경우, 체험 구독 신청을 요청하십시오.
- Azure 저장소 계정. 자세한 내용은 저장소 계정 만들기를 참조하십시오.
- AzCopy 다운로드 및 인증이 완료되었습니다 (이 문서를 확인하십시오 AZCopy 도구 다운로드 및 설치하는 방법을 참조하여 설정하는 방법을 알아보십시오)
새 스토리지 컨테이너 생성
먼저, AzCopy를 사용하여 기존 스토리지 계정에 새로운 스토리지 컨테이너를 생성해 보겠습니다. 이 예제에서는 container1과 container2라는 두 개의 새 컨테이너를 생성합니다.
참고: 새 컨테이너를 만들기 전에 컨테이너의 엔드포인트 URL을 알아야 합니다. 엔드포인트 URL은 다음 형식을 따릅니다: https://[storageaccountname].blob.core.windows.net/[container_name].
먼저, 엔드포인트 URL을 정의합니다. 이 예제에서는 storageaccount1207라는 스토리지 계정에 컨테이너를 생성하고 다음과 같은 두 개의 엔드포인트 URL을 생성합니다:
- https://storageaccount1207.blob.core.windows.net/container1
- https://storageaccount1207.blob.core.windows.net/container2
엔드포인트 URL을 알았으므로 아래에 표시된 대로 azcopy make
명령을 사용하여 각 엔드포인트 URL을 매개변수로 전달하세요.

Azure 컨테이너로 파일 복사
스토리지 컨테이너를 생성했다면 “Azure Blob Storage로 업로드하는 방법은?”라고 물을 수도 있습니다. AzCopy를 사용하여 azcopy copy
명령을 사용하여 이를 수행할 수 있습니다. AzCopy를 사용하여 PST, VHD 등을 복사할 수 있습니다.
OAuth 인증 사용
AzCopy를 사용하여 파일을 Blob에 복사할 때, 인증에 대한 몇 가지 옵션이 있습니다. Azure Storage에 이미 인증되었다고 가정하기 때문에 (전제 조건에 포함되어 있음), 아래에 표시된대로 로컬 파일 경로 다음에 컨테이너 엔드포인트 URL을 지정하여 azcopy copy
를 실행할 수 있습니다.
다른 매개변수를 지정하지 않고 실행하면 OAuth 인증을 사용하게 됩니다.

파일이 Azure Blob 컨테이너로 복사되었는지 확인하려면 azcopy list [컨테이너 URL]
명령을 사용할 수 있습니다. 아래 예시에서는 file1.txt
파일이 존재함을 보여줍니다.

Azure Blob에서 로컬 디렉토리로 파일을 다운로드하려면 원본과 대상 인수의 위치를 바꾸기만 하면 됩니다. 아래 예시를 참조하세요.

공유 액세스 서명(SAS) 토큰 사용
SAS 토큰을 사용하려면 먼저 토큰을 생성해야 합니다. SAS 토큰을 생성하는 방법을 모르는 경우, Azure 저장소 계정에 액세스하기 위한 Azure SAS 토큰 생성 방법 문서를 참조하세요.
SAS 토큰을 사용할 수 있는 경우, 아래와 같이 토큰을 대상 컨테이너의 URL에 HTTP 매개변수로 추가할 수 있습니다.
PowerShell을 사용하고 토큰을 변수에 저장한 경우 (예: $token
), 다음과 같이 전체 토큰 문자열 대신 해당 변수를 전달할 수 있습니다.

동일한 토큰을 사용하여(유효 기간 내에 있는 경우), Azure 스토리지에서 로컬 스토리지로 파일을 다운로드할 수도 있습니다. 아래 예제는 SAS 토큰을 사용하여 Azure 스토리지에서 file1.txt
파일을 복사합니다.
아래 코드에서는 토큰을 컨테이너 이름 뒤에 추가하는 대신 파일 이름을 먼저 추가합니다. 이를 통해 AzCopy에게 SAS 인증을 사용하여 특정 파일을 복사하도록 지시합니다.

Azure 스토리지로 디렉토리 복사/다운로드
Azure에서 여러 파일을 전송하거나 다운로드해야 하는 경우 azcopy copy
를 사용하여 전체 디렉토리를 한 번에 복사할 수도 있습니다. 이를 위한 명령어는 단일 파일을 복사하는 것과 크게 다르지 않습니다.
아래 명령어는 container1 블롭 컨테이너로 C:\\MyDir
을 재귀적으로 복사하는 예시입니다. 여기서 --recursive
매개변수가 핵심입니다. 명령어 끝에 있는 --recursive
플래그는 부모 디렉토리와 하위 디렉토리에 있는 모든 내용이 복사됨을 나타냅니다.
작업 요약에 따르면 C:\MyDir 폴더 내에 있는 열 개의 파일이 모두 성공적으로 복사되었습니다.

Azure 스토리지 컨테이너 간 파일 복사
이 기사에서는 azcopy copy
명령어를 많이 사용했습니다. 지금까지 멈출 필요는 없습니다! 디렉토리와 파일을 온프레미스로부터 복사할 수 있을 뿐만 아니라, 스토리지 컨테이너 간에도 블롭을 복사할 수 있습니다.
로컬 파일 경로 대신 매개변수를 변경하여 한 개의 블롭 컨테이너 URL을 소스로, 다른 한 개의 블롭 컨테이너 URL을 대상으로 사용합니다.
이미 container1과 container2라는 두 개의 스토리지 컨테이너를 만들었습니다. 이 섹션에서는 container1에서 container2로 파일, 디렉토리, 심지어 전체 블롭 컨테이너까지 복사해 보겠습니다.
다른 컨테이너로 파일을 복사하려면 먼저 새로운 SAS 토큰을 생성합니다. 두 컨테이너가 동일한 스토리지 계정에 속하기 때문에, 동일한 토큰을 소스와 대상 양쪽에 모두 사용할 수 있습니다.
SAS 토큰 문자열을 $token
이라는 변수에 저장했다고 가정하면 (PowerShell에서 azcopy를 실행하는 경우), 아래와 같이 한 스토리지 컨테이너의 모든 데이터를 다른 컨테이너로 쉽게 복사할 수 있습니다.
참고: SAS 토큰을 생성하는 방법을 모르는 경우 저장소 계정에 액세스하기 위한 Azure SAS 토큰 생성 방법 기사를 참조하세요.

AzCopy를 사용한 다른 유용한 작업
파일과 폴더를 복사하는 것 외에도 AzCopy로 수행할 수 있는 다른 복사 작업이 있습니다. 이 중 일부는 다음과 같습니다:
- 특정 파일(필터링)을 복사하는 것.
- 디렉토리를 블롭 컨테이너의 다른 디렉토리에 복사하는 것.
- Amazon AWS에서 Azure Storage로 복사하는 것.
AzCopy가 할 수 있는 모든 것에 대해 알고 싶다면 azcopy -h
를 실행하여 도움말 내용을 확인하십시오. 이 문서에서 집중적으로 다루었던 copy
명령어 외에도 많은 유용한 명령어를 찾을 수 있습니다. 이 명령어들의 스크린샷은 아래에서 확인할 수 있습니다.

더 자세한 내용은 AzCopy 복사 페이지를 방문하십시오. 그런 다음 이 문서에서 배운 기술을 사용하여 스스로 시도해 볼 수 있습니다.
요약
이 문서에서는 AzCopy를 사용하여 로컬과 Azure 스토리지 간에 파일을 전송하는 방법을 배웠습니다. 또한 OAuth와 공유 액세스 서명 토큰을 사용하여 인증을 수행하는 동안 이러한 작업을 수행하는 방법도 배웠습니다. 다른 AzCopy 명령어가 어떤 것들이 있는지와 그것들을 찾는 방법도 살펴보았습니다.
I hope this article has helped you get started with AzCopy and sparked your interest in using it more as part of your administration or development tasks. Thank you!