AzCopy 시작하기

AzCopy는 스토리지 계정에서 또는 스토리지 계정으로 Blob 또는 파일을 복사하는 데 사용할 수 있는 명령줄 유틸리티입니다. 이 문서에서는 AzCopy를 다운로드하고, 스토리지 계정에 연결한 다음, 데이터를 전송하는 방법을 설명합니다.

참고

AzCopy V10은 현재 지원되는 AzCopy 버전입니다.

이전 버전의 AzCopy를 사용해야하는 경우 이 문서의 이전 버전의 AzCopy 사용 섹션을 참조하세요.

AzCopy 다운로드

먼저 AzCopy V10 실행 파일을 컴퓨터의 아무 디렉터리에나 다운로드합니다. AzCopy V10은 실행 파일일 뿐 이므로 아무것도 설치할 것이 없습니다.

관련 파일은 zip 파일(Windows 및 Mac) 또는 tar 파일(Linux)로 압축되어 있습니다. Linux에서 tar 파일을 다운로드하고 압축을 풀려면 Linux 배포에 대한 설명서를 참조하세요.

AzCopy 릴리스에 대한 자세한 내용은 AzCopy 릴리스 페이지를 참조하세요.

참고

Azure Table Storage 서비스에서 혹은 Azure Table Storage 서비스로 데이터를 복사하려면 AzCopy 버전 7.3을 설치해주세요.

AzCopy 실행

편의상, AzCopy 실행 파일의 디렉터리 위치를 시스템 경로에 추가하여 사용하기 쉽도록 하는 것이 좋습니다. 이렇게 하면 시스템의 어느 디렉터리에서나 azcopy를 입력할 수 있습니다.

AzCopy 디렉터리를 경로에 추가하지 않도록 선택하는 경우 디렉터리를 AzCopy 실행 파일의 위치로 변경하고 Windows PowerShell 명령 프롬프트에서 azcopy 또는 .\azcopy를 입력해야 합니다.

Azure Storage 계정 소유자인 경우 자동으로 데이터에 액세스할 수 있는 권한이 할당되지 않습니다. AzCopy를 사용하여 의미 있는 작업을 수행할 수 있으려면 먼저 스토리지 서비스에 권한 부여 자격 증명을 제공하는 방법을 결정해야 합니다.

AzCopy 권한 부여

AD(Azure Active Directory) 또는 SAS(공유 액세스 서명) 토큰을 사용하여 권한 부여 자격 증명을 제공할 수 있습니다.

이 표를 가이드로 참조하세요.

스토리지 유형 현재 지원되는 권한 부여 방법
Blob Storage Azure AD & SAS
Blob Storage(계층 구조 네임스페이스) Azure AD & SAS
File Storage SAS 전용

옵션 1: Azure Active Directory 사용

이 옵션은 Blob Storage에만 사용할 수 있습니다. Azure Active Directory를 사용하면 각 명령에 SAS 토큰을 추가할 필요 없이 자격 증명을 한 번 제공할 수 있습니다.

옵션 2: SAS 토큰 사용

AzCopy 명령에서 사용하는 각 원본 또는 대상 URL에 SAS 토큰을 추가할 수 있습니다.

이 예제 명령은 데이터를 로컬 디렉터리에서 Blob 컨테이너로 재귀적으로 복사합니다. 가상의 SAS 토큰이 컨테이너 URL의 끝에 추가됩니다.

azcopy copy "C:\local\path" "https://account.blob.core.windows.net/mycontainer1/?sv=2018-03-28&ss=bjqt&srt=sco&sp=rwddgcup&se=2019-05-01T05:01:17Z&st=2019-04-30T21:01:17Z&spr=https&sig=MGCXiyEzbtttkr3ewJIh2AR8KrghSy1DGM9ovN734bQF4%3D" --recursive=true

SAS 토큰 및 SAS 토큰을 얻는 방법에 대한 자세한 내용은 SAS(공유 액세스 서명) 사용을 참조하세요.

