Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (kevin13@chol.net)
홈페이지
첨부 파일
 

Azure - Virtual Machine 구성

예전에, "VM Role" 베타 서비스를 한번 소개해 드렸지요.

Windows Azure - VM Role 베타 프로그램 참여
; http://www.sysnet.pe.kr/2/0/1070

그 당시 VM Role 서비스가 베타였는데 그것 자체가 서비스화 되기 전에, 방향을 아예 바꿔 "VM 서비스"라는 프리뷰 서비스로 진행되고 있습니다. 위의 "VM Role"을 보시면 설정 작업이 꽤나 복잡했던 것을 볼 수 있는데요. 마이크로소프트가 "VM 서비스"에서는 아예 아마존의 EC2 서비스와 동등한 수준으로 서비스를 구성했습니다. (엄밀히 "VM Role" 서비스가 사라졌다고 볼 수는 없고, "VM 서비스"의 한쪽 메뉴로 "VHD 이미지 파일을 업로드"할 수 있도록 아주 단순하게 바뀌었습니다.)

Virtual Machines
; http://msdn.microsoft.com/en-us/library/windowsazure/jj156003.aspx

현재(2012-07-12) Preview 단계이기 때문에 메뉴에는 나오지 않지만, 그래도 "New" 버튼에서 "VIRTUAL MACHINE" 메뉴를 누르면 "Previwe" 신청을 할수 있어서 서비스 이용에는 아무런 문제가 없습니다.

마침, 저도 회사 차원에서 VM 을 생성할 수 있는 기회가 생겨서 한번 해보았는데요. ^^

지원되는 OS 템플릿은 다음과 같은데,

  • Microsoft SQL Server 2012 Evaluation Edition
  • Windows Server 2008 R2 SP1, June 2012
  • Windows Server 2008 R2 SP1, May 2012
  • Windows Server 2012 Release Candidate
  • Windows Server 2012 Release Candidate, June 2012
  • OpenLogic CentOS 6.2
  • SUSE Linux Enterprise Server
  • Ubuntu Server 12.04 LTS
  • openSUSE 12.1

우선, "New" 버튼으로 새로운 VM 유형 만들기를 진행해서,

azure_vm_1.png

제 경우에는 "Windows Server 2008 R2 SP1, June 2012" 로 선택했습니다.

azure_vm_2.png

그 다음, VM 의 이름과 윈도우의 관리자 계정의 암호를 입력하고, SIZE를 지정해 주어야 합니다.

azure_vm_3.png

VM 이름의 경우에는 그냥 구분할 수 있을 정도의 아무 이름이라도 주면 되지만, 암호는 잘 기억하고 있어야 합니다. (안 그러면, 나중에 가상머신으로의 RDP 접속을 할 수 없습니다. 물론, 삭제하고 금방 다시 생성하면 되겠지만.)

SIZE 의 경우 나중에 변경할 수 있기 때문에 부담없이 선택하시면 됩니다. 저는 테스트이기 때문에 그냥 단순하게 "Small (1 core, 1.75 GB Memory)" 유형으로 선택했는데, 다른 유형에 대해서는 아래의 글을 참고하실 수 있습니다.

How to Configure Virtual Machine Sizes
; http://msdn.microsoft.com/en-us/library/windowsazure/ee814754.aspx

이후, "VM Mode"를 지정하는 단계로 넘어가는데요.

azure_vm_4.png

별도 DNS 를 가진 VM을 만들려면 "STANDALONE VIRTUAL MACHINE" 옵션을 선택하고, 아니면 기존 생성된 VM 의 "서버 Pool"로 추가하고 싶다면 "CONNECT TO EXISTING VIRTUAL MACHINE" 옵션을 선택합니다. (후자의 경우는 쉽게 말하면 같은 "L4" 스위치에 서버를 한 대 더 추가하는 경우라고 생각하시면 됩니다.)

마지막으로, "VM Options" 인데,

azure_vm_5.png

