랩 07 - Azure 스토리지 관리

랩 시나리오

현재 온프레미스 데이터 저장소에 상주하는 파일을 저장하기 위한 Azure 스토리지의 사용을 평가해야 합니다. 대부분의 파일에는 자주 접속하지 않지만, 몇 가지 예외가 있습니다. 액세스 빈도가 낮은 파일을 저가의 스토리지 계층에 배치하여 스토리지 비용을 최소화할 수 있습니다. 또한 네트워크 액세스, 인증, 권한 부여 및 복제를 포함하여 Azure Storage가 제공하는 다양한 보호 메커니즘에 대해서도 살펴보십시오. 마지막으로 Azure Files 서비스가 온프레미스 파일 공유를 호스팅하는 데 얼마나 적합한지 확인하고자 합니다.

목표

이 과정에서, 우리는 다음과 같은 실습을 합니다 :

  • 작업 1: 랩 환경 프로비전
  • 작업 2: Azure 스토리지 계정 생성 및 구성
  • 작업 3: Blob 스토리지 관리
  • 작업 4: Azure 스토리지에 대한 인증 및 권한 부여 관리
  • 작업 5: Azure Files 공유 생성 및 구성
  • 작업 6: Azure 스토리지에 대한 네트워크 접근 관리

설명

작업 1: 랩 환경 프로비전

이 작업에서는 이 랩에서 사용할 Azure 가상 머신을 배포할 것입니다.

  1. Azure portal에 로그인한다.

  2. Azure 포털 오른쪽 위의 아이콘을 클릭하여 Azure Cloud Shell을 실행한다.

  3. Bash 또는 PowerShell을 선택하는 프롬프트 창에서 PowerShell을 선택한다.

    참고: Cloud Shell을 처음 실행한 경우, 탑재된 스토리지가 없음 메시지가 표시됩니다. 이 랩에서 사용하고 있는 구독을 선택하고 스토리지 만들기를 클릭하십시오.

  4. Cloud Shell 창의 툴바에서 파일 업로드/다운로드 아이콘을 선택한다. 드롭다운 메뉴에서 업로드를 클릭하고, \Allfiles\Module_07\az104-07-vm-template.json\Allfiles\Module_07\az104-07-vm-parameters.json 을 Cloud Shell의 홈 디렉토리에 업로드한다.

  5. Cloud Shell 창에서 다음 명령을 실행하여 가상 머신에 호스팅 될 리소스 그룹을 만든다. ([Azure_region] 부분을 Azure 가상 머신을 배포할 Azure region의 이름으로 대체한다)

    $location = '[Azure_region]'
    $rgName = 'az104-07-rg0'
    
    New-AzResourceGroup -Name $rgName -Location $location
    
  6. Cloud Shell 창에서 다음 명령을 실행하여 업로드된 템플릿과 파라미터 파일을 사용해 가상 머신을 배포한다.

    New-AzResourceGroupDeployment `
       -ResourceGroupName $rgName `
       -TemplateFile $HOME/az104-07-vm-template.json `
       -TemplateParameterFile $HOME/az104-07-vm-parameters.json `
       -AsJob
    

    참고: 배포가 끝날 때까지 기다리지 않고 다음 작업을 진행합니다.

  7. Cloud Shell 창을 닫는다.

작업 2: Azure 스토리지 계정 생성 및 구성

