랩 07 - Azure 스토리지 관리
랩 시나리오
현재 온프레미스 데이터 저장소에 상주하는 파일을 저장하기 위한 Azure 스토리지의 사용을 평가해야 합니다. 대부분의 파일에는 자주 접속하지 않지만, 몇 가지 예외가 있습니다. 액세스 빈도가 낮은 파일을 저가의 스토리지 계층에 배치하여 스토리지 비용을 최소화할 수 있습니다. 또한 네트워크 액세스, 인증, 권한 부여 및 복제를 포함하여 Azure Storage가 제공하는 다양한 보호 메커니즘에 대해서도 살펴보십시오. 마지막으로 Azure Files 서비스가 온프레미스 파일 공유를 호스팅하는 데 얼마나 적합한지 확인하고자 합니다.
목표
이 과정에서, 우리는 다음과 같은 실습을 합니다 :
- 작업 1: 랩 환경 프로비전
- 작업 2: Azure 스토리지 계정 생성 및 구성
- 작업 3: Blob 스토리지 관리
- 작업 4: Azure 스토리지에 대한 인증 및 권한 부여 관리
- 작업 5: Azure Files 공유 생성 및 구성
- 작업 6: Azure 스토리지에 대한 네트워크 접근 관리
설명
작업 1: 랩 환경 프로비전
이 작업에서는 이 랩에서 사용할 Azure 가상 머신을 배포할 것입니다.
-
Azure portal에 로그인한다.
-
Azure 포털 오른쪽 위의 아이콘을 클릭하여 Azure Cloud Shell을 실행한다.
-
Bash 또는 PowerShell을 선택하는 프롬프트 창에서 PowerShell을 선택한다.
참고: Cloud Shell을 처음 실행한 경우, 탑재된 스토리지가 없음 메시지가 표시됩니다. 이 랩에서 사용하고 있는 구독을 선택하고 스토리지 만들기를 클릭하십시오.
-
Cloud Shell 창의 툴바에서 파일 업로드/다운로드 아이콘을 선택한다. 드롭다운 메뉴에서 업로드를 클릭하고, \Allfiles\Module_07\az104-07-vm-template.json 과 \Allfiles\Module_07\az104-07-vm-parameters.json 을 Cloud Shell의 홈 디렉토리에 업로드한다.
-
Cloud Shell 창에서 다음 명령을 실행하여 가상 머신에 호스팅 될 리소스 그룹을 만든다. (
[Azure_region]부분을 Azure 가상 머신을 배포할 Azure region의 이름으로 대체한다)$location = '[Azure_region]' $rgName = 'az104-07-rg0' New-AzResourceGroup -Name $rgName -Location $location -
Cloud Shell 창에서 다음 명령을 실행하여 업로드된 템플릿과 파라미터 파일을 사용해 가상 머신을 배포한다.
New-AzResourceGroupDeployment ` -ResourceGroupName $rgName ` -TemplateFile $HOME/az104-07-vm-template.json ` -TemplateParameterFile $HOME/az104-07-vm-parameters.json ` -AsJob참고: 배포가 끝날 때까지 기다리지 않고 다음 작업을 진행합니다.
-
Cloud Shell 창을 닫는다.
작업 2: Azure 스토리지 계정 생성 및 구성
이 작업에서는 Azure 스토리지 계정을 만들고 구성합니다.
-
Azure 포털에서 스토리지 계정을 검색하고 선택한다. + 추가를 클릭한다.
-
스토리지 계정 만들기 블레이드의 기본 사항 탭을 다음과 같이 설정한다. (다른 값은 기본 설정을 사용한다)
설정 값 구독 이 랩에서 사용할 Azure 구독의 이름 리소스 그룹 새로만들기 az104-07-rg1 스토리지 계정 이름 문자와 숫자로 구성된 고유한 이름 (3~24 글자) 위치 Azure 스토리지를 만들 수 있는 Azure region 이름 성능 표준 계정 종류 Storage (범용 v1) 복제 RA-GRS(읽기 액세스 지역 중복 스토리지) -
다음: 네트워킹 > 을 클릭한다. 스토리지 계정 만들기 블레이드의 네트워킹 탭에서 가능한 옵션을 검토하고 기본 값인 공용 엔드포인트 (모든 네트워크) 를 사용한다. 다음: 고급 > 을 클릭한다.
-
스토리지 계정 만들기 블레이드의 고급 탭에서 가능한 옵션을 확인하고 기본 값을 사용한다. 검토 + 만들기를 클릭하고, 유효성 검사가 끝나면 만들기를 클릭한다.
참고: 스토리지 계정이 만들어질 때까지 기다리십시오. 이 과정은 약 2분 정도 소요됩니다.
-
배포 블레이드에서 리소스로 이동을 클릭해 Azure 스토리지 계정 블레이드로 이동한다.
-
스토리지 계정 블레이드 설정 섹션의 구성을 클릭한다.
-
업그레이드를 클릭해 Storage (범용 v1) 를 StorageV2 (범용 v2) 로 업그레이드 한다.
-
스토리지 계정 업그레이드 블레이드에서 업그레이드는 영구적이며 청구 비용이 변경된다는 경고 메시지를 검토한다. 업그레이드 확인 텍스트 박스에 스토리지 계정의 이름을 입력하고 업그레이드를 클릭한다.
참고: 프로비저닝할 때 StorageV2 (범용 v2) 로 계정을 설정할 수도 있습니다. 기존 범용 v1 계정을 범용 v2로 업그레이드할 수 있는 옵션을 확인하기 위한 실습입니다.
참고: StorageV2 (범용 v2) 는 범용 v1 계정에서는 제공하지 않는 access tiering(액세스 계층) 등 다양한 기능을 제공합니다.
참고: 구성 옵션을 검토합니다. 핫으로 설정된 액세스 계층 (기본값), 표준으로 설정된 성능, Azure 액티브 디렉토리 도메인 서비스가 필요한 파일 공유에 대한 ID 기반 액세스가 있습니다. 액세스 계층에 대한 설정은 바꿀 수 있지만, 성능은 계정을 프로비저닝 하는 단계에서만 설정할 수 있습니다.
-
스토리지 계정 블레이드의 설정 섹션에서 지역에서 복제를 클릭하고 보조 지역(secondary location)을 확인한다. 스토리지 엔드포인트 라벨 밑의 모두 보기 링크를 클릭하고, 스토리지 계정 엔드포인트 블레이드를 검토한다.
참고: 스토리지 계정 엔드포인트 블레이드에서는 기본 엔드포인트와 보조 엔드포인트를 확인할 수 있다.
-
스토리지 계정의 구성 블레이드로 돌아간다. 복제 드롭 다운 리스트에서 GRS(지역 중복 스토리지) 를 선택하고 변경 사항을 저장한다.
-
지역에서 복제 블레이드로 돌아가서 보조 지역이 여전히 명시되어 있는 것을 확인한다. 스토리지 엔드포인트 라벨 밑의 모두 보기 링크를 클릭하고, 스토리지 계정 엔드포인트 블레이드를 검토한다.
참고: 이제 스토리지 계정 엔드포인트 블레이드에서는 기본 엔드포인트만 확인할 수 있습니다.
-
스토리지 계정의 구성 블레이드로 돌아간다. 복제 드롭다운 리스트에서 LRS(로컬 중복 스토리지) 를 선택하고 변경 사항을 저장한다.
-
지역에서 복제 블레이드로 돌아가서, 이번에는 스토리지 계정에 기본 지역만 명시되어 있는 것을 확인한다.
-
스토리지 계정의 구성 블레이드로 돌아가서 액세스 계층 (기본) 을 쿨로 설정한다.
참고: 쿨 액세스 계층은 자주 접근하지 않는 데이터에 적합합니다.
작업 3: Blob 스토리지 관리
이 작업에서는 Blob 컨테이너를 만들고 blob을 업로드합니다.
-
스토리지 계정 블레이드에 Blob service 섹션의 컨테이너를 클릭한다.
-
+ 컨테이너를 클릭하고, 다음 설정을 사용한다.
설정 값 이름 az104-07-container 공용 액세스 수준 프라이빗 (익명 액세스 없음) -
컨테이너 목록에서 az104-07-container를 클릭하고, 업로드를 클릭한다.
-
랩 컴퓨터에서 \Allfiles\Module_07\LICENSE를 찾아, 열기를 클릭한다.
-
Blob 업로드 블레이드에서 고급 섹션을 확장하고 다음 설정을 사용한다.(다른 값은 기본 설정을 사용한다)
설정 값 인증 형식 계정 키 Blob 유형 블록 Blob 블록 크기 4 MB 액세스 계층 핫 폴더에 업로드 licenses 참고: 개인 Blob을 위한 액세스 계층을 설정할 수 있습니다.
-
업로드를 클릭한다.
참고: 자동으로 생성된 licenses라는 하위 폴더에 저장됩니다.
-
az104-07-container 블레이드로 돌아가 licenses를 클릭하고, LICENSE를 클릭힌다.
-
licenses/LICENSE 블레이드에서 가능한 옵션을 검토한다.
참고: Blob 다운로드, 액세스 수준 변경(현재 Cool로 설정됨), 임대 수준을 잠금 상태로 바꾸는 임대 가져오기(현재 잠금 해제됨으로 설정됨), 수정이나 삭제로부터 Blob을 보호, 커스텀 메타데이터 할당(임의의 키-값 쌍을 지정) 등 옵션이 있습니다. 다운로드하지 않고 Azure 포털에서 파일을 직접 수정할 수 있습니다. 스냅샷을 만들거나 SAS 토큰을 생성할 수도 있습니다. (이 옵션을 다음 작업에서 검토합니다 )
작업 4: Azure 스토리지에 대한 인증 및 권한 부여 관리
이 작업에서는 Azure 스토리지에 대한 인증 및 권한 부여를 관리합니다.
-
licenses/LICENSE 블레이드 개요 탭에서 URL 옆의 클립보드로 복사 버튼을 클릭한다.
-
InPrivate 모드를 사용하여 다른 브라우저 창을 열고 이전 단계에서 복사한 URL로 이동한다.
-
ResourceNotFound로 시작하는 XML 형식 메시지가 표시되어야 한다.
참고: 생성한 컨테이너의 공용 액세스 수준을 프라이빗 (익명 액세스 없음) 으로 설정했기 때문입니다.
-
InPrivate 모드 브라우저 창을 닫고, Azure Storage 컨테이너의 licenses/LICENSE 블레이드로 돌아간다. SAS 생성 탭을 클릭한다.
-
licenses/LICENSE 블레이드의 SAS 생성 탭에서 다음 설정을 사용한다. (다른 값은 기본 설정을 사용한다)
설정 값 권한 읽기 시작 날짜 어제 날짜 시작 시간 현재 시간 만료 날짜 내일 날짜 만료 시간 현재 시간 허용되는 IP 주소 - 허용되는 프로토콜 HTTP 서명 키 키 1 -
SAS 토큰 및 URL 생성을 클릭한다.
-
Blob SAS URL 주소 옆의 클립보드로 복사 버튼을 클릭한다.
-
InPrivate 모드를 사용하여 다른 브라우저 창을 열고 이전 단계에서 복사한 URL로 이동한다.
참고: Microsoft Edge 또는 Internet Explorer를 사용하는 경우 The MIT License (MIT) 페이지가 표시되어야 합니다. Chrome 또는 Firefox를 사용하는 경우 파일을 다운로드하여 메모장으로 열면 파일의 내용을 볼 수 있습니다.
참고: 새로 생성된 SAS 토큰을 기반으로 액세스 권한이 부여되었으므로 이는 예상된 결과입니다.
참고: Blob SAS URL을 저장해두십시오. 이 랩의 나중 단계에 사용할 것입니다.
-
InPrivate 모드 브라우저 창을 닫고, Azure Storage 컨테이너의 licenses/LICENSE 블레이드로 돌아간다. az104-07-container 블레이드를 찾아간다.
-
인증 방법 라벨 옆의 Azure AD 사용자 계정으로 전환을 클릭한다.
참고: 이 시점에서는 더 이상 컨테이너에 접근할 수 없습니다.
-
az104-07-container 블레이드에서 액세스 제어 (IAM) 를 클릭합니다.
-
역할 할당 추가 섹션에서 추가를 클릭합니다.
-
역할 할당 추가 블레이드에서 다음 설정을 사용한다.
설정 값 역할 Storage Blob 데이터 소유자 다음에 대한 액세스 할당 Azure AD 사용자, 그룹, 또는 서비스 보안 주체 선택 사용자 계정 이름 -
변경 사항을 저장하고 az104-07-container의 개요 블레이드로 돌아간다. 다시 컨테이너에 접근할 수 있는 것을 확인한다.
작업 5: Azure Files 공유 생성 및 구성
이 작업에서는 Azure Files 공유를 생성하고 구성합니다.
참고: 이 작업을 시작하기 전에 이 랩의 첫 번째 작업에서 프로비전한 가상 머신이 작동하고 있는지 확인하십시오.
-
Azure 포털에서 이 랩의 첫 번째 작업에서 생성한 스토리지 계정의 블레이드를 찾는다. 파일 서비스 섹션에서 파일 공유를 클릭한다.
-
+ 파일 공유를 클릭하고 다음 설정을 사용해 파일 공유를 생성한다.
설정 값 이름 az104-07-share 할당량 1024 -
새로 만든 파일 공유를 클릭하고, 연결을 클릭한다.
-
연결 블레이드에서 윈도우 탭이 선택된 것을 확인하고 클립보드로 복사를 클릭한다.
-
Azure 포털에서 가상 머신을 찾아 선택하고, az104-07-vm0을 클릭한다.
-
az104-07-vm0 블레이드에서 작업 섹션의 실행 명령을 클릭한다.
-
az104-07-vm0 - 실행 명령 블레이드에서 RunPowerShellScript를 클릭한다.
-
실행 명령 스크립트 블레이드에서, PowerShell 스크립트에 이전 단계에서 복사한 스크립트를 붙여넣기한고 실행을 클릭한다.
-
스크립트 실행이 성공했는지 확인한다.
-
PowerShell 스크립트 창의 콘텐츠를 다음 내용으로 바꾸고 실행을 클릭한다.
New-Item -Type Directory -Path 'Z:\az104-07-folder' New-Item -Type File -Path 'Z:\az104-07-folder\az-104-07-file.txt' -
스크립트 실행이 성공했는지 확인한다.
-
az104-07-share 파일 공유 블레이트로 돌아간다. 새로 고침을 클릭하고, 폴더 목록에서 az104-07-folder를 확인한다.
-
az104-07-folder를 클릭하고, az104-07-file.txt가 파일 목록에 있는지 확인한다.
작업 6: Azure 스토리지에 대한 네트워크 접근 관리
이 작업에서는 Azure 스토리지에 대한 네트워크 접근을 구성합니다.
-
Azure 포털에서 이 랩의 첫 번째 작업에서 생성한 스토리지 계정의 블레이드를 찾는다. 설정 섹션의 방화벽 및 가상 네트워크를 클릭한다.
-
선택한 네트워크 옵션을 클릭하고, 옵션을 허용하면 이용 가능해지는 구성 설정을 검토한다.
참고: 이 설정을 통해 서비스 엔드포인트를 사용하여 가상 네트워크의 지정된 서브넷에 있는 Azure 가상 머신과 스토리지 계정 간의 직접 연결을 구성할 수 있습니다.
-
클라이언트 IP 주소 추가 체크박스를 클릭하고 변경 사항을 저장한다.
-
Inprivate 모드를 사용하여 다른 브라우저 창을 열고 이전 작업에서 복사한 blob SAS URL로 이동한다.
-
The MIT License (MIT) 페이지가 표시된다.
참고: 클라이언트 IP 주소로 연결하고 있으므로 예상된 결과입니다.
-
InPrivate 모드 브라우저 창을 닫고, Azure 스토리지 컨테이너의 licenses/LICENSE 블레이드로 돌아간다.
-
Azure 포털에서 오른쪽 위의 아이콘을 클릭하여 Azure Cloud Shell을 시작한다.
-
Bash 또는 PowerShell을 선택하는 프롬프트 창에서 PowerShell을 선택한다.
-
Cloud Shell 창에서 다음 명령을 실행하여 스토리지 계정의 az104-07-container 컨테이너로부터 LICENSE Blob을 다운로드한다. (
[blob SAS URL]부분을 이전 작업에서 생성한 blob SAS URL로 대체한다)Invoke-WebRequest -URI '[blob SAS URL]' -
다운로드에 실패한 것을 확인한다.
참고: AuthorizationFailure: This request is not authorized to perform this operation 메시지를 확인하십시오. Cloud Shell 인스턴스를 호스팅하는 Azure VM에 할당된 IP 주소에 연결했기 때문에 예상된 결과입니다.
-
Cloud Shell 창을 닫는다.
리소스 삭제
참고: 사용하지 않는 새로 생성된 Azure 리소스를 제거하십시오. 사용하지 않는 리소스를 제거해야 예상치 못한 비용이 발생하지 않습니다.
-
Azure 포털에서 Cloud Shell의 PowerShell 세션을 시작한다.
-
다음 명령을 실행하여 이 모듈의 실습에서 생성된 모든 리소스 그룹을 나열한다.
Get-AzResourceGroup -Name 'az104-07*' -
다음 명령을 실행하여 이 모듈의 실습에서 생성한 모든 리소스 그룹을 삭제한다.
Get-AzResourceGroup -Name 'az104-07*' | Remove-AzResourceGroup -Force -AsJob참고: 이 명령은 비동기적으로 실행되므로( –nowait 매개 변수로 결정됨) 동일한 PowerShell 세션 내에서 즉시 다른 PowerShell 명령을 실행할 수 있지만, 리소스 그룹이 실제로 제거되기까지는 몇 분 정도 소요됩니다.
요약
이 랩에서 우리는
- 랩 환경을 프로비전했습니다.
- Azure 스토리지 계정을 만들고 구성했습니다.
- Blob 스토리지를 관리했습니다.
- Azure 스토리지에 대한 인증 및 권한 부여를 관리했습니다.
- Azure Files 공유를 생성하고 구성했습니다.
- Azure 스토리지를 위한 네트워크 접근을 관리했습니다.