"AVAILABILITY SET" 은 임의로 특정 이름을 지정해 주시면 됩니다. (AVAILABILITY SET옵션도 나중에 변경이 가능합니다.) 이제 확인을 하면, 위에서 설정한 규격의 VM 이 생성되는데, 이 작업에 잠시 시간이 걸리므로 실제적인 응용 프로그램을 설치하기까지 다소 기다리셔야 합니다.

생성이 완료되고 나면, 1개의 VM과 그것을 저장하는 기본적인 STORAGE 한개가 생성됩니다.




"SMALL"로 지정된 VM 을 한번 둘러 볼까요? ^^

하드 디스크는 다음과 같이 2개가 할당되었습니다.

azure_vm_6.png

VM 운영체제로 30GB, 임시데이터 디스크로 70GB 가 할당되어 있는데요. 주의할 것은, C에 할당된 하드는 장애 관리가 되지만 D 드라이브는 임시이기 때문에 장애 관리가 되지 않습니다. 이에 대해서는 마이크로소프트 측에서 다음과 같이 말하고 있습니다.

Each VHD also has a temporary storage disk, which is labeled as drive D. This is a disk that applications and processes running in the VM can use for transient and temporary storage.


따라서, 만약 VM 서비스에 SQL 서버를 설치했다면 절대 데이터 파일을 D 드라이브에 할당하시면 안됩니다. 만약, 그런 디스크 공간이 필요하다면 억지로 C 드라이브에 넣을 수는 있습니다. 하지만, 30GB 가 넉넉한 공간은 아니기 때문에 운영체제의 가용성을 위해서 남겨두시는 것이 좋고, 별도의 VHD 디스크를 생성해서 붙이는 것이 권장됩니다. (물론, ^^ 별도 요금이 물립니다.)

다음으로, 작업 관리자를 보면,

azure_vm_7.png

Small로 지정한 데로, "Physical Memory"는 1.75GB 이고 할당된 CPU자원은 1개입니다.

컴퓨터 정보를 보면,

azure_vm_8.png

윈도우가 "Datacenter" 버전으로 설치된 것을 확인할 수 있습니다. 다행히 VM 서비스이기 때문에 Datacenter에 대한 라이선스 비용은 (서비스에 살짝 포함되어 있겠지만) 일단은 무료입니다. 기타... CPU 정보를 통해 가상 머신을 호스팅하는 머신에 AMD 프로세서가 장착된 것을 알 수 있습니다.

마지막으로 페이징 파일 4GB가 "D" 드라이브에 할당된 것을 볼 수 있습니다.

azure_vm_9.png

기타, SMALL 환경에 대해서 궁금한 점이 있으시면 덧글로 문의해주세요. ^^




RDP 연결은 "Connect" 메뉴를 선택하면 원격 연결 설정이 갖춰진 .rdp 파일을 다운로드 할 수 있습니다.

azure_vm_10.png

간단하죠. ^^

추가적으로 언급해야 할 것이 '방화벽'이 있는데요. 윈도우 자체의 방화벽 이외에 Azure 측에서 기본적으로 모든 포트를 막고 시작합니다. RDP 연결의 경우에만 Azure에서 자동으로 설정되어지고, 그 외 80 포트 조차도 막혀 있으므로 필히 포트를 이용한 서비스를 한다면 이에 대해서 명시적으로 열어줘야 합니다.

방법은, 다음과 같이 해당 VM 관리 메뉴에 가서 "ENDPOINTS" 탭에서 "ADD ENDPOINT" 버튼을 누르고,

azure_vm_11.png

포트 설정을 해주시면 됩니다.

azure_vm_12.png

확인을 하면, 곧바로 적용되지 않고 (한번 설정할 때마다) 약 2분 정도의 반영 시간이 걸립니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]



[최초 등록일: ]
[최종 수정일: 7/17/2012 ]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:kevin13@chol.com

비밀번호
수정 답변 목록

댓글 쓴 사람
 