이 작업에서는 Azure 스토리지 계정을 만들고 구성합니다.

  1. Azure 포털에서 스토리지 계정을 검색하고 선택한다. + 추가를 클릭한다.

  2. 스토리지 계정 만들기 블레이드의 기본 사항 탭을 다음과 같이 설정한다. (다른 값은 기본 설정을 사용한다)

    설정
    구독 이 랩에서 사용할 Azure 구독의 이름
    리소스 그룹 새로만들기 az104-07-rg1
    스토리지 계정 이름 문자와 숫자로 구성된 고유한 이름 (3~24 글자)
    위치 Azure 스토리지를 만들 수 있는 Azure region 이름
    성능 표준
    계정 종류 Storage (범용 v1)
    복제 RA-GRS(읽기 액세스 지역 중복 스토리지)
  3. 다음: 네트워킹 > 을 클릭한다. 스토리지 계정 만들기 블레이드의 네트워킹 탭에서 가능한 옵션을 검토하고 기본 값인 공용 엔드포인트 (모든 네트워크) 를 사용한다. 다음: 고급 > 을 클릭한다.

  4. 스토리지 계정 만들기 블레이드의 고급 탭에서 가능한 옵션을 확인하고 기본 값을 사용한다. 검토 + 만들기를 클릭하고, 유효성 검사가 끝나면 만들기를 클릭한다.

    참고: 스토리지 계정이 만들어질 때까지 기다리십시오. 이 과정은 약 2분 정도 소요됩니다.

  5. 배포 블레이드에서 리소스로 이동을 클릭해 Azure 스토리지 계정 블레이드로 이동한다.

  6. 스토리지 계정 블레이드 설정 섹션의 구성을 클릭한다.

  7. 업그레이드를 클릭해 Storage (범용 v1)StorageV2 (범용 v2) 로 업그레이드 한다.

  8. 스토리지 계정 업그레이드 블레이드에서 업그레이드는 영구적이며 청구 비용이 변경된다는 경고 메시지를 검토한다. 업그레이드 확인 텍스트 박스에 스토리지 계정의 이름을 입력하고 업그레이드를 클릭한다.

    참고: 프로비저닝할 때 StorageV2 (범용 v2) 로 계정을 설정할 수도 있습니다. 기존 범용 v1 계정을 범용 v2로 업그레이드할 수 있는 옵션을 확인하기 위한 실습입니다.

    참고: StorageV2 (범용 v2) 는 범용 v1 계정에서는 제공하지 않는 access tiering(액세스 계층) 등 다양한 기능을 제공합니다.

    참고: 구성 옵션을 검토합니다. 으로 설정된 액세스 계층 (기본값), 표준으로 설정된 성능, Azure 액티브 디렉토리 도메인 서비스가 필요한 파일 공유에 대한 ID 기반 액세스가 있습니다. 액세스 계층에 대한 설정은 바꿀 수 있지만, 성능은 계정을 프로비저닝 하는 단계에서만 설정할 수 있습니다.

  9. 스토리지 계정 블레이드의 설정 섹션에서 지역에서 복제를 클릭하고 보조 지역(secondary location)을 확인한다. 스토리지 엔드포인트 라벨 밑의 모두 보기 링크를 클릭하고, 스토리지 계정 엔드포인트 블레이드를 검토한다.

    참고: 스토리지 계정 엔드포인트 블레이드에서는 기본 엔드포인트와 보조 엔드포인트를 확인할 수 있다.

  10. 스토리지 계정의 구성 블레이드로 돌아간다. 복제 드롭 다운 리스트에서 GRS(지역 중복 스토리지) 를 선택하고 변경 사항을 저장한다.

  11. 지역에서 복제 블레이드로 돌아가서 보조 지역이 여전히 명시되어 있는 것을 확인한다. 스토리지 엔드포인트 라벨 밑의 모두 보기 링크를 클릭하고, 스토리지 계정 엔드포인트 블레이드를 검토한다.

    참고: 이제 스토리지 계정 엔드포인트 블레이드에서는 기본 엔드포인트만 확인할 수 있습니다.

  12. 스토리지 계정의 구성 블레이드로 돌아간다. 복제 드롭다운 리스트에서 LRS(로컬 중복 스토리지) 를 선택하고 변경 사항을 저장한다.

  13. 지역에서 복제 블레이드로 돌아가서, 이번에는 스토리지 계정에 기본 지역만 명시되어 있는 것을 확인한다.

  14. 스토리지 계정의 구성 블레이드로 돌아가서 액세스 계층 (기본)로 설정한다.

    참고: 쿨 액세스 계층은 자주 접근하지 않는 데이터에 적합합니다.

작업 3: Blob 스토리지 관리

이 작업에서는 Blob 컨테이너를 만들고 blob을 업로드합니다.

  1. 스토리지 계정 블레이드에 Blob service 섹션의 컨테이너를 클릭한다.

  2. + 컨테이너를 클릭하고, 다음 설정을 사용한다.

    설정
    이름 az104-07-container
    공용 액세스 수준 프라이빗 (익명 액세스 없음)
  3. 컨테이너 목록에서 az104-07-container를 클릭하고, 업로드를 클릭한다.

  4. 랩 컴퓨터에서 \Allfiles\Module_07\LICENSE를 찾아, 열기를 클릭한다.

  5. Blob 업로드 블레이드에서 고급 섹션을 확장하고 다음 설정을 사용한다.(다른 값은 기본 설정을 사용한다)

    설정
    인증 형식 계정 키
    Blob 유형 블록 Blob
    블록 크기 4 MB
    액세스 계층
    폴더에 업로드 licenses

    참고: 개인 Blob을 위한 액세스 계층을 설정할 수 있습니다.

  6. 업로드를 클릭한다.

    참고: 자동으로 생성된 licenses라는 하위 폴더에 저장됩니다.

  7. az104-07-container 블레이드로 돌아가 licenses를 클릭하고, LICENSE를 클릭힌다.

  8. licenses/LICENSE 블레이드에서 가능한 옵션을 검토한다.

    참고: Blob 다운로드, 액세스 수준 변경(현재 Cool로 설정됨), 임대 수준을 잠금 상태로 바꾸는 임대 가져오기(현재 잠금 해제됨으로 설정됨), 수정이나 삭제로부터 Blob을 보호, 커스텀 메타데이터 할당(임의의 키-값 쌍을 지정) 등 옵션이 있습니다. 다운로드하지 않고 Azure 포털에서 파일을 직접 수정할 수 있습니다. 스냅샷을 만들거나 SAS 토큰을 생성할 수도 있습니다. (이 옵션을 다음 작업에서 검토합니다 )

