Cloud Computing : 클라우드에서 가상 컴퓨터 사용

Windows Azure에서 가상 컴퓨터를 실행하면 가상화와 클라우드 컴퓨팅의 장점을 결합할 수 있습니다.

Joshua Hoffman

끊임 없는 변화는 IT 업계의 초석입니다. 매일 새로운 기술, 하드웨어, 소프트웨어, 그리고 통신 프로토콜이 소개됩니다. 이러한 새로운 기술의 홍수는 우리가 비즈니스를 수행하고 커뮤니케이션하며 지식을 공유하는 방법을 근본적으로 바꾸어 놓고 있습니다. 이러한 변화의 소용돌이 속에서 최근 수년 동안 IT의 세계에서 가장 중대한 변환을 꼽으라면 가상화와 클라우드 컴퓨팅을 빼놓을 수가 없을 것입니다.

가상화는 기업에서 하드웨어 리소스를 더 효율적으로 사용하기 위한 기술이며, 이를 통해 소프트웨어 환경을 해당 하드웨어로부터 높은 수준으로 추상화할 수 있습니다. 이제 서버도 하나의 파일로 존재합니다. 손쉽게 이를 한 하드웨어에서 다른 하드웨어로 옮기고, 마음대로 복제하며, 확장성과 유연성이 높은 인프라를 구축할 수 있습니다.

클라우드 컴퓨팅은 가상화를 통해 얻은 효율성과 유연성을 더욱 확대시켜 줍니다. 클라우드 컴퓨팅은 리소스 풀링과 지역적 다양성 및 범용 연결을 통해 호스팅되는 소프트웨어, 플랫폼 및 인프라를 더 원활하게 제공해 줍니다. 이것은 새로운 기술 플랫폼인 동시에 새로운 비즈니스 모델입니다.

Windows Azure 플랫폼에 VM(가상 컴퓨터) 역할이 도입됨에 따라 이러한 강력한 개념을 결합하여 클라우드에서 가상 인프라를 호스팅할 수 있게 되었습니다. 이제 여러분은 곧 Windows Azure를 위한 VM을 작성하고 이를 클라우드에 배포하여 클라우드 컴퓨팅의 장점인 유연하고 확장성 높은 인프라와 비용 절감을 실현할 수 있게 됩니다.

아직 Windows Azure VM 역할은 베타 상태입니다. 베타 프로그램에 대해서는 Windows Azure Compute 사이트에 방문하면 자세히 알아볼 수 있습니다. Windows Azure Management 포털의 베타 프로그램 섹션에 방문하면 베타에 지원할 수 있습니다. 아직 베타 상태이므로 여기에 나오는 VM 역할에 대한 정보는 변경될 수 있습니다.

클라우드를 위해 만들어졌다

Windows Azure를 위한 VM 역할은 다른 서버 역할과 비슷합니다. Windows Azure에서 VM은 Windows Server OS의 한 버전을 실행합니다. VM 역할의 다른 점은 필요와 사양에 맞게 서버 이미지를 생성, 사용자 지정 및 관리할 수 있다는 것입니다.

VM을 내부 하드웨어가 아닌 Windows Azure에서 실행할 때 알아 두어야 하는 몇 가지 운영상 차이점이 있습니다. 첫째, 일부 네트워크 관련 기능이 제한됩니다. 예를 들어 UDP(User Datagram Protocol)를 사용하려면 Windows Azure Connect도 사용해야 합니다. 또한 Windows Azure에서 실행되는 VM 역할 인스턴스는 지속적인 상태를 가지지 않습니다.

상태를 지속하려면 Windows Azure 저장소 서비스를 사용하여 상태를 blob이나 Windows Azure 드라이브에 기록하는 방법을 사용하는 것이 좋습니다. 이렇게 하는 방법에 대한 자세한 내용은 “Windows Azure의 VM 역할을 위한 어댑터를 개발하는 방법”을 참조하십시오.

로컬 저장소 리소스 디렉터리에 기록된 데이터는 서버 인스턴스의 이미지를 다시 만들 때 유지됩니다. 그러나 Windows Azure에 일시적인 오류가 발생하여 VM 역할 인스턴스를 다른 하드웨어로 옮겨야 하는 상황이 되면 이 데이터가 손실될 수 있습니다.

이러한 조건을 염두에 두면, Windows Azure를 위한 VM을 구축하는 과정은 다른 VM을 구축하는 과정과 비슷합니다. 시작은 Hyper-V 관리자로 빈 VHD를 만들거나 실제 서버 설치를 VHD로 변환하여 기본 VHD(가상 하드 디스크)를 작성하는 것입니다. (자세한 내용은 “새 가상 컴퓨터의 원본”을 참조하십시오.)

