[Azure] 가상컴퓨터에서 IIS설치 및 WebDeploy 설정

2014. 9. 24. 20:14WEB

여기에서는 Microsoft Azure 가상컴퓨터 추가부터 시작해서 WebDeploy를 통한 웹사이트 호스팅까지 과정을 안내하고자 합니다.

  1. 먼저 Azure에 접속하여 가상컴퓨터를 생성합니다.
    • 만약 Azure 계정이 없으시다면 http://azure.microsoft.com/ 에 접속하셔서 계정을 생성합니다.
      Azure계정이 있으시면 https://manage.windowsazure.com/에 접속 하신 후 로그인을 합니다.
    • 로그인 후 ‘가상 컴퓨터’를 선택하고 하단의 ‘새로 만들기’를 클릭합니다.
    • 이미지: 기본적으로 사용하게 될 OS 환경을 의미합니다. (여기에서는 Windows Server 2012 R2 Datacenter를 선택함)

      윈도우 버전 및 에디션의 차이는 위키를 통해 상세히 알수 있습니다:
    • 크기: 크기에 따라 가상컴퓨터의 성능과 월별 가격이 달라집니다. (여기서는 테스트 목적이므로 기본-A0 항목을 선택함)
      • 기본(Basic): 가장 저렴한 구성이며, 표준 인스턴스와 유사한 구성이지만, 로드밸런싱, 자동 확장을 지원하지 않습니다. 가격은 표준(Standard)대비 최고 27% 저렴합니다.
      • 표준(Standard): 가격이 기본(Basic)보다 조금 비싸지만, 로드밸런싱, 자동 확장을 지원하며, 따라서 애저의 로드밸런서, 개발 워크로드, 테스트서버, 배치 처리 어플리케이션이 필요하다면 이 항목이 적합합니다.

        자세한 정보는 http://azure.microsoft.com/ko-kr/pricing/details/virtual-machines/에서 확인하실 수 있습니다.
  2. 이제 생성된 컴퓨터에 접속합니다. 생성된 가상컴퓨터의 대시보드 하단에 위치한 ‘연결’을 클릭합니다.
  3. 다운로드된 RDP파일을 열고 가상컴퓨터의 ‘사용자 이름’, ‘암호’를 입력하면 접속하실 수 있습니다.
  4. 가상컴퓨터에 접속되면, IIS를 설치해야 합니다. 일단 ‘Server Manager’에서 ‘Add roles and features’를 클릭합니다.
  5. 아래와 같이 IIS를 설치하는데, 반드시 ‘Management Service’를 선택해주세요. 추후 Web Deploy를 통해 Web Site를 업로드하는데 필요합니다.
  6. 설치가 완료되면 아래 그림처럼 IIS를 열고 웹사이트가 정상적으로 열리는지 테스트 해봅니다.

    아래처럼 사이트 접속이 이루어지면 성공입니다.
  7. 이제 외부에서 접속할 수 있도록 Azure에서 End Point 추가를 해주어야 합니다. Azure에서 ‘끝점’(또는 End point)를 선택합니다.
  8. 하단의 ‘추가’를 클릭하셔서 사용하실 모든 포트를 추가해줍니다.
    • 여기에서는 웹사이트를 위해 80포트를 사용할 예정이므로 ‘80’ 포트를 추가해주었습니다.
    • 추가적으로 WebDeploy를 통해 웹사이트를 호스팅 할 예정이므로 아래 그림과 같이 ‘8172’ 포트도 추가해줍니다.
  9. 이제 외부에서 웹사이트에 접속이 되는지 테스트 해봅니다. ‘대시보드’에 우측 하단에 위치한 ‘DNS이름’이 바로 ‘가상컴퓨터’의 주소입니다.
  10. ‘DNS 이름’에 나타난 주소를 복사하여 브라우저로 열어봅니다. 아래와 같이 나타나면 성공입니다.
  11. 이제 WebDeploy 설정을 통해 웹사이트를 호스팅 해보도록 합시다. 먼저 위에서 생성한 가상컴퓨터에 원격 데스크톱으로 접속합니다.
  12. 브라우저를 열고 ‘http://www.iis.net/downloads/microsoft/web-deploy’에 접속하고 ‘Install this extension’을 클릭합니다.
  13. 다운로드 된 파일을 실행하고 좌측하단의 ‘Install’버튼을 클릭하여 Web Deploy를 설치합니다.

  14. 설치가 끝나면 이제 포트가 제대로 열려있는지 방화벽을 검사합니다.
    1. 키보드의 ‘Windows Key + Q’를 누릅니다. 검색창이 나타나면 ‘firewall’을 입력한 후 아래 그림과 같이 ‘Windows Firewall with Advanced Security’를 클릭합니다.
    2. ‘Windows Firewall with Advanced Security’ 창이 열리면 좌측에 위치한 ‘Inbound Rules’를 클릭합니다.
    3. 위에서 끝점(End point)를 설정할 때 추가했던 포트번호가 추가되어있는지 확인합니다. (만약 추가되어 있지 않다면 직접 추가합니다.)
  15. WebDeploy에서 사용할 계정을 생성합니다. 이 계정은 웹사이트를 업로드 할 때 사용되는 계정 입니다.
    1. 키보드의 ‘Windows Key + Q’를 눌러서 검색창을 열고 검색어로 ‘User’를 입력합니다. 아래 그림처럼 검색된 ‘User Accounts’를 클릭합니다.
    2. ‘Manage another account’를 클릭합니다.
    3. WebDeploy 설치 시 자동으로 추가된 ‘WDeployAdmin’ 계정의 비밀번호를 설정합니다.
  16. 배포할 경로에 대한 ACL 설정을 합니다. (읽기, 쓰기, 수정 권한 부여)
    1. 배포할 사이트를 마우스 오른쪽 클릭 후, ‘Explorer’를 선택합니다.
    2. 해당 사이트의 폴더가 열릴 것 입니다. 폴더의 바탕에 ‘마우스 우클릭’ 후 ‘속성’ (Properties)을 선택합니다.
    3. ‘Security’ 탭에서 ‘Edit’ 버튼을 클릭합니다.
    4. ‘Add’ 버튼을 클릭하고, ‘WDeployAdmin’ 계정을 입력하여 추가합니다.
    5. 아래와 같이 추가된 ‘WDeployAdmin’ 계정에 모든 권한을 부여합니다.
  17. 이제 Client에서 실제 웹사이트를 업로드 해봅니다.
    1. VisualStudio를 통해 대상 웹사이트를 열어 줍니다.
    2. ‘Solution Explorer’에서 대상 웹사이트 또는 프로젝트를 ‘마우스 오른쪽 클릭’ 후 ‘Publish’ 또는 ‘Publish Web Site’를 선택합니다.
    3. 아래 그림처럼 ‘New Profile’를 선택 후 적당한 이름을 넣어 줍니다.
    4. 아래와 같이 배포할 서버 정보를 입력 후 ‘Validate Connection’ 버튼을 클릭합니다.


      Publish method ‘Web Deploy’ 선택
      Site name IIS에 추가되어 있는 대상 WebSite 이름과 동일하게 입력합니다. 다르게 입력 시 오류가 발생합니다.
      ‘/VirtualDirectory이름’을 뒤에 붙이시면 VirtualDirectory로 추가되게 됩니다.
      User name WDeployAdmin 입력
      Password WDeployAdmin 계정 비밀번호 입력
      Destination URL 배포가 끝나고 나서 열리게 될 사이트 주소를 입력합니다. 원하지 않으면 비워두셔도 됩니다.
    5. 하단의 ‘Publish’ 버튼을 클릭하면 웹사이트 배포가 진행되고, 해당 웹사이트가 열리게 됩니다.

