Windows Azure VM Role을 이용하여 Base Image를 최초로 만들 때 가장 많이 시행 착오를 겪는 부분 중에 하나는 초기 Base Image의 VHD 파일 크기를 정확히 알지 못하고 만들어서 나중에 되돌릴 수 없게 되는 경우이며, 사실 가장 불편한 부분이기도 합니다. 이러한 문제를 사전에 예방할 수 있도록 도움을 드리기 위하여, 개인적으로 이러한 Base Image VHD 파일들을 템플릿으로 만들어서 공유합니다.

업로드한 이미지 파일들은 Master Boot Record (MBR) 영역을 차지하도록 만들어진 단일 NTFS Primary Partition을 가지도록 포맷되었으며, 곧바로 설치에 쓰일 수 있도록 구성되어있습니다.

위의 파일들은 모두 RAR 형식으로 최고 압축률을 사용하여 압축하도록 만들어진 파일들로, 압축 해제를 위해서는 WinRAR 또는 최신 버전의 RAR 유틸리티가 필요하며, 압축을 해제하려면 파일을 저장할 파티션의 잔여 공간이 VHD 파일을 포함하여 충분한 공간이 남아있어야 합니다.

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

안녕하세요. C# MVP 남정현입니다. 그동안 제 블로그를 통하여 6번에 걸쳐 연재되었던 Windows Azure VM Role 미리 보기 시리즈를 하나의 e-Book으로 묶어서 Windows Live SkyDrive에 공개합니다. 편의를 위하여, PDF, XPS, DOCX 파일 형식으로 제공하며, RAR 파일 안에 RTF 파일로도 제공합니다. 아래 URL에서 다운로드 가능합니다.

http://cid-318484c5aad6b73d.office.live.com/browse.aspx/rkttu.com%20Documents/VM%20Role%20%eb%af%b8%eb%a6%ac%20%eb%b3%b4%ea%b8%b0?uc=4

아래 목록은 Windows Azure VM Role 미리 보기 글들입니다.

감사합니다.

저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

VM Role 관리하기 - 차이점 보관 디스크 만들기

VM Role을 성공적으로 클라우드에 출판했지만 이제 마지막으로 걱정거리가 하나 남습니다. 새로운 기능을 추가할 때나 소프트웨어를 추가하는 일은 너무나 당연한 일입니다. 그런데 VM이 자동으로 증식할 때 마다 원격으로 들어가서 매번 새롭게 VM을 고쳐야 하는 것일까요? 아니면 매번 덩치 큰 이미지를 올리기 위해서 퇴근도 못하고 기다려야 하는 것일까요? 그렇지 않습니다.

차이점 보관 디스크라고 번역되었고, 영문 버전에서는 Differencing Disk로 불리는 기능을 사용하면 문제를 간단하게 해결하고 시간도 절약할 수 있습니다. 덤으로, 버전 관리의 혜택까지 얻을 수 있으므로 훨씬 실리적이지요. 차이점 보관 디스크를 부모 디스크로부터 만들고, CSUPLOAD 도구를 이용하여 차이점 보관 디스크 이미지 파일을 올릴 때 원격지에 게시된 부모 디스크 이름을 정확히 지정하여 관계를 설정하고, Visual Studio 없이 관리 콘솔 상에서 환경 설정 파일만 편집하면 쉽게 업데이트할 수 있습니다. 만약 여러 벌의 차이점 보관 디스크를 미리 올려 놓았다면 당연히 선택적으로 여러분이 원하는 상태의 이미지를 기준으로 상태를 전환할 수 있으므로 언제나 안정적인 시스템 상태를 유지할 수도 있습니다.

이제부터 작업 과정을 한 단계씩 살펴보기로 하겠습니다.

1. 시작 메뉴의 관리 도구 메뉴를 통하여 Hyper-V 관리자를 실행합니다.

2. 좌측의 서버 이름 트리 항목을 오른쪽 버튼으로 클릭하고, 새로 만들기 – 하드 디스크를 클릭하여 마법사를 시작합니다.

3. 새 가상 하드 디스크 마법사가 나타나면 다음 버튼을 클릭하여 소개 페이지를 넘깁니다.

4. 아래와 같이 화면이 나타나면 차이점 보관 디스크 항목을 클릭한 후 다음 버튼을 클릭합니다.

 

5. 차이점 보관 디스크를 저장할 디렉터리 경로와 파일 이름을 아래 화면과 같이 설정하고 다음 버튼을 클릭합니다. 나중에 CSUPLOAD 도구를 이용하여 파일을 올릴 것을 감안하여 찾아보기 쉬운 경로에 파일을 만들어 둡니다.

 

6. 디스크 설정 단계에서 부모 가상 하드 디스크를 선택합니다. Step 1에서 만들었던 가상 하드 디스크 파일의 경로를 확인하여 그 경로를 찾아보기 버튼을 클릭하여 지정합니다.

 

7. 설정한 내용이 정확히 지정되었는지 다시 확인한 후 마침 버튼을 클릭합니다.

 

8. 기존의 부모 하드 디스크와 연결된 가상 PC의 항목을 트리 뷰에서 선택합니다. 작업을 계속하기 위해서는 해당 가상 PC가 종료되어야 합니다. 실행 중인 경우 가상 PC 내의 운영 체제에서 시스템 종료 기능을 사용하여 안전하게 종료합니다. 종료한 후 가상 PC 속성을 엽니다.

9. 아래와 같이 IDE Controller 0 항목에 연결된 하드 디스크를 기존의 부모 디스크 대신 7단계에서 확정한 차이점 보관 디스크 파일의 경로를 대신 지정하고 확인 버튼을 클릭합니다. 차이점 보관 디스크 내의 설정에 따라 부모 디스크의 내용을 기반으로 나머지 모든 내용은 차이점 디스크에 기록됩니다.

 

10. 다시 가상 PC를 시작합니다. 해당 가상 PC 항목을 더블 클릭하여 제어 창을 열거나 트리 뷰에서 가상 PC 항목을 오른쪽 버튼으로 클릭하고 연결 버튼을 눌러서 창을 연 다음 도구 모음의 시작 버튼을 클릭합니다.

11. 아래와 같이 로그인 화면이 나타나면 관리자로 로그인합니다.

 

12. 지금부터는 실제로 밖에서 알아보기 쉬운 차이점을 만들기 위한 작업이므로 여러분의 취향대로 작업을 진행해도 무방합니다. 여기서는 IIS 웹 사이트 기본 페이지에 등장하는 이미지를 수정하여 원격에서 쉽게 업데이트 여부를 파악할 수 있도록 해볼 것입니다. 이를 위하여 가상 운영 체제 내에서 시작 – 모든 프로그램 – 보조프로그램의 그림판을 클릭합니다.

13. 그림판에서 파일 열기 기능을 이용하여 C:\INETPUB\WWWROOT\WELCOME.PNG 파일을 엽니다.

14. 그림판의 도구 리본 메뉴에서 텍스트 항목을 선택하고, 잘 보이는 곳에 텍스트를 새로 써넣습니다.

 

 

15. 제목 표시줄의 제일 좌측에 있는 디스켓 아이콘을 클릭하여 저장합니다.

16. 이제 차이점 보관 디스크를 출판하기 위해서 시스템을 다시 봉인해야 합니다. 시작 메뉴의 프로그램 및 파일 검색 입력란에서 아래의 명령어를 입력한 후 Enter 키를 누릅니다.

%WINDIR%\SYSTEM32\SYSPREP\SYSPREP.EXE

그리고 시스템 준비 도구 대화 상자에서 아래 그림처럼 설정합니다.

 

17. 시스템이 종료되면 이제 차이점 보관 디스크가 완성됩니다. 이제 이 파일을 CSUPLOAD 도구를 이용하여 올릴 차례입니다.