참고

스토리지 계정의 보안 전송 필요 설정에 따라 스토리지 계정에 대한 연결이 TLS(전송 계층 보안)로 보호되는지 여부가 결정 됩니다. 이 설정은 기본적으로 사용하도록 설정되어 있습니다.

데이터 전송

자신의 ID에 권한을 부여하거나 SAS 토큰을 얻은 후에는 데이터 전송을 시작할 수 있습니다.

예제 명령을 찾으려면 다음 문서 중 하나를 참조하세요.

서비스 아티클
Azure Blob Storage Azure Blob Storage에 파일 업로드
Azure Blob Storage Azure Blob Storage에서 Blob 다운로드
Azure Blob Storage Azure 스토리지 계정 간에 Blob 복사
Azure Blob Storage Azure Blob Storage 시작
Azure 파일 AzCopy 및 File Storage를 사용하여 데이터 전송
Amazon S3 Amazon S3에서 Azure Storage로 데이터 복사
Google Cloud Storage Google Cloud Storage에서 Azure Storage로 데이터 복사(미리 보기)
Azure Stack 스토리지 AzCopy 및 Azure Stack 스토리지를 사용하여 데이터 전송

명령 도움말 가져오기

명령 목록을 보려면 azcopy -h를 입력한 다음 Enter 키를 누릅니다.

특정 명령에 대한 자세한 내용을 보려면 명령의 이름만 포함하면 됩니다(예: azcopy list -h).

인라인 도움말

명령 목록

다음 표에는 모든 AzCopy v10 명령이 나열되어 있습니다. 각 명령은 참조 문서에 연결됩니다.

명령 Description
azcopy bench 지정된 위치로 또는 지정된 위치에서 데이터를 업로드하거나 다운로드하여 성능 벤치마크를 실행합니다.
azcopy copy 원본 데이터를 대상 위치에 복사
azcopy doc Markdown 형식으로 도구에 대한 문서를 생성합니다.
azcopy env AzCopy의 동작을 구성할 수 있는 환경 변수를 표시합니다.
azcopy jobs 작업 관리와 관련된 하위 명령입니다.
azcopy jobs clean 모든 작업의 모든 로그 및 계획 파일을 제거합니다.
azcopy jobs list 모든 작업에 대한 정보를 표시합니다.
azcopy jobs remove 지정된 작업 ID와 연결된 파일을 모두 제거합니다.
azcopy jobs resume 지정된 작업 ID를 사용하여 기존 작업을 다시 시작합니다.
azcopy jobs show 지정된 작업 ID에 대한 상세 정보를 표시합니다.
azcopy list 지정된 리소스의 엔터티를 나열합니다.
azcopy login Azure Active Directory에 로그인하여 Azure Storage 리소스에 액세스합니다.
azcopy login status 지정된 리소스의 엔터티를 나열합니다.
azcopy logout 사용자를 로그아웃시키고 Azure Storage 리소스에 대한 액세스를 종료합니다.
azcopy make 컨테이너 또는 파일 공유를 만듭니다.
azcopy remove Azure Storage 계정에서 Blob 또는 파일을 삭제합니다.
azcopy sync 원본 위치를 대상 위치로 복제합니다.
azcopy set-properties 하나 이상의 Blob의 액세스 계층을 변경하고 메타데이터 및 하나 이상의 Blob의 인덱스 태그를 대체(덮어쓰기)합니다.

참고

AzCopy에는 파일의 이름을 바꾸는 명령이 없습니다.

스크립트에서 사용

시간이 지나면서 AzCopy 다운로드 링크는 새 버전의 AzCopy를 가리킵니다. 스크립트를 통해 AzCopy를 다운로드하는 경우 스크립트가 종속하는 기능이 새 버전의 AzCopy로 인해 수정되면 스크립트가 작동하지 않을 수 있습니다.