WebDeploy 설정하는 방법이 많이 간소화 되었음에도 불구하고, 막상 실제로는 확인해야 할 사항이 많이 있습니다. 하지만 한번만 제대로 설정하면, 다음부터는 배포가 자동화되어 정말 간편해지므로 꼭 제대로 활용해 보시기 바랍니다.!

문제해결

오류내용
다양한 원인으로 아래와 같은 오류가 발생할 수 있습니다.
Could not connect to the remote compter ("XXX.XXX.XXX.XXX"). On the remote computer, make sure that Web Deploy is installed and that the required process ("Web Management Service") is started.

점검내용
1. [Windows Key + R]버튼을 누르고 Services.msc를 입력한 후, [Web Management Servcie] 서비스가 [실행]상태인지 확인해주세요.

2. [Web Management Service] 서비스가 없거나, 실행 중인데도 오류가 발생하는 경우 https://www.microsoft.com/en-us/download/details.aspx?id=43717에서 Web Deploy를 다운로드하여 설치해주세요. (이미 설치되어 있는 경우 삭제 후 재설치를 시도해주세요.)

3. [WDeployAdmin] 계정이 [Administrator] 유형이 맞는지 확인해주세요.
HelpImage
4. IIS의 [관리 서비스] 구성이 유효한지 확인해주세요.

설정을 수정하려면 좌측의 [중지]버튼을 클릭한 후 진행하세요. [원격 연결 사용] 체크박스는 반드시 체크된 상태여야합니다. HelpImage