18. 시작 – 모든 프로그램 – Windows Azure SDK v1.3 – Windows Azure SDK Command Prompt를 선택하여 명령줄 창을 시작합니다.

19. 아래와 같이 명령어를 입력합니다.

csupload Add-VMImage -Connection "SubscriptionId=<YOUR-SUBSCRIPTION-ID>; CertificateThumbprint=<YOUR-CERTIFICATE-THUMBPRINT>; ServiceManagementEndpoint=https://management.core.windows.net/" -Description "<YOUR-VHD-DESCRIPTION>" -LiteralPath "<PATH-TO-VHD-FILE>" -Name <FILE-NAME-OF-VHD>

  • <YOUR-SUBSCRIPTION-ID>: 이전에 획득한 Subscription ID 값을 이곳에 붙여넣습니다.
  • <YOUR-CERTIFICATE-THUMBPRINT>: 이전에 획득한 손도장 값을 이곳에 붙여넣습니다. 단, 이 때 형식은 연속된 형태의 띄어쓰기없는 16진수 값이어야 합니다.
  • <YOUR-VHD-DESCRIPTION>: 업로드한 VHD 파일을 나중에 Portal Site에서 찾아볼 때 식별할 수 있는 설명 문자열을 이곳에 지정합니다.
  • <PATH-TO-VHD-FILE>: 업로드할 차이점 보관 디스크 파일의 경로를 지정합니다.
  • <FILE-NAME-OF-VHD>: 업로드하고 난 이후 Portal Site에서 사용할 VHD 파일의 이름을 지정합니다. 영어로 짧게 지정하는 것이 필요하고 확장자 VHD를 정확히 붙여주는 것이 필요합니다.

이렇게 완성된 명령어를 클립보드에 복사하여 명령 프롬프트 창에서 오른쪽 버튼을 클릭한 후 붙여넣기 항목을 클릭하면 간편하게 명령어를 콘솔에 입력할 수 있습니다. 아래는 명령어의 사용 예시입니다.

csupload Add-VMImage -Connection "SubscriptionId=417bb132-f6f0-e9a8-8e2d-a07bcd2ae122; CertificateThumbprint=93b1a5bf0764c0f4bc68b393b3811a7903d5bbd5; ServiceManagementEndpoint=https://management.core.windows.net/" -Description "Differencing image Windows Server 2008 R2" -LiteralPath "C:\VHD\diffimage.vhd" -Name diffimage.vhd

명령어를 실행하면 아래와 같이 작업이 진행될 것입니다.

 

20. VHD 유효성 검사 도구 안내 창이 중간에 나타날 수 있으며 이 때 계속 진행하도록 허용하고, 자동 실행 대화 상자가 이어서 나타나면 역시 닫습니다. 모든 과정이 완료될 때 까지 기다립니다.

21. 이제 차이점 보관 디스크의 종속성을 설정하여 부모 디스크와의 관계를 명시해야 합니다. CSUPLOAD 도구를 한 번 더 실행하는데 이번에는 다음과 같이 명령어를 입력합니다.

csupload Set-Parent -Connection "SubscriptionId=<YOUR-SUBSCRIPTION-ID>; CertificateThumbprint=<YOUR-CERTIFICATE-THUMBPRINT>; ServiceManagementEndpoint=https://management.core.windows.net/" -Child <YOUR-DIFF-VHD-NAME> -Parent <YOUR-PARENT-VHD-NAME>

  • <YOUR-SUBSCRIPTION-ID>: 이전에 획득한 Subscription ID 값을 이곳에 붙여넣습니다.
  • <YOUR-CERTIFICATE-THUMBPRINT>: 이전에 획득한 손도장 값을 이곳에 붙여넣습니다. 단, 이 때 형식은 연속된 형태의 띄어쓰기없는 16진수 값이어야 합니다.
  • <YOUR-VHD-DIFF-VHD-NAME>: 업로드한 차이점 보관 디스크의 서버 상의 이름을 지정합니다.
  • <YOUR-PARENT-VHD-NAME>: 업로드한 원본 디스크의 서버 상의 이름을 지정합니다.

이렇게 완성된 명령어를 클립보드에 복사하여 명령 프롬프트 창에서 오른쪽 버튼을 클릭한 후 붙여넣기 항목을 클릭하면 간편하게 명령어를 콘솔에 입력할 수 있습니다. 아래는 명령어의 사용 예시입니다.

csupload Set-Parent -Connection " SubscriptionId=417bb132-f6f0-e9a8-8e2d-a07bcd2ae122; CertificateThumbprint=93b1a5bf0764c0f4bc68b393b3811a7903d5bbd5; ServiceManagementEndpoint=https://management.core.windows.net/" -Child diffimage.vhd -Parent baseimage.vhd

22. 이제 관리 포탈 사이트로 되돌아가서 관계 설정이 아래 그림과 같이 정확히 이루어졌는지 확인합니다. 정상적으로 완료되었다면 BASEIMAGE.VHD 파일 항목 아래에 우리가 이번 시간에 업로드한 DIFFIMAGE.VHD 파일이 속해 있는 형태로 표시될 것입니다.

 

23. 이제 환경 설정 파일을 업데이트하여 새 가상 하드 디스크로 실행 중인 인스턴스들이 고쳐질 수 있도록 해야 합니다. 이전 단계와는 달리 이 작업을 위하여 Visual Studio는 별도로 필요하지 않습니다. 업데이트하려는 VM Role을 아래 그림과 같이 선택하고 Configure 버튼을 클릭합니다.

 

24. Configure Deployment 창이 나타나면, Edit Current Configuration 라디오 버튼을 클릭하고, OSIMAGE XML 요소의 HREF 값을 이전 단계에서 올린 차이점 보관 디스크 파일의 이름으로 바꿉니다. 그리고 OK 버튼을 클릭하여 설정을 저장합니다.

 

25. 이제 아래와 같이 업데이트 진행 상황이 표시될 것입니다. Ready로 표시될 때 까지 기다립니다.

 

26. 이제 웹 서버에 새로운 이미지의 내용이 보이는지 확인하기 위하여 해당 웹 사이트 주소로 브라우저를 열어봅니다. 아래와 같이 이미지에 수정한 내용이 잘 보인다면 성공적으로 차이점 보관 디스크가 작동하고 있는 것입니다.

마무리하며

총 6번의 연재를 통하여 Platform Training Kit의 Virtual Machine Role에 관한 내용을 모두 살펴보았습니다. 이번 내용은 Windows Azure Cafe에도 같이 게시될 예정이며 단일 문서로 통합된 파일도 제공할 예정이므로 많은 관심 바랍니다. 향후 Virtual Machine Role에서 사용할 수 있는 OS는 Windows Server 2008과 2008 R2 64비트 버전 외에도 32비트 버전의 Windows Server 2008과 Windows Server 2003에서도 지원될 예정이라고하니 기대하셔도 좋을 것 같습니다. 이들 OS에 대한 Additional Software는 2011년중에 개발되어 배포될 예정임이 알려져 있습니다.

감사합니다. :-)

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

VM Role 관리하기 - 원격 데스크톱 활용하기

지난 글 보러가기: [Software Development/Windows Azure] - Windows Azure VM Role 미리보기 #4

Web Role과 Worker Role, 그리고 지금 설명하는 VM Role 모두 이번 Windows Azure Update에서 원격 데스크톱 연결을 사용할 수 있도록 업데이트되었습니다. 원격 데스크톱을 사용할 수 있게 된 일 자체는 고무적이지만 한 가지 정확히 알고 넘어가야 할 것이 있는데, 우리가 흔히 알고 사용하는 개인용 PC에 대한 원격 제어, 관리 목적을 초월해서 사용하는 항상 사용 가능한 서버나 워크스테이션에서의 원격 제어 및 응용프로그램 호스팅과는 목적과 기능에 있어서 근본적으로 차이가 있다는 점입니다.