기본 이미지에는 OS(Windows Server 2008 R2이어야 함), OS에 대한 사용자 지정, 그리고 필요한 응용 프로그램이 포함됩니다. 서버 관리자 내에서 Hyper-V 역할을 활성화하는 것은 물론, Windows Azure 통합 구성 요소가 포함되어 있는 Windows Azure SDK를 설치해야 합니다. 추가 구성 요소를 설치하는 작업과 같은 필요한 경우를 대비하여 Windows Server 2008 R2 설치 미디어(일반적으로 ISO 파일)를 기본 이미지에 포함시키는 것도 좋은 생각입니다.

다음은 Windows Azure 통합 구성 요소를 설치해야 하며, 이 단계를 모든 서버 이미지에 대해 수행해야 Windows Azure로 업로드할 수 있게 됩니다. 이러한 구성 요소는 OS가 시작할 때마다 매번 시작되며 VM 역할 OS를 Windows Azure와 통합하는 역할을 합니다.

구성 요소는 부하 분산 장치와 함께 작업하여 인스턴스의 상태에 대한 통신을 수행합니다. 구성 요소는 또한 서비스 정의 설정을 바탕으로 인증서를 설치하고 로컬 리소스 디렉터리를 생성하여 VM을 초기화합니다. 구성 요소를 설치하는 자세한 단계는 “Windows Azure 통합 구성 요소를 설치하는 방법”을 참조하십시오.

“어댑터” 개발은 이미지 구축 프로세스에서 선택적인 다음 단계입니다. 사용자 지정 서버 이미지를 개발하고 업로드할 때 Windows Azure의 동적 환경에서 실행될 소프트웨어를 설치하고 구성합니다. 개발 시에 제공되지 않은 응용 프로그램에 대한 구성 정보를 제공해야 할 수 있습니다. 이러한 정보는 런타임에 수집해야 합니다. Windows Azure와 상호 작용하고 응용 프로그램을 준비 및 실행하도록 어댑터를 작성하여 동적 환경에 맞게 응용 프로그램을 구성하는 것이 좋습니다.

어댑터를 작성하는 데는 두 가지 옵션이 있습니다.

  • 전문화 단계 중에 실행되는 어댑터를 작성할 수 있습니다. 이 단계는 서버 이미지를 Windows Azure에 처음으로 업로드한 후 또는 인스턴스 이미지를 다시 만든 후 OS가 설치되는 동안 수행됩니다. 코드를 작성하지 않고 이 어댑터를 작성하는 두 가지 방법이 있으며, 응답 파일이나 시스템 준비 도구(sysprep)용으로 작성된 공급자에서 스크립트를 실행하면 됩니다. 자세한 내용은 MSDN 라이브러리 페이지, “Windows Azure의 VM 역할을 위한 어댑터를 개발하는 방법”에서 “어댑터를 위한 설치 프로젝트 만들기” 섹션을 참조하십시오.
  • 어댑터를 OS가 시작할 때마다 자동으로 시작되는 Windows 서비스로 작성할 수 있습니다. 관리 코드나 네이티브 코드로 이러한 유형의 어댑터를 작성할 수 있으며, 어댑터는 Windows Azure 서비스 런타임 API를 사용하여 Windows Azure 환경에서 동적 데이터를 수집합니다. 자세한 내용은 MSDN Library 페이지 “Windows Azure의 VM 역할을 위한 어댑터를 개발하는 방법”에서 “어댑터가 시작할 때 수행되는 작업 정의” 섹션을 참조하십시오.

Windows Azure에 업로드할 시스템 이미지를 준비하는 마지막으로 남은 단계는 Windows 방화벽 구성을 평가하는 것입니다. 응용 프로그램이 Windows Azure의 VM 역할 인스턴스에서 실행되면 응용 프로그램에 사용되는 모든 포트를 열어야 합니다. 호스팅되는 서비스는 고정 로컬 포트를 사용해야 합니다. 모든 Windows Azure 역할(웹, 작업자 또는 VM)을 위해 정의하는 엔드포인트에 포트 번호를 지정할 수 있습니다.

설치와 구성 프로세스를 완료한 후 이미지를 작성하는 마지막 단계는 Windows Azure로 업로드할 수 있도록 이미지를 준비하는 것이며, 이 작업에는 sysprep 도구를 사용합니다. sysprep 도구는 컴퓨터가 배포될 때 Windows Azure가 인스턴스별로 이미지를 다시 설정할 수 있도록 고유 SID(보안 식별자)를 제거함으로써 이미지를 “일반화”합니다. 이미지 준비의 마지막 단계를 완료하려면

  • 관리자로 명령 프롬프트 창을 엽니다.
  • 디렉터리를 %windir%\system32\sysprep으로 변경하고 sysprep.exe를 실행합니다.
  • 시스템 준비 도구 대화 상자에서 시스템 정리 작업시스템 OOBE(Out-of-Box Experience) 입력을 선택합니다.
  • 일반화가 선택되어 있는지 확인합니다.
  • 종료 옵션종료를 선택합니다.
  • 확인을 클릭합니다.

sysprep 작업이 완료되면 VM이 종료됩니다. 이제 배포할 준비가 되었습니다.