2012-07-18 01시33분
[박중석] 정말 상세한 포스팅 이네요. VM Preview도 MSDN Benefit 사용량안에서 사용 가능하시므로, 단순 Test 환경이시면 Extra Small (Small의 1/6)로 하셔야 Monthly Free Benefit 사용량이 많이 감소하시지 않으실 것 같아요 :)
[손님]
2012-07-18 04시13분
아... ^^ 위의 환경은 제 MSDN 계정은 아니고 회사 계정으로 했습니다. 게다가 테스트 VM 이 그래도 뭔가를 돌려야 하는 것이 있어서 ^^ Small 사이즈로 했습니다.
정성태

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
2900정성태3/24/201576오류 유형 : 276. robocopy 오류 - The file cannot be accessed by the system
2899정성태3/24/2015136개발 환경 구성: 262. Visual Studio 2013 솔루션을 2015로 마이그레이션
2898정성태3/24/201558개발 환경 구성: 261. SharePoint 2013을 Windows Server 2012 R2에 설치
2897정성태3/18/2015184오류 유형 : 275. LoadLibrary("...") failed - Invalid access to memory location.
2896정성태3/18/2015125VC++ : 64. Visual Studio 2013에서 Visual Basic 6 용 ATL Control 제작
2895정성태3/18/2015172VC++ : 63. Visual Studio 2015 - auto 반환 타입 및 thread_local 예약어 지원(C++ 11 표준)
2894정성태3/18/2015101.NET : 355. ELEMENT_TYPE_MODIFIER의 조합
2893정성태3/18/201592오류 유형 : 274. command line error MIDL1004: cannot execute C preprocessor cl.exe
2892정성태3/17/2015112오류 유형 : 273. robocopy - Logon failure: unknown user name or bad password.
2891정성태3/17/2015141개발 환경 구성: 260. Visual Basic 6 (Enterprise Edition)을 Windows 7 x86에 설치하는 방법
2890정성태3/17/201591오류 유형 : 272. Internet Explorer - This page can't be displayed
2889정성태3/17/2015363Windows: 50. (2015-03-12) 업데이트 이후 작업 표시줄 또는 탐색기의 반응이 느려지는 문제 [1]
2888정성태3/17/2015176오류 유형 : 271. Visual Studio 빌드 - fatal error C1033: cannot open program database ''
2887정성태3/13/2015184.NET : 354. CoreFx 빌드하는 방법
2886정성태3/13/2015151오류 유형 : 270. CoreFx, CoreCLR 빌드 시 "error CS0518: Predefined type 'System.Object' is not defined or imported" 오류 해결 방법
2885정성태3/13/2015316VS.NET IDE : 61. Visual Studio는 64비트 버전이 없습니다!
2884정성태3/12/2015293.NET : 353. .NETCore = CoreFX + CoreCLR [2]
2883정성태3/10/2015276.NET : 352. OpenCover 소스 코드 분석을 Visual Studio 2013에서 하는 방법 [1]
2882정성태3/10/2015218.NET : 351. OpenCover 코드 커버리지 도구의 동작방식을 통해 살펴보는 Calli IL 코드 사용법
2881정성태3/9/2015208개발 환경 구성: 259. OpenCover 오픈 소스를 이용한 .NET 코드 커버리지(Code coverage)
2880정성태3/7/2015273개발 환경 구성: 258. C# Code Coverage 도구 - Semantic Designs 소개
2879정성태3/3/2015262개발 환경 구성: 257. Visual Studio없이 Visual C++ 컴파일하는 방법
2878정성태2/28/2015473.NET : 350. == 연산자보다는 Equals 메서드의 호출이 더 권장됩니다. [2]파일 다운로드1
2877정성태2/28/2015331.NET : 349. 연산자 재정의(operator overloading)와 메서드 재정의(method overriding)의 다른 점 - 가상 함수 호출 여부 [3]파일 다운로드1
2876정성태2/27/2015408VS.NET IDE : 60. IntegraStudio - Visual Studio에서 Java 프로그램 개발
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...