2017.04.21 23:30 Azure

이번에 진행할 내용은 Azure에서 VM으로 만든 SQL Server DB Backup 입니다.

 

DB 백업은 여러가지 방법이 있습니다.

회사의 정책이나 DB Data의 중요도 등에 따라 결정 되기도 하고 중요한 경우 Failover Cluster도 만들어 장애조치를 하기도 합니다.

 

제일 좋지 않은 Backup 방법이 로컬하드디스크에 bak 파일을 만드는 방법이라고 보는데 이유는 말씀드리지 않아도 잘 알고 계시리라고 생각 합니다. 제일 쉽기 때문에 많이 사용하지만 보안성이나 안전성 면에서는 불안 요소가 있는 방법입니다.

 

그런데 DB Backup 파일을 자동으로 다른 스토리지에 안전하게 옮긴다면 어떨까요?

 

Microsoft에서 배포한 프로그램중 SQLBackup2Azure 라는 프로그램이 있습니다.

(https://www.microsoft.com/ko-kr/download/details.aspx?id=40740 에서 다운로드를 받을 수 있습니다.)

 

이프로그램을 이용하면 SQL Server의 로컬 하드디스크에 만들어진 DB Backup 파일을 Azure 스토리지로 암호화/압축 하여 옮겨줍니다.

다른 지역에 있는 스토리지로도 옮길 수 있으니 IDC 전체에 문제가 생겼을 경우 마음 고생을 덜 할 수 있을거라고 봅니다. (Backup 완료 시간 부터 장애 발생 시점 사이의 데이타는 유실되겠지만요.)

 

1. 우선 SQL Server Management Studio에서 백업 Job을 만듭니다. 방법은 다아실테니 이 단계는 넘어가겠습니다.

매일 오전 3시에 로컬 디스크의 특정 폴더에 *.bak DB를 백업하게 설정을 합니다.


2.
위 링크에서 다운로드한 프로그램을 해당 SQL Server에 설치 합니다.

 

2-1. 설치가 되었으면 실행해서 첫번째 단계에 필요한 내용을 입력 합니다.

DB Backup 파일이 저장되는 path pattern을 입력 하고 다음 단계로 넘어갑니다.


 

2-2. Storage account name, Access Key, Container 정보를 입력하고 Vetify account를 클릭하여 계정확인 절차를 진행 합니다

(어떤 이유에서인지 가끔 계정 확인 오류가 발생하기도 합니다. 그럴때는 다시 클릭해보세요.)

Storage account name에는 Azure 저장소 계정에서 만든 저장소 명을 입력합니다. SQL Server VM이 위치한 곳과 다른 지역에 있어도 상관 없습니다.

Access Key는 해당 저장소의 액세스 키 값을 입력합니다.

Container는 백업 파일들이 옮겨질 스토리지의 컨테이너(폴더) 이름을 입력 합니다.


 

2-3. 3번째 단계는 SQL Server Management Studio가 만든 백업 파일을 이동할때 암호화 여부와 압축 여부를 선택하는 단계 입니다.

필요하면 두 설정 모두 해두는 것이 좋습니다. 설정이 모두 끝났으니 설정을 마칩니다.



3. 백업과 Azure 스토리지로 이동이 잘되는지 SQL Server Management Studio에서 Job을 실행 시켜 봅니다.

 



4. 백업이 완료되어 해당 스토리지로 파일이 이동이 되었으면 백업 폴더에는 관련 로그만 남습니다.


5. Azure 저장소에 백업이 잘 되었는지 확인해봅니다.

 

6. Good Job!

 

7. 가끔 패치 후 서버가 재부팅을 하면 Backup이 실행되지 않거나 서비스에서 SQLBackup2Azure 관련 프로세스가 중지되어 있는 경우가 발생 합니다. 그러면 Agent를 실행 하고, 프로세스를 실행하면 됩니다.

 

참 쉽죠?














저작자 표시 동일 조건 변경 허락
신고
Posted by 얼음무지개

댓글을 달아 주세요

  1. 2017.08.20 13:23  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

2017.02.24 21:00 Azure

CDN에 대한 이야기를 하나 더 하겠습니다.

 

이전 포스팅에서 CDN의 장점에 대해서 알아 봤는데요.

 

이리저리 따져 봐도 제일 좋은 점은 전세계에 흩어져 있는 POP에서 컨텐츠를 배포하기 때문에

클라이언트 입장에서는 가장 가까운 POP에서 컨텐츠를 받아오므로 속도도 빠르고 서버에도 부하를 적게 준다는 점입니다.

 

하지만 클라이언트 입장에서 POP에 첫 요청의 경우에는 캐시된 컨텐츠가 없기 때문에 원본이 있는 곳에서 받아와야 합니다그래서 첫 요청을 하는 클라이언트는 약간의 손해(?)를 보게 됩니다.

이를 방지 하기 위한 방법이 있는데

이것을 "CDN 끝점에 미리 로드" 정도라고 하겠습니다.

 

끝점에 컨텐츠를 미리 로드해 두면 대규모 이벤트에 무척 유용기 때문에 즐겨 사용하는 방법입니다.

 

제일 쉬운 방법은 Azure 포탈에서 적용하는 방법입니다.

 

CDN 프로필의 끝점 메뉴에 있는 "로드" 를 클릭 합니다.


 

Path 영역에 미리 로드하려는 컨텐츠의 정보를 입력 합니다.

정규식에 맞는 URL이어야 하며 와일드카드는 사용하지 못합니다.


 

"로드" 를 클릭 하고


 

요청이 완료될때까지 잠시 기다립니다.


 

1분쯤 기다리면 요청이 완료 됩니다.


 


, 제약 사항이 있는데요.

- Verizon Azure CDN 제품(표준 및 프리미엄)만 가능 하며
  아직 Akamai Azure CDN에서 지원되지 않습니다.

- 로드 요청은 CDN 프로필별로 분당 10개로 제한됩니다.


이렇게 미리 컨텐츠를 로드해 두면 무조건 클라이언트 주변의 가까운 POP에서 컨텐츠를 받아 오기 때문에 첫번째 적중 대기 시간이 발생하지 않게 됩니다.








저작자 표시 동일 조건 변경 허락
신고
Posted by 얼음무지개

댓글을 달아 주세요

  1. 2017.03.19 21:26  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

2017.02.07 23:00 Azure

이전 포스팅에서 Azure Storage를 만들어 컨테이너를 만들고 이미지 파일을 업로드하여 브라우저에서 잘 보이는지 확인하였습니다.

 

이번에는 지난번에 만든 스토리지를 CDN에 연결 시키는 작업을 하려고 합니다.

 

우선 CDN 가격 정책은 3가지로 구분되어 있습니다. (17 1월 기준)

 

표준은 Verizon Akamai를 사용할 수 있으며 1GB당 최소 104원이며

프리미엄은 Verizon만 사용 가능하며 1GB당 최소 204원 입니다.

당연히 프리미엄이 더 다양한 분석과 규칙을 적용할 수 있으며 실시간 분석이 가능하다는 장점도 있습니다1TB당 최소 10만원 차이이니 기업 사용자는 다양한 분석이 가능한 제품을 사용하는 것이 좋지 않을까 생각됩니다.

 

자 이제 CDN을 연결하러 가볼까요.

 

Azure 포탈에서 CDN 프로필로 들어가 추가를 합니다.

 


CDN
프로필 의 각 영역에 값을 채워 넣고 만들기를 클릭 합니다.


CDN
이 프로필이 만들어 졌습니다.



개요에서 끝점을 클릭하여 끝점을 추가 합니다.

여기에서 이전에 만들어 놓았던 스토리지를 연결합니다.


 

1) 이미지 파일을 하나의 폴더에서 관리한다면 "원본 경로"에 해당 이미지 폴더를 입력하여 고정 시켜 놓는 것이 편합니다.

   이경우 이미지 파일의 경로는 icerainbow.azureedge.net/이미지파일 이 됩니다.