문제를 방지하려면 현재 버전의 AzCopy로 연결되는 정적(변경되지 않는) 링크를 가져옵니다. 이렇게 하면 스크립트가 실행될 때마다 동일한 정확한 버전의 AzCopy가 다운로드됩니다.

링크를 가져오려면 다음 명령을 실행합니다.

운영 체제 명령
Linux curl -s -D- https://aka.ms/downloadazcopy-v10-linux \| grep ^Location
Windows PowerShell (Invoke-WebRequest -Uri https://aka.ms/downloadazcopy-v10-windows -MaximumRedirection 0 -ErrorAction SilentlyContinue).headers.location
PowerShell 6.1 이상 (Invoke-WebRequest -Uri https://aka.ms/downloadazcopy-v10-windows -MaximumRedirection 0 -ErrorAction SilentlyContinue -SkipHttpErrorCheck).headers.location

참고

Linux의 경우 tar 명령의 --strip-components=1은 버전 이름이 포함된 최상위 폴더를 제거하고 대신 이진 파일을 현재 폴더로 직접 추출합니다. 이렇게 하면 wget URL만 업데이트해도 스크립트가 새 버전의 azcopy로 업데이트됩니다.

URL은 이 명령의 출력에 표시됩니다. 그러면 스크립트에서 해당 URL을 사용하여 AzCopy를 다운로드할 수 있습니다.

Linux

wget -O azcopy_v10.tar.gz https://aka.ms/downloadazcopy-v10-linux && tar -xf azcopy_v10.tar.gz --strip-components=1

Windows PowerShell

Invoke-WebRequest -Uri 'https://azcopyvnext.azureedge.net/release20220315/azcopy_windows_amd64_10.14.1.zip' -OutFile 'azcopyv10.zip'
Expand-archive -Path '.\azcopyv10.zip' -Destinationpath '.\'
$AzCopy = (Get-ChildItem -path '.\' -Recurse -File -Filter 'azcopy.exe').FullName
# Invoke AzCopy 
& $AzCopy

PowerShell 6.1 이상

Invoke-WebRequest -Uri 'https://azcopyvnext.azureedge.net/release20220315/azcopy_windows_amd64_10.14.1.zip' -OutFile 'azcopyv10.zip'
$AzCopy = (Expand-archive -Path '.\azcopyv10.zip' -Destinationpath '.\' -PassThru | where-object {$_.Name -eq 'azcopy.exe'}).FullName
# Invoke AzCopy
& $AzCopy

SAS 토큰의 이스케이프 특수 문자

.cmd 확장명이 있는 일괄 처리 파일에서는 SAS 토큰에 표시되는 % 문자를 이스케이프해야 합니다. SAS 토큰 문자열의 기존 % 문자 옆에 추가 % 문자를 추가하여 이 작업을 수행할 수 있습니다.

Jenkins를 사용하여 스크립트 실행

Jenkins를 사용하여 스크립트를 실행하려는 경우 스크립트의 시작 부분에 다음 명령을 배치해야 합니다.

/usr/bin/keyctl new_session

Azure Storage Explorer에서 사용

Storage Explorer는 AzCopy를 사용하여 모든 데이터 전송 작업을 수행합니다. AzCopy의 성능 이점을 적용하려는 경우 Storage Explorer 사용할 수 있지만 명령줄 대신 그래픽 사용자 인터페이스를 사용하여 파일과 상호 작용하는 것이 좋습니다.

Storage Explorer는 계정 키를 사용하여 작업을 수행하므로 Storage Explorer에 로그인 한 후에는 추가 권한 부여 자격 증명을 제공할 필요가 없습니다.

구성, 최적화 및 수정

다음 리소스 중 하나를 참조하세요.

이전 버전 사용

이전 버전의 AzCopy를 사용해야 하는 경우 다음 링크 중 하나를 참조하세요.

다음 단계

질문, 문제 또는 일반 피드백은 GitHub에서 제출하시면 됩니다.