작업 4: Azure 스토리지에 대한 인증 및 권한 부여 관리

이 작업에서는 Azure 스토리지에 대한 인증 및 권한 부여를 관리합니다.

  1. licenses/LICENSE 블레이드 개요 탭에서 URL 옆의 클립보드로 복사 버튼을 클릭한다.

  2. InPrivate 모드를 사용하여 다른 브라우저 창을 열고 이전 단계에서 복사한 URL로 이동한다.

  3. ResourceNotFound로 시작하는 XML 형식 메시지가 표시되어야 한다.

    참고: 생성한 컨테이너의 공용 액세스 수준을 프라이빗 (익명 액세스 없음) 으로 설정했기 때문입니다.

  4. InPrivate 모드 브라우저 창을 닫고, Azure Storage 컨테이너의 licenses/LICENSE 블레이드로 돌아간다. SAS 생성 탭을 클릭한다.

  5. licenses/LICENSE 블레이드의 SAS 생성 탭에서 다음 설정을 사용한다. (다른 값은 기본 설정을 사용한다)

    설정
    권한 읽기
    시작 날짜 어제 날짜
    시작 시간 현재 시간
    만료 날짜 내일 날짜
    만료 시간 현재 시간
    허용되는 IP 주소 -
    허용되는 프로토콜 HTTP
    서명 키 키 1
  6. SAS 토큰 및 URL 생성을 클릭한다.

  7. Blob SAS URL 주소 옆의 클립보드로 복사 버튼을 클릭한다.

  8. InPrivate 모드를 사용하여 다른 브라우저 창을 열고 이전 단계에서 복사한 URL로 이동한다.

    참고: Microsoft Edge 또는 Internet Explorer를 사용하는 경우 The MIT License (MIT) 페이지가 표시되어야 합니다. Chrome 또는 Firefox를 사용하는 경우 파일을 다운로드하여 메모장으로 열면 파일의 내용을 볼 수 있습니다.

    참고: 새로 생성된 SAS 토큰을 기반으로 액세스 권한이 부여되었으므로 이는 예상된 결과입니다.

    참고: Blob SAS URL을 저장해두십시오. 이 랩의 나중 단계에 사용할 것입니다.

  9. InPrivate 모드 브라우저 창을 닫고, Azure Storage 컨테이너의 licenses/LICENSE 블레이드로 돌아간다. az104-07-container 블레이드를 찾아간다.

  10. 인증 방법 라벨 옆의 Azure AD 사용자 계정으로 전환을 클릭한다.

    참고: 이 시점에서는 더 이상 컨테이너에 접근할 수 없습니다.

  11. az104-07-container 블레이드에서 액세스 제어 (IAM) 를 클릭합니다.

  12. 역할 할당 추가 섹션에서 추가를 클릭합니다.

  13. 역할 할당 추가 블레이드에서 다음 설정을 사용한다.

    설정
    역할 Storage Blob 데이터 소유자
    다음에 대한 액세스 할당 Azure AD 사용자, 그룹, 또는 서비스 보안 주체
    선택 사용자 계정 이름
  14. 변경 사항을 저장하고 az104-07-container개요 블레이드로 돌아간다. 다시 컨테이너에 접근할 수 있는 것을 확인한다.

작업 5: Azure Files 공유 생성 및 구성

이 작업에서는 Azure Files 공유를 생성하고 구성합니다.