이전 Step에서 보았던 것처럼 원격 제어를 위한 계정은 하나만 생성할 수 있고 그 계정 역시 다른 추가 업데이트없이 계속 서비스를 구동한다면 가능한한 유효 기간을 짧게 설정하여 불필요한 노출 영역이 발생하지 않도록 하는 것이 좋다고 하였습니다. 즉, Fabric Agent를 통하여 Virtual Machine을 구동하면서 얘기치않게 발생한 문제를 수정하고 서비스를 정상화할 수 있도록 하거나, 갑자기 들이닥친 문제를 해결하기 위한 정도로만 사용할 수 있는 것이지 항상 사용할 수 있도록 열려있는 서비스는 아니라는 점입니다. 물론 더 이상적인 시나리오는, 이러한 원격 제어 서비스를 일절 사용하지 않더라도 여러분이 게시한 응용프로그램 전체가 완벽하게 작동하는 상태를 유지하는 것이 되겠습니다.

VM Role에 연결하는 방법은 비교적 단순합니다.

1. 접속하려는 인스턴스의 상태가 Ready로 표시된 상태에서만 사용이 가능합니다. 아래와 같이 Ready로 표시된 Instance를 클릭하고 상단의 Remote Access 리본 섹션에서 Connect 버튼을 클릭합니다.

2. RDP 스크립트 파일이 관리 API에 의하여 자동으로 작성되어 다운로드할 수 있도록 준비됩니다. 열기 버튼을 클릭합니다. (Internet Explorer 9의 경우 브라우저 창 하단의 메시지 패널에 있는 버튼을 조작하면 됩니다.)

3. 파일을 열려고 시도하면 아래와 같이 보안 경고 대화 상자가 나타날 수 있습니다. 허용하도록 선택합니다.

4. 의도하지 않은 동작을 포함하여 보안 상의 위험을 초래할 수도 있다는 경고 메시지 박스가 원격 데스크톱 연결 프로그램에 의하여 표시됩니다. 원격 컴퓨터의 도메인 주소가 정확히 cloudapp.net을 가리키는지 확인하고, 연결 버튼을 클릭합니다. (유익한 정보 - cloudapp.net은 Windows Azure에서 실행되는 모든 Role들의 도메인 주소입니다.)

5. 원격 데스크톱에 연결하기 위하여 필요한 사용자 ID와 비밀 번호를 제공해야 하는데, 여기에서 지정하는 정보는 이전에 프로젝트를 게시할 때 원격 데스크톱 설정 대화 상자에서 지정했던 ID와 비밀 번호입니다. 정확히 입력하고 확인 버튼을 클릭합니다.

6. 연결 중임을 표시하는 진행률 표시기가 나타납니다. 잠시 기다립니다.

7. 인증서가 온전하게 서명된 것이 아니라는 것을 알리는 대화 상자가 나타납니다. 예 버튼을 클릭하여 계속 연결을 진행합니다.

8. 연결이 완료되면 아래 그림과 같이 VM Role의 Instance를 제어할 수 있도록 준비됩니다.

여러분의 응용프로그램 상태와는 관계없이 특정 VM에서는 처음 설치된 상태에서 나타나는 서버 환경 설정 마법사가 보일 수도 있고, 또 어떤 경우에는 평가판 라이선스임을 알리는 문구가 바탕화면에 등장할 수도 있지만 서비스에는 일말의 영향을 끼치지 않습니다. 시스템에 문제가 발생할 소지가 있는 경우 Fabric Controller는 여러분의 VM을 다시 재생 처리하여 시스템을 유지할 것입니다.

9. 만약, 연결을 하기 위하여 필요한 ID와 비밀 번호가 기억나지 않거나, 유효 기간이 다되었지만 다시 사용하기 위하여 계정 유효 기간을 연장해야 할 필요가 있다면 1단계 화면으로 돌아가서 해당 Instance를 클릭한 후 Enabled 체크 상자 아래의 User Access 버튼을 클릭합니다.

10. 아래와 같이 대화 상자가 나타나면 사용자 ID와 비밀 번호, 유효 기간을 다시 지정합니다.

다음 시간에는

다음 시간에는 VM Role 제작에 사용된 하드 디스크 이미지 파일을 업데이트하는 방법을 단계별로 실습해보는 내용을 게시하도록 하겠습니다. 같이 읽어보셨으면 하는 글로, 제 블로그의 [Software Development/Windows Azure] - Windows Azure VM의 파일 시스템 구조 글을 추천합니다. 감사합니다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

VM Role 만들기 Step 4 - 서비스 모델 만들기

이전 글 보기: [Software Development/Windows Azure] - Windows Azure VM Role 미리보기 #3

이제 긴 과정이 끝났고, 여러분이 작성한 Virtual Machine Role이 Windows Azure에서 잘 실행되는지 확인할 수 있도록 Visual Studio를 이용하여 서비스 모델을 만들 차례입니다. Amazone Elastic Cloud Computing 서비스와 가장 큰 차이는 바로 이 부분입니다.

Amazone Elastic Cloud Computing은 Amazon Machine Image (AMI)를 관리 도구 상에서 생성하도록 가이드를 하지만, Windows Azure Platform에서는 Visual Studio를 이용하는 것이 Standard입니다. 단지 VM Role만을 게시하기 위하여 사용할 수도 있지만 좀 더 정확히 표현하면 개발자들이 개발한 Cloud Application과 상호작용하도록 VM Role을 만드는 것이 Virtual Machine Role 본연의 역할이라고 할 수 있겠습니다.

Step 3에서 설명했던 Visual Studio 프로젝트 생성 과정에서 만든 클라우드 프로젝트를 열어놓고 진행하겠습니다.

1. 아래 그림과 같이 솔루션 탐색기에서 지구본 모양의 아이콘이 그려진 프로젝트 항목 아래의 역할 폴더 (Roles 폴더)를 오른쪽 버튼으로 클릭하면 팝업 메뉴에 New Virtual Machine Role 메뉴가 나타납니다. 이 항목을 클릭합니다.

