다음을 통해 공유


AzCopy 시작

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

참고 항목

AzCopy V10은 AzCopy의 현재 지원되는 버전입니다. 이 도구는 더 이상 공식적으로 유지 관리되지 않는 Windows, Linux 또는 macOS 버전에서 지원되지 않습니다.

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

이 비디오에서는 AzCopy 유틸리티를 다운로드하고 실행하는 방법을 보여줍니다.

비디오의 단계도 다음 섹션에 설명되어 있습니다.

AzCopy의 사용 사례

AzCopy를 사용하여 Azure Storage 계정 간에 데이터를 복사할 수 있습니다. 일반 사용 사례는 다음과 같습니다.

  • 온-프레미스 원본에서 Azure Storage 계정으로 데이터 복사
  • Azure Storage 계정에서 온-프레미스 원본으로 데이터 복사
  • 하나의 스토리지 계정에서 다른 스토리지 계정으로 데이터 복사

이러한 각 사용 사례에는 고유한 옵션이 있습니다. 예를 들어 AzCopy에는 데이터를 복사 및/또는 동기화하기 위한 네이티브 명령이 있습니다. 따라서 AzCopy는 일회성 복사 작업 및 지속적인 동기화 시나리오에 사용할 수 있는 유연한 도구입니다. 또한 AzCopy를 사용하면 Azure Blob Storage 또는 Azure Files와 같은 특정 스토리지 서비스를 대상으로 지정할 수 있습니다. 이렇게 하면 Blob에서 파일로, 파일에서 Blob으로, 파일에서 파일로 데이터를 복사할 수 있습니다.

이러한 시나리오에 대한 자세한 내용은 다음을 참조하세요.

참고 항목

AzCopy는 전송 중에 원본 또는 대상이 적극적으로 변경되는 시나리오를 지원하지 않습니다.

패키지 관리자를 사용하여 Linux에 AzCopy 설치

Microsoft 제품용 Linux 소프트웨어 리포지토리에 호스트된 Linux 패키지를 사용하여 AzCopy를 설치할 수 있습니다.

  1. 리포지토리 구성 패키지를 다운로드합니다.

    Important

    배포판과 버전을 적절한 문자열로 바꿔야 합니다.

    curl -sSL -O https://packages.microsoft.com/config/<distribution>/<version>/packages-microsoft-prod.rpm
    
  2. 리포지토리 구성 패키지를 설치합니다.

    sudo rpm -i packages-microsoft-prod.rpm
    
  3. 설치한 후 리포지토리 구성 패키지를 삭제합니다.

    rm packages-microsoft-prod.rpm
    
  4. 패키지 인덱스 파일을 업데이트합니다.

    sudo dnf update
    
  5. AzCopy를 설치합니다.

    sudo dnf install azcopy
    

AzCopy 휴대용 이진 다운로드

패키지를 설치하는 대신, AzCopy V10 실행 파일을 컴퓨터의 아무 디렉터리에나 다운로드할 수 있습니다.

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

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

참고 항목

Azure Table Storage 서비스로 또는 서비스에서 데이터를 복사하려면 AzCopy 버전 7.3을 설치합니다.

AzCopy 실행

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

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

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

AzCopy 권한 부여

Microsoft Entra ID를 사용하거나 SAS(공유 액세스 서명) 토큰을 사용하여 권한 부여 자격 증명을 제공할 수 있습니다.

옵션 1: Microsoft Entra ID 사용

Microsoft Entra ID를 사용하면 각 명령에 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 명령이 나열되어 있습니다. 각 명령은 참조 문서에 연결됩니다.

명령 설명
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 Microsoft Entra ID에 로그인하여 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를 사용해야 하는 경우 다음 링크 중 하나를 참조하세요.

참고 항목

이러한 버전 AzCopy는 더 이상 사용되지 않습니다. Microsoft는 AzCopy v10 사용을 권장합니다.

다음 단계

질문, 문제 또는 일반 피드백이 있는 경우 GitHub 페이지에서 제출하세요.