2) 이미지를 넣어서 관리할 폴더가 여러개일 경우라면 원본 경로를 지정하지 않아야 합니다.

   (아니면 폴더마다 1)의 방법으로 폴더마다 끝점을 만들어서 운영하면 됩니다.)

   이경우 이미지 파일의 경로는 icerainbow.azureedge.net/폴더명/이미지파일 이 됩니다.

 

끝점을 만들고 있습니다. 잠시 기다리면


 

끝점이 만들어졌네요.


 

끝점이 만들어 지더라도 바로 사용할 수 없고 90분을 기다려야 합니다.

(아마도 전세계에 흩어져 있는 POP에 해당 사항을 업데이트 하는데 필요한 시간인것 같습니다.)


 

90분이 지나서 끝점에 있는 이미지 파일을 브라우저에서 열어보면 잘 열리는 것을 확인할 수 있습니다.

html 소스는 이렇게 됩니다.

<img src="https://icerainbow.azureedge.net/icerainbow1.png">


 

사용자 지정 도메인은 위의 내용과 같이 이미지 파일이 있는 도메인이 표시되는 것보다 여러가지 이유로 인하여 그 회사의 도메인 또는 서브 도메인을 사용하고 싶을때 사용 합니다

예를 들면 www.icerainbow.com 을 소유하고 있는데 cdn.icerainbow.com 과 같은 사용자 지정 도메인을 사용하려고 한다면 적용할 수 있는 방법입니다.


 