(주의 사항) VM Role은 이 글을 작성하는 현 시점에서 베타 프로그램입니다. Visual Studio Tools for Windows Azure에서 위 기능을 활성화시키는 것에 관련한 지침이 베타 프로그램에 참여하는 경우 별도로 안내되므로 반드시 VM Role 베타 프로그램을 Windows Azure Portal (http://windows.azure.com)에서 신청해 주십시오.

2. 새 VM Role 생성을 위한 창이 아래 그림과 같이 나타납니다. Virtual Hard Disk 탭이 선택된 상태에서 지난번 Step 3에서 만든 사용자 계정 정보를 사용하여 게시한 하드 디스크 이미지 정보를 확인합니다. 정상적으로 작업을 수행했다면 아래와 같이 하드 디스크 이미지 파일의 목록이 나타날 것입니다.

3. 지난번 Step 2에서 진행했던 것 처럼, 우리는 가상 하드 디스크 이미지 내에 설치된 Windows 운영 체제에서 IIS를 사용하여 간단한 웹 사이트를 호스팅하기로 하였으므로, 80번 TCP 포트를 열도록 끝점을 구성해야 합니다. Endpoints 탭을 클릭하고, Add Endpoint 버튼을 클릭한 후, 아래 그림과 같이 항목을 입력하여 설정을 추가합니다.

4. 이제 VM Role을 출판할 차례입니다. 솔루션 탐색기로 다시 이동하여 이번에는 클라우드 프로젝트 항목을 오른쪽 버튼으로 클릭하여 게시 메뉴를 클릭합니다. 그러면 아래와 같이 클라우드 프로젝트 게시 대화 상자가 나타나게 됩니다. 여기서 Configure Remote Desktop connections 링크를 클릭합니다.

5. 아래 그림에서 Enable connections for all roles 항목을 클릭합니다. 그리고 첫 번째 콤보 박스를 클릭하여 나타나는 목록들 중에서 새 인증서 생성을 위한 항목을 클릭하여 원격 데스크톱 인증에서 사용할 새로운 인증서를 만듭니다.

6. 아래와 같이 인증서를 구분할 수 있는 별칭을 입력합니다.

7. 이제 원격 제어를 위하여 생성할 관리자 계정의 ID와 비밀 번호, 그리고 유효 기간을 지정할 차례입니다. 표준 Windows System에서 제안하는 관리자 계정 이름인 Administrator와 같이 잘 알려진 이름보다는 고유의 이름을 사용하는 것이 좋습니다. 그리고 비밀 번호 역시 일정 수준 이상의 난이도를 만족해야 합니다. 기간은 가능하면 짧게 설정하여 노출 영역이 최대한 덜 발생하도록 만드는 것이 좋습니다.

8. (매우 중요) 창을 닫기 전에, 해당 인증서 선택란 옆의 View 버튼을 클릭한 후, 인증서 대화 상자에서 자세히 탭을 클릭하고 파일로 복사 버튼을 클릭합니다. 인증서 내보내기 마법사가 나타나면, 개인 키를 포함하여 내보내도록 정확히 옵션을 선택하고 찾기 쉬운 위치에 개인 키를 포함하여 인증서 사본을 저장합니다. 이 때 내보내는 인증서를 나중에 Windows Azure Portal의 Remote Desktop 섹션에 등록해야 하므로 잘 보관합니다.

9. 인증서를 처음 등록하는 것이므로 자동 등록대신 패키지 파일만 만들어 수동으로 등록하는 것으로 가정하겠습니다. 아래 그림과 같이 Create Service Package Only 라디오 버튼을 클릭하고 확인 버튼을 클릭합니다.

10. (매우 중요) 잠시 기다리면 폴더 창 하나가 나타나는데, 전체 경로를 잘 보관해 놓습니다.

11. 이제 Windows Azure Portal (http://windows.azure.com)으로 이동하여 로그인한 후 아래 그림과 같이 New Hosted Service 리본 버튼 항목을 클릭합니다.

12. Create a new Hosted Service 대화 상자가 나타나면 아래 그림과 같이 필요한 항목들을 입력합니다. Affinity Group이나 Region에 관한 설정은 기본 설정을 사용하여도 무방하며, Do not deploy 라디오 버튼을 우선 체크합니다. 원격 데스크톱을 위한 인증서 등록이 우선 이루어져야 하기 때문입니다.

13. 아래 그림과 같이, Hosted Services 항목을 선택하여 나타나는 리스트 뷰에서 서비스 항목 아래의 Certificates 폴더를 클릭하면 리본 메뉴가 아래 그림처럼 바뀝니다. 여기서 Add Certificate 버튼을 클릭합니다.

14. 개인 키를 포함한 인증서를 이제 업로드할 차례입니다. 인증서 내보내기 마법사를 통하여 만든 개인 인증서 파일의 경로를 지정하고, 인증서 비밀 번호를 입력한 후 Create 버튼을 클릭합니다.

15. 이제 패키지 파일을 배포할 수 있게 모든 준비가 끝이 났습니다. Certificates 항목 위의 Hosted Service 항목을 아래 그림처럼 선택한 후, 상단 리본 메뉴에서 New Production Deployment 버튼을 클릭합니다.

16. 나중에 배포 단위를 확인할 수 있도록 알아보기 쉬운 Deployment Name을 지정하고, CSPKG 파일과 CSCFG 파일의 경로를 지정합니다. 이 2개의 파일은 10단계에서 나타난 폴더 창의 전체 경로로 이동하면 찾을 수 있습니다. Deployment Name에 한국어를 사용해도 됩니다.

17. 작업이 시작되면 아래와 같이 진행 상태가 표시됩니다.

18. 부팅까지 모두 완료된다면 아래 그림과 같이 상태가 나타납니다.

19. 만들어진 Virtual Machine Role이 정확히 동작하는지 확인하기 위하여 Deployment 항목을 클릭하면 나타나는 우측의 Properties 패널 상의 DNS name을 확인하고 해당 주소를 브라우저에 넣어봅니다.

20. 아래와 같이 IIS 7 환영 웹 페이지가 나타나면 여러분은 Windows Azure 환경에 성공적으로 여러분만의 가상 서버를 발행한 것입니다. 이제 사용량 추세에 따라서 여러분이 만든 가상 하드 디스크를 기반으로 인스턴스가 늘어나거나 줄어들게 될 것입니다.

다음 시간에는

다음 시간에는 VM Role을 원격에서 제어하고 관리하는 방법을 소개하겠습니다. VM Role은 보편적으로 Windows Server를 관리하기 위하여 널리 사용하는 Remote Desktop을 지원하고, 부수적으로는 PowerShell CMDLET을 이용하여 관리할 수도 있습니다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

VM Role 만들기 Step 3 - Windows Azure에 VHD 파일 올리기

지난 글 보러 가기: [Software Development/Windows Azure] - Windows Azure VM Role 미리보기 #2

이제 VHD 파일을 Windows Azure 환경에 등록하는 작업을 수행할 차례입니다. Amazon Web Service와 Windows Azure에서 가장 차이가 나는 부분은 바로 이 부분입니다. Amazon Web Service에서는 관리 도구 수준에서 직접 서버 인스턴스를 생성하고 관리하는 것을 기준으로 하였지만, Windows Azure 환경에서는 PaaS의 특성을 잃어버리지 않기 위하여 모든 것을 Application에 Tie-up하여 관리하는 것을 기준으로 합니다.

아직까지 VM Role을 생성하기 위해서는 Visual Studio Tools for Windows Azure와 함께 Visual Studio 2010을 이용하는 것이 필수적입니다. 그러나 조만간, 이러한 VM Role만을 전문적으로 생성하고 관리할 수 있는, Visual Studio 외의 별도 도구가 만들어질 것도 기대해 볼 수 있을 것입니다. 사실 Visual Studio는 기본적인 인터페이스를 제공하기 위한 수단으로 실질적으로 VM Role의 생성에 관여하는 모든 사항들은 Windows Azure SDK 안에 이미 포함되어있습니다.

Windows Azure에 VHD 파일을 등록하기 위해서는 Management API에 접근할 수 있어야 하는데, 이 때 Public Key를 포함하는 인증서가 해당 Subscription 계정 내에 미리 등록되어있어야 합니다.

처음 인증서를 등록한다고 가정하고, Step 4에서 사용할 Visual Studio 프로젝트를 미리 생성하는 작업을 수행하는 것으로 설명을 시작하겠습니다.

1. 시작 - 모든 프로그램 - Microsoft Visual Studio 2010 그룹에서 Microsoft Visual Studio 2010을 선택합니다.

2. 잠시 기다리면 Visual Studio 2010 초기 화면이 나타납니다. 여기서 새 프로젝트 링크를 클릭하거나, 파일 - 새 프로젝트를 선택합니다. 새 프로젝트 대화 상자가 나타나면 좌측의 항목들 중에서 Visual Basic - 또는 - Visual C# 항목 아래의 클라우드 항목을 클릭합니다.

이 때 다음 화면과 같이 나타나는지 확인합니다. Windows Azure Project를 선택하고, Name에 여러분이 원하는 프로젝트 이름을 띄어쓰기 없이, Camel Case 표기법을 준수하여 이름을 정합니다. 예를 들어, 작명하려는 이름이 "My Windows Azure VM Role"이라고 한다면 "MyWindowsAzureVMRole"과 같이 정의할 수 있습니다. 이름을 정하고 확인 버튼을 클릭합니다.

3. 아래 나타나는 것과 같이 포함할 하위 프로젝트를 정하는 대화 상자가 나타나면 따로 프로젝트를 추가하지 말고 확인 버튼을 클릭합니다.

(중요) 만약 위와 같은 대화 상자 대신 아래 나타나는 것 처럼 안내 웹 페이지가 나타난다면 Windows Azure Tools for Visual Studio가 정확히 설치된 것이 아니므로 Visual Studio를 종료하고 다시 Windows Azure Tools의 설치를 시작해야 합니다.

4. 솔루션 탐색기에서 파란색 지구본 모양의 아이콘이 그려진 항목을 오른쪽 버튼으로 클릭하고 "게시" 메뉴를 클릭하면 아래와 같이 대화 상자가 나타납니다. 여기서 Deploy your Windows Azure Project to Windows Azure 라디오 버튼을 클릭하고, Credentials 콤보 상자를 클릭한 후, 나타나는 목록에서 <Add...> 항목을 클릭합니다.

5. 그 다음 인증서 관리 대화 상자가 아래와 같이 나타납니다. Create or select an existing certificate for authentication 콤보 상자를 클릭하면 현재 시스템에 현재 로그인 한 사용자 계정 명의로 등록된 개인용 인증서들이 열거됩니다. 등록된 개인용 인증서가 없는 경우, <Create...> 항목을 클릭합니다.

6. 인증서를 새로 만들어야 하는 경우 인증서의 이름을 아래 대화 상자에서처럼 새로 지정합니다.

7. 등록하려는 인증서 - 또는 - 새로 만든 인증서를 선택하고, View 버튼을 클릭합니다. 그러면 아래와 같이 대화 상자가 새로 나타납니다. 여기서 자세히 탭을 클릭합니다. 그리고 손도장 항목의 값을 아래에서 복사합니다.

(중요) 이 단계에서 복사한 손도장 값은 CSUPLOAD 도구에서 꼭 필요한 값이므로 별도로 메모해 놓습니다. 나중에 CSUPLOAD 도구에 손도장 값을 지정할 때에는 두 자리씩 끊어져있는 표기가 아닌 연속된 표기로 제공해야 합니다. 값을 확인하였으면 확인 버튼을 눌러 대화 상자를 닫습니다.

원본: 93 b1 a5 bf 07 64 c0 f4 bc 68 b3 93 b3 81 1a 79 03 d5 bb d5
실제: 93b1a5bf0764c0f4bc68b393b3811a7903d5bbd5

8. Copy the full path 링크를 아래 그림에서 클릭합니다.

9. 아래 그림과 같이 대화 상자가 나타나는지 확인합니다.

10. 이제 Windows Azure Portal에 가서 직접 공개 키 기반의 인증서를 등록할 수 있도록 클립 보드에 임시 인증서의 전체 경로가 복사되었습니다. 대화 상자에서 Windows Azure Portal 링크를 클릭하거나 http://windows.azure.com/ 으로 이동하여 서비스 포털에 로그인합니다.

(중요) 이 작업이 수행되는 동안 디스크 정리 - 또는 - 시스템 최적화 유틸리티가 구동되지 않도록 유의합니다. 임시 경로에 업로드할 파일이 만들어졌기 때문에 이러한 유틸리티들이 해당 파일을 사용자의 동의 없이 임의로 삭제하는 일이 있을 수 있습니다.

11. Windows Azure 관리 콘솔 웹 사이트에 접속하여, 좌측 하단의 항목들 중 "Hosted Services, Storage Accounts & CDN"을 클릭하고, 메뉴 모음 바로 위의 트리 뷰 (화면 좌측)에서 Management Certificates 폴더를 클릭한 후, 상단 리본 메뉴에서 Add Certificate 버튼을 클릭합니다.

12. Choose a Subscription에 VM Role을 개설하려는 정확한 Subscription이 선택되었는지 확인하고, Browse 버튼을 클릭하여 방금 9단계에서 복사한 파일의 경로를 붙여넣습니다. 작업이 끝나면 Done 버튼을 클릭하여 공개키를 포함한 인증서를 업로드합니다.

13. 새로 업로드한 인증서 항목을 클릭하면 우측의 Properties 패널에 열거되는 항목들 중에서 Subscription ID 속성을 찾을 수 있습니다. 이 값 전체를 복사합니다.

(중요) 이 값은 CSUPLOAD 도구에서도 사용되므로 별도로 잘 메모해두는 것이 필요합니다.

14. 다시 Windows Azure Project Management Authentication 대화 상자로 이동하여 Copy the subscription ID for your account from the Windows Azure Portal 항목 아래의 텍스트 상자에 Subscription ID 값을 붙여넣습니다.

15. 알아보기 쉽도록 Name these credentials 항목 바로 아래에 별칭을 하나 지정하고 OK 버튼을 클릭하여 새 접속 정보를 등록합니다.

16. Close - Cancel 버튼 순으로 클릭하여 게시 과정을 취소합니다. 지금 등록한 인증서는 나중에 다시 사용할 수 있으므로 걱정하지 않아도 됩니다.

17. 호스트 컴퓨터에 Windows Azure SDK가 설치되어있는 것을 확인합니다. 그 다음 시작 - 모든 프로그램 - Windows Azure SDK v1.3 그룹의 Windows Azure SDK Command Prompt 항목을 클릭하여 명령 프롬프트를 엽니다.

18. 아래와 같은 형태로 명령어를 입력합니다. 굵게 표시하고 밑줄로 강조한 항목들은 각각 치환되어야 하는 값으로 설명을 참조합니다. 편하게 명령어를 입력할 수 있도록 메모장에 아래의 명령어를 복사해놓고 해당되는 값으로 문자열을 치환하여 명령어를 완성합니다.

csupload Add-VMImage -Connection "SubscriptionId=<YOUR-SUBSCRIPTION-ID>; CertificateThumbprint=<YOUR-CERTIFICATE-THUMBPRINT>; ServiceManagementEndpoint=https://management.core.windows.net/" -Description "<YOUR-VHD-DESCRIPTION>" -LiteralPath "<PATH-TO-VHD-FILE>" -Name <FILE-NAME-OF-VHD>

  • <YOUR-SUBSCRIPTION-ID>: 12단계에서 획득한 Subscription ID 값을 이곳에 붙여넣습니다.
  • <YOUR-CERTIFICATE-THUMBPRINT>: 7단계에서 획득한 손도장 값을 이곳에 붙여넣습니다. 단, 이 때 형식은 연속된 형태의 띄어쓰기없는 16진수 값이어야 합니다.
  • <YOUR-VHD-DESCRIPTION>: 업로드한 VHD 파일을 나중에 Portal Site에서 찾아볼 때 식별할 수 있는 설명 문자열을 이곳에 지정합니다.
  • <PATH-TO-VHD-FILE>: 업로드할 VHD 파일의 경로를 지정합니다. 이 값은 첫 강좌의 6단계에서 마법사를 통하여 VHD 파일을 생성할 당시의 경로입니다.
  • <FILE-NAME-OF-VHD>: 업로드하고 난 이후 Portal Site에서 사용할 VHD 파일의 이름을 지정합니다. 영어로 짧게 지정하는 것이 필요하고 확장자 VHD를 정확히 붙여주는 것이 필요합니다.

이렇게 완성된 명령어를 클립보드에 복사하여 명령 프롬프트 창에서 오른쪽 버튼을 클릭한 후 붙여넣기 항목을 클릭하면 간편하게 명령어를 콘솔에 입력할 수 있습니다. 아래는 명령어의 사용 예시입니다.

csupload Add-VMImage -Connection "SubscriptionId=417bb132-f6f0-e9a8-8e2d-a07bcd2ae122; CertificateThumbprint=93b1a5bf0764c0f4bc68b393b3811a7903d5bbd5; ServiceManagementEndpoint=https://management.core.windows.net/" -Description "Base image Windows Server 2008 R2" -LiteralPath "C:\VHD\baseimage.vhd" -Name baseimage.vhd

19. 명령어를 실행하려고 하면 아래와 같이 나타납니다. VHD 파일을 직접 만들지 않고 외부에서 다운로드한 경우 악성 코드 등이 포함되어있을 가능성이 있으므로 주의를 바란다는 내용이므로 염두에 둡니다. VHD 파일이 시스템에 마운트될 경우 자동 실행 등에 의하여 악성 코드가 의도하지않게 실행될 가능성이 있기 때문입니다.

20. 검사 과정이 아래와 같이 진행되는 것을 확인합니다.

21. 업로드 중이면 아래와 같이 업로드 진행률이 표시됩니다.

22. 업로드 중인 항목이 있을 때 Portal 사이트 (http://windows.azure.com) 에 방문하면 아래 그림과 같이 Pending 이라는 상태가 나타납니다.

23. 모든 과정이 끝나면 다음과 같이 작업 결과가 콘솔에 나타납니다. exit 명령을 사용하거나 콘솔 창을 닫아도 무방합니다.

24. Windows Azure Portal (http://windows.azure.com)에서도 결과를 확인할 수 있습니다. 아래와 같이 Commited 라고 상태가 나타나면 정상적으로 처리된 것입니다.

 

다음 시간에는

다음 시간에는 오늘 업로드한 VHD 파일을 이용하여 실제로 Windows Azure에 VM Role을 게시할 수 있는지 그 과정을 살펴보도록 하겠습니다. 다음 시간의 내용을 실습하기 위하여 Visual Studio 2010이 필요합니다. Visual Studio 2010에 관한 제품 정보는 http://msdn.microsoft.com/vstudio 에서 확인 가능하며 트라이얼 버전을 다운로드받을 수 있습니다.

감사합니다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

지난 글 보러 가기 - [Software Development/Windows Azure] - Windows Azure VM Role 미리보기 #1

지난 시간에 이어서 오늘은 Windows Azure에서 사용할 수 있는 VM Role을 구성하기 위하여 어떤 작업을 해야 하는지 실제 VM Role 구성 방법을 살펴보는 글을 올립니다.

Virtual Machine 안에 정상적으로 Windows Server 2008 R2를 설치했다면, 이제부터는 VM Role로 변환하기 위하여 필요한 여러가지 설정을 적용하고, 추가 구성 요소를 설치할 차례입니다. 그리고 당연한 이야기이지만 Windows Update - 또는 - Microsoft Update를 통하여 필요한 모든 업그레이드와 보안 패치, 핫 픽스 등을 실제 배포전까지 가능한한 모두 포함하는 것이 바람직합니다.

1. VM Role로 배포하기 위하여 만든 가상 서버 인스턴스에 관리자로 로그인하여 바탕화면이 나타날 때 까지 기다립니다.

2. 시작 - 모든 프로그램 - 관리 도구 - 서버 관리자 순으로 항목을 클릭하면 아래 그림과 같이 콘솔 화면이 나타날 것입니다. 콘솔 화면 좌측의 트리 뷰에서 역할 항목을 선택하면 역할 구성 내역 보고서가 전면에 나타납니다. 이 화면에서 역할 추가 링크를 클릭하여 마법사를 시작하고, 첫 소개 화면에서 다음 버튼을 클릭합니다.

 

3. 서버 역할 선택 단계에서 여러분이 원하는 기능을 구성할 수 있습니다. 여기서는 웹 서버 역할만을 사용하도록, 웹 서버 (IIS) 앞의 확인 상자에 체크하고 다음 버튼을 클릭하겠습니다.

 

4. 웹 서버 역할을 위하여 필요한 준비 사항과 관련 정보를 설명하는 페이지가 나타납니다. 다음 버튼을 클릭합니다.

 

5. 역할 서비스 선택 대화 상자에서 필요한 구성 요소들을 선택합니다. 기본 기능만을 테스트해볼 것이므로 다른 추가 설정 없이 다음 버튼을 클릭합니다.

 

6. 이제 이 가상 서버에 웹 서버 역할을 추가할 준비가 다되었음을 확인하는 페이지가 나타납니다. 웹 서버 역할이 포함되어있는지 다시 한 번 확인하고, 설치 버튼을 클릭합니다.

 

7. 설치가 마무리되면 아래와 같이 완료 보고서가 나타납니다. 마침을 눌러 마법사를 종료합니다.

 

8. 서버의 역할을 정의하였고, Windows Azure와 상호작용하거나 전형적인 .NET 기반 응용프로그램을 원활하게 호스팅할 수 있게하기 위하여 서버의 기능을 추가해야 합니다. 서버 관리 콘솔의 좌측 트리뷰에 있는 항목들 중 기능 항목을 선택하면 기능 구성 상태 보고서가 나타납니다. 여기서 기능 추가 링크를 클릭하고, 첫 소개 화면에서 다음 버튼을 클릭합니다.

 

9. (중요한 작업 1) 아래 기능 선택 대화 상자에서, .NET Framework 3.5.1 항목 앞의 체크 상자를 클릭합니다. .NET Framework는 잠시 뒤에 설치할 Windows Azure Integration Component를 위하여 필수적인 기능입니다.

 

10. 이제 설치할 구성 요소들을 확인하고 설치 버튼을 누릅니다.

 

11. 설치가 모두 마무리되면 설치 완료 보고서가 아래와 같이 나타납니다. 마침 버튼을 클릭하여 마법사를 완료합니다.

 

12. (중요한 작업 2) 독립적인 서버 운영 환경과는 달리 윈도 애저 환경에서 서버는 패브릭 관리자의 지시에 맞추어 동작해야 합니다. Windows Update와 Microsoft Update에서 제공하는 자동 업데이트 기능은 시스템의 안정성과 최상의 보안 상태 유지를 위하여 기본적으로 켜져있지만 이러한 규칙을 준수하기 위하여 해당 서비스를 자동으로 실행되지 않도록 수정해야 합니다.

Windows Update - 또는 - Microsoft Update가 자동으로 시스템을 업데이트하지 않도록 하기 위하여 제어판의 Windows Update 아이콘을 더블 클릭합니다. 그러면 아래와 같이 화면이 나타나게 됩니다. 좌측의 링크 모음들 중에서 설정 변경 항목을 클릭합니다.

 

13. 아래와 같이 화면이 나타나면, 자동으로 업데이트하지 않는 것으로 설정을 변경하고 확인 버튼을 클릭합니다.

 

14. 이제 시스템은 자동으로 업데이트를 찾거나 자동으로 업데이트를 설치하지 않습니다. 업데이트 확인 링크를 클릭하여 필요한 모든 업데이트의 설치를 계속 진행합니다. 업데이트를 설치하는 과정에서 시스템이 다시 시작될 수 있습니다.

(중요한 작업 3) 여기서 중요한 것은, 시스템을 다시 시작하거나 한 번의 업데이트가 끝난 후 작업을 마치지 마시고, 다시 Windows Update 프로그램에 들어와서, 더 이상 중요한 업데이트가 검색되지 않을 때 까지 설치를 끝내야 합니다.

 

15. 이제 Windows Azure Integration Component를 설치할 차례입니다. Integration Component는 다른 Virtual Machine Addition과 마찬가지로 ISO 파일로 제공됩니다. 해당 ISO 파일은 Windows Azure SDK 버전 1.3과 함께 배포되며, SDK를 설치한 컴퓨터의 %PROGRAMFILES%Windows Azure SDK\v1.3\iso 디렉터리 아래의 WAVMROLEIC.ISO 파일을 아래 그림에서 소개하는 기능을 이용하여 가상 드라이브에 마운트하여 설치를 진행할 수 있습니다.

 

16. 게스트 컴퓨터에서 자동 실행 대화 상자가 아래와 같이 나타납니다. 폴더 열기 링크를 선택하면 다음과 같이 파일 목록이 나타납니다. WaIntegrationComponents-x64.msi 파일을 더블 클릭하여 실행합니다.

 

17. 잠시 후 설치 마법사가 나타납니다. 다음 버튼을 클릭합니다.

 

18. Integration Component가 시스템을 정확히 제어할 수 있도록 하기 위하여 관리자 계정의 암호를 지정해야 합니다. 암호를 입력한 후 다음 버튼을 클릭합니다.

 

19. 이제 Integraton Component를 설치할 수 있습니다. 아래 화면에서 설치 버튼을 클릭하여 설치를 계속 진행합니다.

 

20. 설치 과정 중간에 다음과 같은 하드웨어 장치 설치의 허용 여부를 묻는 대화 상자가 나타날 수 있습니다. 허용하도록 합니다. 이 장치는 Windows Azure Drive의 기능을 위하여 꼭 필요한 구성 요소입니다.

 

21. 아래와 같이 설치가 진행될 것입니다. 설치는 시스템 수준과 상황에 따라 시간에 차이가 있을 수 있지만 보통 30초 이내에 설치가 완료됩니다.

 

22. 정상적으로 설치가 완료되면 아래와 같이 완료 안내 페이지가 나타납니다. 마침 버튼을 클릭하여 설치 마법사를 종료합니다.

 

23. 시스템을 다시 시작해야 함을 안내하는 대화 상자가 나타납니다. 예 버튼을 클릭하여 시스템을 다시 시작합니다.

 

24. 이제 여러분이 원하는 소프트웨어나 필요한 서비스를 추가적으로 더 설치하고 올바르게 작동하는지 점검합니다. 모든 커스터마이징이 끝나면, 25단계로 이동합니다.

25. (중요 작업 4) 시작 메뉴의 "프로그램 및 파일 검색" 입력 상자 - 또는 - Windows 키 + R키를 눌러 실행 프롬프트 창을 열어 다음과 같이 명령어를 입력합니다. 이 프로그램은 현재 실행 중인 Windows 운영 체제에서 시스템에 관련된 기본 정보들을 제거하고 다른 컴퓨터로 이식할 수 있도록 돕는 시스템 유틸리티입니다.

%WINDIR%\SYSTEM32\SYSPREP\SYSPREP.EXE

26. 아래와 같이 대화 상자가 나타나면 일반화 체크 상자를 클릭하여 선택하고, 시스템을 종료하도록 옵션을 설정합니다. 그 다음 확인 버튼을 클릭합니다.

 

27. 잠시 후 Virtual Machine이 완전히 Shutdown되고 이제 가상 하드 디스크를 Windows Azure Platform으로 가상 하드 디스크 파일을 업로드할 준비가 끝나게 됩니다.

다음 시간에는

오늘 주제에 이어서 다음 시간에는 VM Role을 실제로 게시하는 방법에 대하여 살펴보도록 하겠습니다. VM Role은 이후에도 살펴볼 예정이지만 하드 디스크 이미지를 제작하는 과정과 함께 실제 서비스 모델은 별도로 Publish해야 한다는 점을 기억해둘 필요가 있습니다.

감사합니다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)

시작하기

Windows Azure Virtual Machine Role (이하 VM Role)은 그 동안 많은 개발자들과 IT Pro들에게 관심사였던 최신 기능으로, 2010년 12월부터 본격적인 Beta 서비스가 제공되기 시작하였습니다. VM Role은 Amazon Elastic Cloud Computing (EC2)에서 제공되어오던 Virtual Machine 기반 클라우드의 장점을 Platform as a Service 버전으로 재 해석하여 통합한 Windows Azure 만의 고유한 기능입니다.

이번 Article은 2010년 11월 버전의 Platform Training Kit에서 소개하는 VM Role Deploy 방법을 한글로 자세히 풀이하기 위한 목적으로 작성된 것으로, VM Role에 대하여 구체적으로 학습해볼 수 있는 계기를 마련해보기 위하여 올립니다. 스크린 샷과 자료의 기본 출처는 Platform Training Kit으로 부터 발췌해온 것임을 미리 밝혀둡니다.

라이선스 문제

여러가지 이슈가 있겠지만 무엇보다도 초미의 관심사는 바로 라이선스에 관한 부분일 것입니다. VM Role은 Windows Azure에 맞추어진 OS가 아닌 기존의 On-Premise의 OS를 호스팅하는 것이기 때문에 특히 민감할 수 밖에 없는데요, 의외로 라이선스 문제는 생각하는 것 만큼 복잡하고 어렵지 않습니다. Physical to Virtual (이하 P2V)를 수행하기 위하여 사용했던 원본 OS의 라이선스 종류에 관계없이, Windows Azure에서 VM Role을 위하여 호스팅되는 OS의 라이선스는 Windows Azure의 라이선스 정책, 즉 유틸리티 컴퓨팅 기반의 사용량 과금에 의해서만 비용이 결정되며 여기에는 일체의 라이선스 비용이 포함되지 않습니다. 순수하게 사용량만을 고려하면 되는 것입니다.

그러나 Windows Azure에서 사용하는 VM Role 라이선스를 역으로 On-Premise로는 가져오실 수 없으며, 또한 VM Role 안에 설치되는 각각의 소프트웨어들에 대한 라이선스는 신중히 결정해야 합니다. 해당 소프트웨어에 대한 라이선스는 종전의 서버 호스팅과는 차이가 많이 날 수 있습니다. 대표적으로, 탄력적인 시스템 운영을 위하여 한 번에 2대 이상의 가상 서버 인스턴스가 구동될 수 있고 사용량이 늘어나면 당연히 Fabric Controller는 VM Image를 복제하여 여러 대의 가상 서버 인스턴스를 생성하게 된다는 점은 원래 소프트웨어를 구입하여 설치했던 조건과는 큰 차이가 날 수 밖에 없는 부분으로, 라이선스를 위반하지 않기 위해서는 해당 소프트웨어 제공 업체가 이러한 클라우드 컴퓨팅 환경에 알맞는 유틸리티 기반의 과금 모델을 제공하는지 충분히 검토해야 합니다.

SQL Server의 경우 가장 이상적인 것은 SQL Server를 포함하는 VM Role을 게시하는것 보다 SQL Azure로 데이터를 이관하는 것입니다. 그러나 법적인 문제나 보안 상의 이유로 인하여 데이터를 이관할 수 없는 경우, Windows Azure Connect (구 Codename: Sydney)를 통해 On-Premise에서 구동 중인 서버들과 Windows Azure Platform에서 실행 중인 Instance들 사이의 네트워크를 같은 레이어에 통합하는 방법을 사용하여 손쉽게 문제를 해결할 수 있습니다. SQL Server 뿐만 아니라 기존에 사용하던 Back-Office Server, Active Directory Domain Controller 등도 무리해서 Windows Azure Platform으로 이주하지 않더라도 이러한 방법으로 문제를 해결할 수 있습니다.

VM Role을 만들기 위하여 필요한 준비 사항

VM Role을 만들기 위해서는 다음의 준비 사항이 필요합니다.

VM Role 만들기 Step 1 - 게스트 운영 체제 설치하기

VM Role을 만드는 절차를 요약하면, 앞서 언급한 구성 요소에서 짐작하시게 되는 것과 같이 Hyper-V를 이용하여 Guest VM으로 Windows Server 2008 R2를 설치하고, 여기에 여러분이 원하는 커스터마이징을 적용한 이후에 이것을 VM Role 형식에 맞게 포장하여 Windows Azure에 Base Image로 등록하는 것입니다.

현재 베타 버전으로 제공되는 VM Role은 Windows Server 2008 R2를 위한 구성 요소만을 제공합니다. 이에 따라, Windows 7의 Virtual PC로는 64비트 전용 OS인 Windows Server 2008 R2를 실행할 수 없기 때문에 특별히 Windows Server 2008 R2의 Hyper-V가 필요합니다.

1. Windows Server 2008 Hyper-V 호스트 컴퓨터에서 관리자 계정으로 로그인한 후 시작 - 관리 도구 - Hyper-V 관리자를 클릭하여 실행하면 아래와 같은 Management Console이 나타납니다.

 

2. Hyper-V 관리자의 좌측 트리 뷰에서 서버 노드를 마우스 오른쪽 버튼으로 클릭해서 나타나는 메뉴의 "새로 만들기" - "가상 컴퓨터" 항목을 클릭합니다. 그 후 나타나는 마법사 대화 상자에서 "다음" 버튼을 클릭합니다.

 

3. 아래 화면에서 Virtual Machine의 이름을 지정합니다. 여기서는 VM Role이라고 이름을 지정하도록 하고, 정해진 기본 위치를 필요한 경우 변경하거나 설정된 경로를 확인합니다. 다음 버튼을 눌러 다음 단계로 이동하겠습니다.

 

4. 메모리의 크기를 설정하는 단계에서는 자동으로 추천하는 2GB (2048MB) 메모리를 그대로 사용합니다. 다음 버튼을 클릭합니다.

 

5. 네트워크 어댑터를 설정하는 단계입니다. 로컬 영역 연결 - 가상 네트워크 항목이 선택된 상태에서 다음 버튼을 클릭합니다. 이 설정은 처음 VM Role을 시작한 이후 Windows Update (혹은 Microsoft Update)에서 업데이트를 내려받기 위하여 필요한 구성입니다.

 

6. 이제 가상 디스크 구성 단계입니다. 새로운 가상 하드 디스크를 만들기 위하여 첫 번째 라디오 버튼을 클릭하고, 가상 하드 디스크 파일의 이름을 임의로 정한 뒤, 하드 디스크를 만들 위치와 크기를 정합니다. 아래 예제에서는 baseimage.vhd 라는 이름을 사용하고 있고 30GB 하드 디스크를 생성하려고 하고 있습니다.

(중요) 이 단계에서 지정하는 값은 나중에 CSUPLOAD 도구에서 필요하므로 잘 메모해둡니다. - 또는 - 나중에 Virtual Machine 속성에서 찾아볼 수도 있습니다.

 

참고로 가상 하드 디스크의 크기는 인스턴스 레벨에 맞추어 설정해야 합니다. Extra Small 인스턴스에 맞추기 위해서는 가상 하드 디스크의 크기를 20GB 이하로 설정해야 합니다. 만약 이미 만들어진 가상 하드 디스크 파일을 사용하려면 두 번째 라디오 버튼을 선택하고 VHD 파일의 경로를 찾아 보기 버튼을 이용하여 아래 그림과 같이 지정할 수 있습니다.

 

7. 이제 설치 옵션을 선택하는 차례입니다. 나중에 따로 지정하여도 되고, 마법사를 이용하여 기본으로 ISO 이미지 파일 - 또는 - DVD 드라이브에 마운트 하도록 아래 그림과 같이 지정할 수 있습니다. 만약 시험 목적으로 사용하기 위하여 VM Role을 만들고자 한다면 http://www.microsoft.com/windowsserver2008/en/us/trial-software.aspx 에서 트라이얼 버전의 Windows Server 2008 R2 Enterprise Edition을 다운로드받으실 수 있습니다.

 

8. 모든 과정이 거의 마무리되어갑니다. 마침 버튼을 클릭하여 새로운 Virtual Machine을 생성합니다.

 

9. Hyper-V 관리자로 돌아와서 방금 생성한 Virtual Machine 항목을 찾아, 오른쪽 버튼으로 클릭하고 나타나는 팝업 메뉴에서 연결 메뉴를 클릭합니다. 항목이 바로 나타나지 않을 수도 있으므로 이 경우 좌측의 트리 뷰에 나타나있는 서버 항목을 오른쪽 버튼으로 클릭하여 새로 고침 메뉴를 클릭하여 목록을 갱신할 수 있습니다.

10. 아래 그림과 같이 원격 제어 창이 나타나면 시작 버튼을 클릭하여 Virtual Machine을 재생시킵니다.

 

11. 설치 단계에서 미디어를 정확히 지정했다면 Windows Server 2008 R2 설치 마법사가 가상 PC 안에서 아래 화면과 같이 시작될 것입니다.

 

12. 잠시 뒤에 표시 언어, 시간대, 통화 기호, 키보드 레이아웃 설정을 할 수 있는 화면이 나타납니다. 적절한 선택을 한 후 다음 버튼을 클릭합니다.

 

13. 지금 설치 버튼을 클릭합니다.

 

14. Windows Server 2008 R2 Enterprise (전체 설치) 항목을 선택하는 것에 유의합니다. 서버 코어 설치를 비롯하여 다른 제품의 경우 기능 상에 문제가 발생하거나 라이선스 관계 상 문제가 될 수 있습니다.

 

15. 라이선스 조항에 동의함을 선택하고 다음 버튼을 클릭합니다.

 

16. 사용자 정의 (고급) 설치 항목을 선택합니다. 이 과정을 선택하는 이유에 대해서는 다음 단계에서 자세히 설명하겠습니다.

 

17. 대부분의 경우 설치 관리자의 자동 설정을 이용하면 문제가 없습니다. 그러나 VM Role을 위하여 필요한 작업이 한 가지 있습니다. VM Role에 호환되는 가상 하드 디스크 레이아웃을 만드려면 반드시 하나의 단일 파티션으로 구성해야 하는데, 기본 설치를 이용하면 이 규칙을 준수하지 않게 됩니다. 이를 피하기 위하여 사용자 정의 설치를 선택하였고 아래와 같은 화면이 나타나게 됩니다.

 

17. 이제 Shift + F10 키를 눌러 아래와 같이 명령 프롬프트 창을 시작합니다.

 

18. 명령 프롬프트 창이 나타나면 다음의 순서대로 명령어를 입력합니다.

DISKPART

 

SELECT DISK 0

 

CREATE PARTITION PRIMARY

 

EXIT

 

19. 명령 프롬프트 창이 닫힌 상태에서 새로 만들어진 파티션을 선택하여 Windows 운영 체제 설치를 진행하면 됩니다. 파티션이 보이지 않을 때에는 새로 고침을 선택하십시오.

 

20. 설치가 진행됩니다. 1~2회 이상 시스템이 다시 시작될 수 있습니다. 설치가 완전히 종료될 때 까지 중간에 DVD나 설치 미디어를 제거하는 일이 없도록 유의합니다.

 

21. 완전히 설치가 끝났다면 아래와 같이 관리자 비밀 번호를 지정해야 함을 경고하는 문구가 나타날 것입니다. 아래 화면에서 확인 버튼을 클릭합니다.

 

22. 암호 정책에 만족하는 강력한 암호를 확인을 위하여 두 번 입력하고 Enter 키를 누릅니다. 잠시 기다리면 바탕 화면이 나타날 것입니다.

 

마치면서

다음 시간에는 VM Role로 배포하기 위하여 필요한 게스트 운영 체제에서 필요한 설정을 적용하는 방법과 Windows Azure 환경으로 이미지를 출판하는 방법을 설명하는 내용을 상세히 설명하도록 하겠습니다. 감사합니다.

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Windows Azure MVP 남정현 (rkttu.com)