참고: 이 작업을 시작하기 전에 이 랩의 첫 번째 작업에서 프로비전한 가상 머신이 작동하고 있는지 확인하십시오.

  1. Azure 포털에서 이 랩의 첫 번째 작업에서 생성한 스토리지 계정의 블레이드를 찾는다. 파일 서비스 섹션에서 파일 공유를 클릭한다.

  2. + 파일 공유를 클릭하고 다음 설정을 사용해 파일 공유를 생성한다.

    설정
    이름 az104-07-share
    할당량 1024
  3. 새로 만든 파일 공유를 클릭하고, 연결을 클릭한다.

  4. 연결 블레이드에서 윈도우 탭이 선택된 것을 확인하고 클립보드로 복사를 클릭한다.

  5. Azure 포털에서 가상 머신을 찾아 선택하고, az104-07-vm0을 클릭한다.

  6. az104-07-vm0 블레이드에서 작업 섹션의 실행 명령을 클릭한다.

  7. az104-07-vm0 - 실행 명령 블레이드에서 RunPowerShellScript를 클릭한다.

  8. 실행 명령 스크립트 블레이드에서, PowerShell 스크립트에 이전 단계에서 복사한 스크립트를 붙여넣기한고 실행을 클릭한다.

  9. 스크립트 실행이 성공했는지 확인한다.

  10. PowerShell 스크립트 창의 콘텐츠를 다음 내용으로 바꾸고 실행을 클릭한다.

    New-Item -Type Directory -Path 'Z:\az104-07-folder'
    
    New-Item -Type File -Path 'Z:\az104-07-folder\az-104-07-file.txt'
    
  11. 스크립트 실행이 성공했는지 확인한다.

  12. az104-07-share 파일 공유 블레이트로 돌아간다. 새로 고침을 클릭하고, 폴더 목록에서 az104-07-folder를 확인한다.

  13. az104-07-folder를 클릭하고, az104-07-file.txt가 파일 목록에 있는지 확인한다.

작업 6: Azure 스토리지에 대한 네트워크 접근 관리

이 작업에서는 Azure 스토리지에 대한 네트워크 접근을 구성합니다.

  1. Azure 포털에서 이 랩의 첫 번째 작업에서 생성한 스토리지 계정의 블레이드를 찾는다. 설정 섹션의 방화벽 및 가상 네트워크를 클릭한다.

  2. 선택한 네트워크 옵션을 클릭하고, 옵션을 허용하면 이용 가능해지는 구성 설정을 검토한다.

    참고: 이 설정을 통해 서비스 엔드포인트를 사용하여 가상 네트워크의 지정된 서브넷에 있는 Azure 가상 머신과 스토리지 계정 간의 직접 연결을 구성할 수 있습니다.

  3. 클라이언트 IP 주소 추가 체크박스를 클릭하고 변경 사항을 저장한다.

  4. Inprivate 모드를 사용하여 다른 브라우저 창을 열고 이전 작업에서 복사한 blob SAS URL로 이동한다.

  5. The MIT License (MIT) 페이지가 표시된다.

    참고: 클라이언트 IP 주소로 연결하고 있으므로 예상된 결과입니다.

  6. InPrivate 모드 브라우저 창을 닫고, Azure 스토리지 컨테이너의 licenses/LICENSE 블레이드로 돌아간다.

  7. Azure 포털에서 오른쪽 위의 아이콘을 클릭하여 Azure Cloud Shell을 시작한다.

  8. Bash 또는 PowerShell을 선택하는 프롬프트 창에서 PowerShell을 선택한다.

  9. Cloud Shell 창에서 다음 명령을 실행하여 스토리지 계정의 az104-07-container 컨테이너로부터 LICENSE Blob을 다운로드한다. ([blob SAS URL] 부분을 이전 작업에서 생성한 blob SAS URL로 대체한다)

    Invoke-WebRequest -URI '[blob SAS URL]'
    
  10. 다운로드에 실패한 것을 확인한다.

    참고: AuthorizationFailure: This request is not authorized to perform this operation 메시지를 확인하십시오. Cloud Shell 인스턴스를 호스팅하는 Azure VM에 할당된 IP 주소에 연결했기 때문에 예상된 결과입니다.

  11. Cloud Shell 창을 닫는다.

리소스 삭제

참고: 사용하지 않는 새로 생성된 Azure 리소스를 제거하십시오. 사용하지 않는 리소스를 제거해야 예상치 못한 비용이 발생하지 않습니다.

  1. Azure 포털에서 Cloud ShellPowerShell 세션을 시작한다.

  2. 다음 명령을 실행하여 이 모듈의 실습에서 생성된 모든 리소스 그룹을 나열한다.

    Get-AzResourceGroup -Name 'az104-07*'
    
  3. 다음 명령을 실행하여 이 모듈의 실습에서 생성한 모든 리소스 그룹을 삭제한다.

    Get-AzResourceGroup -Name 'az104-07*' | Remove-AzResourceGroup -Force -AsJob
    

    참고: 이 명령은 비동기적으로 실행되므로( –nowait 매개 변수로 결정됨) 동일한 PowerShell 세션 내에서 즉시 다른 PowerShell 명령을 실행할 수 있지만, 리소스 그룹이 실제로 제거되기까지는 몇 분 정도 소요됩니다.

요약

이 랩에서 우리는

  • 랩 환경을 프로비전했습니다.
  • Azure 스토리지 계정을 만들고 구성했습니다.
  • Blob 스토리지를 관리했습니다.
  • Azure 스토리지에 대한 인증 및 권한 부여를 관리했습니다.
  • Azure Files 공유를 생성하고 구성했습니다.
  • Azure 스토리지를 위한 네트워크 접근을 관리했습니다.