, 아직 https를 지원하지 않습니다. (17 1월 기준)


 


종합해서 이미지 기준의
html 코드로 설명 드리면 이렇습니다.

 

1) 웹서버 로컬 하드디스크에 이미지 파일이 있을 경우

   <img src="/images/icerainbow01.png">

2) Azure 스토리지에 image 폴더를 만들고 그안에 이미지 파일이 있을 경우

   <img src="https://icerainbowimage.blob.core.windows.net/image/icerainbow1.png">

3) CDN 프로필을 생성하고 끝점을 Azure 스토리지의 image 폴더를 원본 경로로 지정했을 경우

   <img src="https://icerainbow.azureedge.net/icerainbow1.png">

4) 사용자 지정 도메인을 사용할 경우.

   <img src="http://사용자지정도메인/icerainbow1.png">


 

이렇게 됩니다.

 

각각의 상황별로 장단점이 있으니 적절한 환경에 따라 선택해서 사용하면 되겠습니다.

가능하다면 CDN을 사용해보세요. (소근소근~)













 


저작자 표시 동일 조건 변경 허락
신고
Posted by 얼음무지개

댓글을 달아 주세요

2016.08.31 23:00 Azure

Microsoft Azure로 사이트를 운영하면서 최근에 경험했던 일중 몇개의 케이스들을 시나리오를 만들어서 작성해 보려고 합니다.


그중 첫번째 케이스 시작 합니다.


케이스

Azure 구포탈 A지역에 만들어 운영하는 웹서비스를 Azure 신포탈의 B지역으로 이전하려고 합니다.  (이후 내용에서는 A지역=동남아시아, B지역=서일본 으로 설명 됩니다.)


* 실제 서비스를 보여드릴 수 없으니 실제 상황보다 축소하여 이해할 수 있을 정도로 진행하며, 몇번에 걸쳐 여러가지 해야할 일들을 포스팅 한 후 마지막에 정리하도록 합니다.


* 이 케이스를 진행하게 되면서 몇 가지 제한 상황을 겪게 됩니다. 그 제한 상황에 대해서는 해당 포스팅이 진행될때 같이 설명을 하는것으로 하겠습니다.


자 시작해 볼까요. 


일이 생겼습니다. 이런 저런 이유로 동남아시아에서 운영하고 있는 서비스를 일본서부로 이전을 해야하고 Azure 포탈도 구포탈에서 신포탈로 이전해야 합니다. (구포탈에서 만들어진 VM들이 신포탈에서 안보이는건 아닙니다만 여러가지 제한이 있습니다.)


이일은 구포탈의 VM을 신포탈로 이전하는 것과 거의 흡사한 상황입니다. 검색해 보면 많은 글들이 나오고 몇줄의 파워쉘 코드로 쉽게 이전 가능한 것처럼 보이지만 실제로 해보면 전후 관계를 잘 알아야 하고 파워쉘 코드는 툭하면 빨간색 오류를 사용자에게 뿌려 대기도 합니다. 잘 아시는 분 입장에서는 별거 아니지만 처음 진행할때 겪게되는 각종 오류때문에 머리가 지끈지끈 아파 옵니다. 잘 아는 분의 도움 받기도 어렵고 대부분의 블로그 포스팅된 글들은 크게 도움되지 않기도 합니다. 


이제 크게 도움이될 블로그 글을 작성해보도록 하겠습니다.



1. 현재 상황

구포탈에서 운영하고 있는 VM 입니다.


구포탈에서 운영하고 있는 스토리지 입니다. 이 스토리지 안에 VM의 VHD 파일들이 있습니다.


이미지에서 보는 것처럼 "동남아시아"에서 운영하고 있는 서버 이며 크기는 "Standard_A1", "icerainbowstorage" 저장소에 VHD 파일이 들어 있습니다. (따옴표 안의 내용은 사용자에 따라 모두 다를 수 있습니다.) 


이 VHD 파일을 일본 서부에 있는 스토리지로 복사해오려고 합니다.



2. AzCopy 설치

VHD 파일을 복사 하는 여러 방법이 있는데 이중에 AzCopy.exe를 이용하여 동남아시아의 스토리지에서 일본서부의 스토리지로 복사해올겁니다.


AzCopy.exe 는 PC에 기본으로 설치되어 있지 않습니다. 아래 사이트에서 프로그램을 받아서 설치를 진행 합니다.

https://azure.microsoft.com/ko-kr/documentation/articles/storage-use-azcopy/



보통 설치는 아래 폴더에 설치 됩니다.


C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy


AzCopy가 다 설치 되었으면 도스창을 열고 해당 폴더로 이동 합니다.



3.  AzCopy를 이용하여 Azure 스토리지간 VHD 파일 복사를 위한 구문

동아시아에 있는 파일을 서일본으로 복사해 오려는데, AzCopy를 설치 했던 사이트에 보면 해당 구문이 설명되어 있습니다.



 AzCopy /Source:<source> /Dest:<destination> [Options]



매우 쉽죠? 


하지만 <source>, <destination>, [Options] 에 무엇을 어떻게 작성해야 할지 난감합니다. 그 아래줄을 읽어 보면 이에 대한 자세한 설명이 나오지만 보통은 메뉴얼은 잘 읽지 않기 때문에 처음부터 짜증이 나기 시작할겁니다. 짜증을 잠시 멈추고 조금 더 아래 내용을 보면 


보조 지역에서 주 지역으로 단일 Blob 복사 부분이 나옵니다.


구문은 



 AzCopy /Source:https://myaccount1-secondary.blob.core.windows.net/mynewcontainer1 /Dest:https://myaccount2.blob.core.windows.net/mynewcontainer2 /SourceKey:key1 /DestKey:key2 /Pattern:abc.txt 



로 되어 있네요.



간단하게 설명을 하자면 (물론 이 내용도 읽지 않는 다면...)

/source: 원본 VHD 파일의 위치 입니다. (설명상 동남아시아에 있는 스토리지의 위치)

/destination: 목적지에 VHD가 들어갈 위치 입니다. (설명상 서일본에 있는 스토리지의 위치)

/SourceKey: 원본 저장소 엑세스 키 값이 들어 갑니다.

/DestKey: 목적지 저장소 엑세스 키 값이 들어 갑니다.

/Pattern: 복사할 파일 이름을 적습니다.


이제 여기에 들어갈 값들을 정리해보겠습니다.

/source: 아래 이미지의 URL 에서 path만 적습니다.


/destination: 아래 이미지의 컨테이너 URL 입니다.


/SourceKey: 아래 이미지의 기본 엑세스 키를 복사/붙이기 합니다.


/DestKey: 아래 이미지의 기본 엑세스 키를 복사/붙이기 합니다.


/Pattern: 아래 이미지의 VHD 파일 전체 이름 입니다.


그러면 구문을 완성해 볼까요?



이렇게 구문이 만들어 졌습니다. (엑세스 키 값은 보안상 이유로 X또는 Z로 표기했습니다.)

*구문은 한줄 입니다. 중간 중간 옵션 전에 빈칸 하나씩 넣어 줍니다.



AzCopy.exe /Source:https://icerainbowstorage.blob.core.windows.net/vhds /Dest:https://icerainbowbox.blob.core.windows.net/backup /SourceKey:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX /DestKey:ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ /Pattern:"icerainbow-icerainbow-01-2016-08-29.vhd"

 



4. AzCopy로 복사하기


열었놓았던 도스창에서 해당 구분을 실행 합니다.


복사 완료까지 대략 15분 ~ 20분이 소요됩니다.

* 주의 : 네트워크 비용이 발생 합니다. (계약된 상황에 따라 다릅니다만 127GB VHD 파일을 하나 복사하면 몇천원? 정도의 네트워크 비용이 발생 될 수 있습니다.)


다음 포스팅에 언급이 되겠지만 여러가지 이유로 복사해올 VHD 파일이 상황에 따라 다를 수 있습니다. 그래서 사전에 필요한 VHD 파일을 어떻게 만들어야 할지 고민을 해야 합니다. 이 고민 없이 무조건 복사를 진행 하면 여러번 복사할 일이 생기고 비용과 시간이 발생하게 됩니다.


복사가 끝났네요.


잘 들어 왔는지 신포탈의 스토리지로 가서 확인해 보겠습니다.


이미지에 나온것 처럼 잘 복사가 되었네요.


조금 쉽게 설명하다 보니 이미지와 글이 길어졌는데 쓰다가 귀찮으면 대충대충 적을것 같습니다만 최대한 쉽게 적어 보도록 하겠습니다.


다음 포스팅에서는 복사해온 VHD 파일로 신포탈에서 VM을 만들면서 겪게 되는 여러가지 상황에 대해서 적어 보도록 하겠습니다. 이 내용은 2~3회로 나뉘어 올라갈 것 같습니다.


간만에 포스팅 작성하려니 쉽지 않네요.



저작자 표시 동일 조건 변경 허락
신고
Posted by 얼음무지개
 TAG azcopy, Azure, 애저

댓글을 달아 주세요

이전버튼 1 이전버튼

블로그 이미지
얼음무지개
free counters

글 보관함


티스토리 툴바