Windows Azure로 VM 배포

시스템 이미지를 배포하는 첫 번째 단계는 관리 및 서비스 인증서를 구성하는 것입니다. .vhd 파일을 Windows Azure로 업로드하면, Windows Azure에서는 인증을 위해 .cer 파일에 저장된 x.509 인증서를 사용합니다(Windows Azure Management 포털에서는 관리 인증서라고 함). VM 역할 인스턴스를 원격으로 액세스할 계획이라면 .pfx 파일에 저장된 개인 정보 교환 인증서(Windows Azure Management 포털에서는 서비스 인증서라고 함)도 필요합니다.

이러한 인증서는 자체 서명할 수 있으므로, 타사 공급자에서 구입할 필요가 없습니다. makecert.exe 도구를 사용하여 이러한 인증서를 만들 수 있습니다. 인증서를 만드는 데 대한 자세한 지침은 “역할에 대한 인증서를 만드는 방법”을 참조하십시오.

인증서를 만든 다음에는 이를 Windows Azure Management 포털에 추가할 수 있습니다. **Hosted Services, Storage Accounts & CDN(호스팅되는 서비스, 저장소 계정 및 CDN)**을 선택하고 **Management Certificates(관리 인증서)**를 선택하거나 서비스 인증서의 경우 **Hosted Services(호스팅되는 서비스)**를 선택합니다.

VHD를 업로드하려면 구독 ID가 필요합니다. Management 포털에서 정보를 복사하고 명령줄로 붙여 넣을 수 있습니다. 구독 ID 및 인증서 손도장을 찾으려면

  1. Management 포털로 로그온합니다.
  2. **Hosted Services, Storage Accounts & CDN(호스팅되는 서비스, 저장소 계정 및 CDN)**을 클릭하고 **Management Certificates(관리 인증서)**를 클릭합니다.
  3. Properties(속성) 창의 **Thumbprint(손도장)**에서 인증서 손도장을 찾을 수 있습니다. 구독 ID는 **Subscription ID(구독 ID)**에 있습니다.

인증서 손도장과 구독 ID를 찾은 다음에는 VHD를 업로드할 수 있습니다.

이미지를 업로드하려면

  1. 관리자로 Windows Azure SDK 명령 프롬프트 창을 엽니다.
  2. VHD 이미지를 저장한 디렉터리로 변경합니다.
  3. 다음 명령에서 SubscriptionId 및 CertThumbprint를 사용자의 구독에 해당하는 값으로 대체하여 연결 문자열을 설정합니다.

csupload Set-Connection "SubscriptionId=SubscriptionId; CertificateThumbprint=CertThumbprint"

  1. 다음 명령에서 VHD 파일 이름과 표시된 이름을 대체하여 VHD를 업로드합니다.

csupload Add-VMImage –LiteralPath VHDName.vhd –Location LocationValue –Name DisplayedNameInPortal

이 명령을 실행하면 Windows Azure VHD 확인 도구를 위한 대화 상자가 표시됩니다. 이 도구는 OS가 올바른 상태이며 Windows Azure로 업로드할 준비가 되었는지 확인합니다. 확인을 클릭하여 업로드 프로세스를 계속합니다.

–LiteralPath 및 –Location(또는 –AffinityGroup) 매개 변수는 필수이며, –Name 매개 변수는 선택 사항입니다. 위치 또는 선호도 그룹은 해당하는 호스팅된 서비스에 대해 정의된 위치 또는 선호도 그룹과 일치해야 합니다.

서비스 모델 생성은 배포의 마지막 단계입니다. Windows Azure에서 실행할 VM 역할 인스턴스의 경우 서비스 정의와 서비스 구성 파일을 생성하여 서비스 모델을 정의해야 합니다. 자세한 지침은 MSDN Library 기사, “VM 역할 서비스 모델을 만들고 배포하는 방법”을 참조하십시오.

이제 Windows Azure에서 VM이 실행되므로, 원래 VHD의 로컬 복사본을 안전한 백업으로 보관해야 합니다. 예를 들어 업데이트를 적용하거나 응용 프로그램을 업그레이드하기 위해 향후 VHD를 변경해야 하는 경우 차이점 보관용 디스크를 사용할 수 있습니다. 차이점 보관용 디스크를 사용하여 VM 서비스를 제공하는 방법에 대한 자세한 지침은 “Windows Azure의 VM 역할을 위한 서버 이미지 변경 시작”을 참조하십시오.

 

Joshua Hoffman

**Joshua Hoffman****은 TechNet Magazine의 전 편집장입니다. 현재 독립적인 저자이자 컨설턴트로 활동하면서 고객에게 기술과 청중 지향 마케팅에 대해 조언하고 있습니다. Hoffman은 시장 조사 커뮤니티의 성장 및 향상을 위한 사이트인 ResearchAccess.com의 편집장으로도 활동 중이며 뉴욕 시에 거주하고 있습니다.

관련 콘텐츠