Windows Azure 사용기 A to Z
- 작성자 : 박용준(redplus@live.com)
- 아이디 : 레드플러스
- 미션 유형 : Windows Azure Virtual Machine
- 링크 : http://redplusvm.cloudapp.net
- 간략 설명 : Windows Azure를 처음 접하는 입장에서 Windows Azure의 주요 서비스를 하나씩 사용해 보는 전체 과정을 강좌 형식으로 꾸며 보았습니다.
- 구성도 : WindowsAzure사용기AtoZ.pdf
- 사용 후기 : 기존 웹 개발자 입장에서 궁금하고, 필요한 서비스를 구현하는 전 과정을 아래에 기술하였습니다.
- 개발 기간 : Windows Azure 가입부터 가상 컴퓨터(Virtual Machine) 생성 그리고 간단 테스트까지 3~4시간 정도 걸림. 실제 VM 만드는 시간은 10분 정도 소요
- 추천인 : Taeyo
[사용후기] : 3부. VM에 웹 서버 구축 및 테스트 웹사이트 가동하기
소개
Windows Azure 90일 무료 평가판에 가입을 한 후 Windows Azure 관리 포털 사이트에서 Virtual Machine을 하나 만들었습니다.
이 정도만 하면 기존 서버 관리 경험을 토대로 해당 VM에 원하는 서비스를 구현할 수 있습니다.
이번에 제가 테스트해 본 부분은 역시 Taeyo.NET에 오시는 많은 웹 개발자들이 사용하는 IIS 웹 서버를 구축하고 이 곳에 하나의 웹 사이트를
만들어서 서비스 하는 부분을 다뤄보고자 합니다.
이 부분은 이미 많은 개발자 분들이 Windows Server에 대한 운영을 하고 계시기에 Windows Azure와는 크게 상관없을 수도 있지만,
Azure에 VM을 만들고 IIS 웹 서버를 활용하는 단계를 보여주고자 후기를 남겨보고자 합니다.
VM에 IIS 웹 서버 설치하기
Windows Azure 관리 포털 사이트로 접속한 후 왼쪽 메뉴의 [Virtual Machines] 메뉴를 클릭하면 현재 구성된 VM 리스트가 나타납니다.
저는 현재 단 하나의 VM만을 만들었기에 여지없이 이를 사용하고 있는데요. 해당 VM의 이름을 클릭하여 대시보드로 들어갑니다.
언제든지 원격에 있는 제 VM에 접속하려면 하단에 있는 관리 메뉴에서 [Connect] 링크 버튼을 클릭하여 rdp 파일을 다운로드 하여 재 접속 할 수 있습니다.
[그림] VM에 재 접속
다시 VM에 [원격 데스크톱 연결]을 사용하여 접속한 후에 웹 서비스를 위한 IIS 웹 서버를 설치하기 위해서는
왼쪽 하단의 작업 표시줄에 위치한 [서버 관리자] 아이콘을 클릭하여 [서버 관리자]를 실행합니다.
서버관리자의 오른쪽 상단 메뉴 중 [Manage]-[Add Roles and Features] 메뉴를 클릭하여 원격 서버에 추가적인 기능을 설치할 수 있습니다.
이 메뉴를 클릭하여 설치를 진행합니다.
[그림] IIS 웹 서버 설치를 위한 서버 관리자 실행
아래 그림과 같이 서버에 [역할 및 기능 추가 마법사]를 실행하여 절차에 따라서 IIS 웹 서버를 단계별로 설치하는 모습을 보여드리고 있습니다.
이미 Windows Server를 알고 계시다면 이 부분은 어렵지 않으리라 봅니다.
[그림] IIS 설치 절차 1
아래 그림은 [Role-based or feature-based installation] 메뉴를 기본값으로 둔 채 [다음] 버튼을 눌러서 원격 VM 서버에 추가 기능을 구현하고자 합니다.
[그림] IIS 설치 절차 2
제가 구성해 놓은 RedPlusVM 서버를 선택한 후 [다음] 버튼을 클릭합니다.
[그림] IIS 설치 절차 3
역할 추가 부분에서 아래 그림처럼 [Web Server(IIS)]를 체크한 후 [다음]을 눌러 계속 진행합니다.
[그림] IIS 설치 절차 4
기능 추가 부분에서는 아래 그림과 같이 [ASP.NET 4.5]를 체크하여 최신 ASP.NET 버전을 사용해 보고자 합니다.
추가적인 옵션을 선택해서 구성하는 부분 역시 Windows Azure가 아닌 Windows Server의 고유 영역이 되기에
최소한의 Website 설치를 위한 옵션으로 진행하고 있는 모습입니다.
[그림] IIS 설치절차 5
전체적인 요약 화면을 확인 후 [다음] 버튼을 클릭합니다.
[그림] IIS 설치절차 6
[역할 서비스] 추가 부분에서 원하는 옵션을 선택할 수 있는데요. 저는 추가적으로 [보안] 옵션에 [Windows 인증]을 추가하였습니다.
[그림] IIS 설치 절차 7
전체 역할 및 기능 추가에 대한 요약 화면이 나오고 [Install] 버튼을 눌러 설치를 진행합니다.
[그림] IIS 설치 절차 8
아래 그림은 설치가 진행되고 있는 모습입니다. 잠시의 시간이 지나면 설치가 완료되고 [Close] 버튼을 눌러
IIS 웹 서버 설치를 종료합니다.
[그림] IIS 설치 절차 9
IIS 웹 서버가 설치가 완료된 후 [Windows + R] 키를 눌러 [실행] 창을 엽니다.
아래 그림과 같이 [실행] 창의 열기 영역에 "inetmgr" 명령어를 입력하여 IIS 웹 서버를 실행합니다.
[그림] IIS 웹 서버 실행하기
웹 서버를 통한 웹 사이트 실행
아래 그림은 Windows Azure의 VM에 설치한 IIS를 처음으로 실행한 상태를 보여줍니다. Windows Server 2012 운영체제이니 IIS의 버전이 8.0 버전입니다.
IIS 웹 서버가 정상적으로 실행되는지 확인하기 위해서 왼쪽 웹사이트 리스트에서 [Default Web Site]를 선택 후 오른쪽 [Actions] 메뉴 영역에서 [Browser] 메뉴를 클릭하여
기본 제공 웹 사이트를 열어 봅니다.
[그림] IIS 웹 서버의 기본 웹 사이트
아래 그림은 http://localhost/로 실행되는 기본 제공 웹사이트의 모습입니다. IIS8의 웅장함(?)이 느껴지는 웹 페이지입니다.
[그림] localhost로 웹 사이트 실행
기본 제공 페이지를 조금 수정하여 IIS 웹 서버의 홈 디렉터리에 Default.htm로 문서를 만들어 아래와 같이 실행시켜 보았습니다.
여기서부터는 지금껏 IIS 웹 서버 기반으로 실행되는 모든 웹 사이트는 해당 홈 디렉터리 또는 가상 디렉터리에 위치하여
웹 사이트를 실행할 수 있습니다. 제가 VM이 쉽다고 말한 부분이 바로 이 부분입니다.
Windows Azure에 VM만 설치한 후 접속할 줄만 알면
기존 Windows Server 사용 경험 및 ASP/ASP.NET 등의 웹 응용 프로그램의 배포 경험이 그대로 적용할 수 있기 때문에 전혀 새롭지 않다는 것입니다.
[그림] Default.htm 문서 만들고 한 줄 내용 추가
자~ 이번에는 원격 VM에서 빠져 나와 로컬 컴퓨터에서 원격 웹 사이트를 테스트해보기 위하여 Windows Azure 포털 사이트의 VM의 대시보드로 접속한 후
아래 그림과 같이 오른쪽 영역에서 보여주는 PUBLIC VIRTUAL IP ADDRESS(VIP)를 확인하고 이 값이 해당 서버에 접속할 수 있는 공인 IP로 보시면 됩니다.
이 값을 복사 또는 기록한 후 웹 브라우저로 호출해보면 됩니다.
[그림] VIP로 VM접속하기 위한 기본 정보
대시보드의 VIP를 가지고 로컬 컴퓨터에서 웹 브라우저를 열고 값을 입력 후 웹 페이지를 요청해 보았습니다.
당연히 원격 서버의 IP주소이기에 한 줄짜리 홈페이지가 보여질 거라 생각했지만, 나타나지 않았습니다.
이 문제의 원인은 기본값으로는 HTTP 서비스를 허용하는 80포트가 잠겨있어서 나타나는 현상입니다.
이 부분에서 저를 포함한 많은 분들이 한 번쯤은 겪어볼 만한 문제입니다. 이런 경우에는 반드시 원하는 서비스에 해당하는 포트를 열어주어야 합니다.
[그림] VIP로 외부에서 접속 테스트
End Point 설정을 사용하여 원격 서비스를 위한 포트 설정
HTTP 서비스를 위한 80 포트를 열어주기 위해서는 VM 관리 사이트의 두 번째 메뉴인 [ENDPOINTS]를 사용하면 됩니다.
아래 그림과 같이 [ENDPOINST]로 들어와서 아래에 있는 관리 메뉴 중 [ADD ENDPOINT]를 클릭합니다.
[그림] EndPoint 추가
HTTP 서비스를 위한 서비스 이름과 프로토콜 그리고 열고자 하는 포트의 번호를 입력합니다.
웹 페이지 출력을 위한 80포트를 아래와 같이 입력 후 [확인] 버튼을 클릭합니다.
[그림] HTTP 80 포트 열기
80 포트 입력 후 [ENDPOINTS] 리스트를 보면 아래 그림처럼 원격 접속을 위한 3389 포트와 제가 새롭게 추가한 80포트가 함께 보여짐을 알 수 있습니다.
만약, 웹 서비스가 아닌 SQL Server와 같은 데이터베이스를 외부에서 접속해서 사용하고자 할 때에는 1433과 같은 해당 서비스에 대한 포트를 추가해 주어야 합니다.
FTP 서비스를 위해선 21번 포트를 추가해 주어야겠죠^^.
[그림] 웹 서비스를 위한 80 포트 추가 완료
웹 서비스를 위한 80 포트도 추가해 놓았으니 다시 웹 브라우저를 통해서 원격 서버의 VIP를 통해서 접속을 시도해 보겠습니다.
웹 브라우저의 [새로 고침] 버튼을 클릭하여 접속 시도 결과 아래와 같이 정상적으로 원격 서버에 구성해 놓은 웹 사이트가 정상적으로 보여짐을 확인할 수 있습니다.
[그림] VIP로 외부에서 접속 다시 테스트
Windows Azure에서는 모든 서비스에 대해서 바로 테스트해 볼 수 있는 무료 도메인을 제공합니다.
VM 설치할 때 입력 받은 DNS 이름이 그것입니다. 아래 그림과 같이 대시보드에서 DNS 항목을 웹 브라우저에 입력하면 이 값으로도 VM에 접근할 수 있습니다.
[그림] VM 환경 설정에서의 DNS 이름 확인
아래 그림은 VIP 대신에 DNS를 통해서 원격 서버의 웹 사이트에 접속하는 화면을 보여줍니다.
지금 이순간 전세계 어디서나 아래 URL을 입력하면 제가 Azure 평가판으로 구축해 놓은 VM의 웹 서버를 통해서 테스트 홈페이지가 출력이 됩니다.
저는 여기까지 테스트하면서 저 스스로가 감동을 받았습니다.
이렇게 쉽게 하나의 서버를 구축하고 웹 서비스 환경을 구현할 수가 있는 세상이 왔구나~ 라고 말입니다.
비록 한 줄짜리 홈페이지로 결과물을 보여드렸지만, 나머지는 이 글을 읽는 여러분들의 Windows Server 사용 경험에 맡기도록 하겠습니다.
[그림] 기본 제공 DNS로 웹 사이트 접속하기
마무리
일단, 제가 VM 관련해서 궁금했던 부분은 여기까지의 절차를 거치면서 그 궁금증이 대부분 해소되었습니다.
단일 서버 기반으로 처리할 때에는 기존에 가지고 있는 경험이 Windows Azure의 VM에 가장 근접한 게 사실입니다.
앞서도 말씀 드렸듯이 Azure 가입 후 VM을 만드는 것은 10분의 시간도 되지 않는 부분입니다.
그러한 기본 절차를 마련해 놓고, 나머지는 기존의 경험을 살려서 원격 서버를 운영하고 그 곳에 기존에 만들어놓은
웹 애플리케이션을 올려놓고 바로 서비스할 수 있게 되는 것입니다.
일단은 VM에 대한 이번 달 Windows Azure 사용 후기는 여기까지로 마무리 하겠습니다.
한참을 더 돌려보고, 서비스에 대한 비용 및 단독 서버가 아닌 멀티 서버로의 진행 및 서비스 구현에 대한 내용은 다음 달에 후기로 남겨보고자 합니다.
다음 번 VM 사용 후기에서는 웹 서버, DB 서버, Media 서버 등을 나눠서 서비스를 구현해 보는 과정과 DNS 서비스를 사용하여 여러 대의 서버를
하나의 가상 네트워크로 묶어서 관리하는 부분까지도 테스트해 볼 생각입니다. 생각만으로 끝나는 게 아닌 행동으로 옮겨야 되겠죠…… 많은 응원 부탁 드립니다.
끝.
감사합니다.
박용준(redplus@live.com)