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)
10827정성태7/8/2015318개발 환경 구성: 271. Visual Studio 2015에서 Github와 연동하는 방법
10826정성태7/8/2015154오류 유형 : 298. The trust relationship between this workstation and the primary domain failed. - 두번째 이야기
10825정성태7/8/2015185개발 환경 구성: 270. Visual Studio 설치 없이 Visual Studio SDK 설치하는 방법
10824정성태7/7/2015238개발 환경 구성: 269. Team Foundation Server 2015 설치 방법
10823정성태7/7/2015215오류 유형 : 297. SqlException (0x80131904): Unable to open the physical file
10822정성태7/7/2015151오류 유형 : 296. The 'Visual C++ Project System Package' package did not load correctly.
10821정성태7/7/2015191오류 유형 : 295. Unable to start debugging on the web server. IIS does not list a web site that matches the launched URL.
10820정성태7/7/2015166오류 유형 : 294. HTTP Error 503. The service is unavailable. - 두번째
10819정성태7/2/2015193오류 유형 : 293. SQL Server Express 시작 오류 - error code 3417
10818정성태7/1/2015350오류 유형 : 292. HTTP Error 503. The service is unavailable. [1]
10817정성태6/29/2015528.NET : 369. C# 람다(Lambda)에서 변수 캡쳐 방식 [3]
10816정성태6/26/2015356.NET : 368. 닷넷의 어셈블리 서명 데이터 확인 방법파일 다운로드1
10815정성태6/23/2015771자네 나와 함께... UNITY 하지 않겠는가! [2]
10814정성태6/22/2015374.NET : 367. Roslyn을 이용해 C# 문법 변형하기 (2) [2]
10813정성태6/21/2015449.NET : 366. Roslyn을 이용해 C# 문법 변형하기 (1)
10812정성태6/21/2015429.NET : 365. C# 6.0 오픈 소스 컴파일러 Roslyn - 빌드 및 테스트 방법
10811정성태6/24/2015307오류 유형 : 291. OpenAuth 사용 시 System.Data.SqlClient.SqlException 예외가 Output 창에 출력되는 문제
10810정성태6/18/2015333VS.NET IDE : 63. Visual Studio에서 github 오픈 소스를 fork해서 테스트하는 방법
10809정성태6/18/2015338.NET : 364. AllowPartiallyTrustedCallers 특성이 적용된 GAC 어셈블리에서 DynamicMethod의 calli 명령어 사용파일 다운로드1
10808정성태6/17/2015400.NET : 363. calli IL 호출이 DllImport 호출보다 빠를까요?파일 다운로드1
10807정성태6/16/2015320.NET : 362. Microsoft.AspNet.Membership.OpenAuth 사용 시 "Local Database Runtime error occurred" 오류
10806정성태6/16/2015314.NET : 361. OpenAuth.VerifyAuthentication 호출 시 The remote server returned an error: (400) Bad Request
10805정성태6/15/2015482Java: 17. 자바의 재미있는 상수 처리 방식
10804정성태6/10/2015428.NET : 360. .NET CLR2 보안 모델에서의 APTCA 역할 (2)파일 다운로드1
10803정성태6/2/2015595.NET : 359. UWP(Universal Windows Platform) 응용 프로그램의 새로운 라이브러리 버전 관리 해법 [2]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...