내보내기(0) 인쇄
모두 확장

PowerShell을 사용하여 기본 모드 보고서 서버로 Azure VM 만들기

업데이트 날짜: 2014년 12월

이 항목에서는 Azure 가상 컴퓨터에서 SQL Server Reporting Services 기본 모드 보고서 서버의 배포 및 구성을 설명하고 안내합니다. 이 문서의 단계에서는 여러 수동 단계를 조합하여 가상 컴퓨터를 만들고 Windows PowerShell 스크립트를 사용해 해당 VM에서 Reporting Services를 구성합니다. 구성 스크립트에는 HTTP 또는 HTTPs에 대한 방화벽 포트 열기가 포함됩니다.

note참고
보고서 서버에서 HTTPS가 필요하지 않으면 2단계를 건너뜁니다.

1단계에서 VM을 만든 다음 스크립트를 사용하여 보고서 서버 및 HTTP 구성 섹션으로 이동합니다. 스크립트를 실행한 후에는 보고서 서버를 실행할 준비가 됩니다.

  

항목 내용

  • Azure 구독: Azure 구독에서 사용할 수 있는 코어 수를 확인합니다. 권장 VM 크기를 A3으로 만들 경우 사용 가능한 코어가 4개 필요합니다. VM 크기를 A2로 사용할 경우 사용 가능한 코어가 2개 필요합니다.

    구독의 코어 제한을 확인하려면 Azure 관리 포털의 왼쪽 창에서 설정을 클릭한 다음 상단 메뉴에서 사용량을 클릭합니다.

    코어 할당량을 늘리려면 Azure 지원에 문의하세요. VM 크기에 대한 자세한 내용은 Azure의 가상 컴퓨터 및 클라우드 서비스 크기를 참조하세요.

  • Windows PowerShell 스크립팅: 이 항목에서는 사용자에게 Windows PowerShell 기본 작업 지식이 있다고 가정합니다. Windows PowerShell 사용에 대한 자세한 내용은 다음을 참조하십시오.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘 Top

  1. Azure 관리 포털로 이동합니다.

  2. 왼쪽 창에서 가상 컴퓨터를 클릭합니다.

    Windows Azure 가상 컴퓨터
  3. 새로 만들기를 클릭합니다.

    새 단추
  4. 갤러리에서를 클릭합니다.

    갤러리의 새 VM
  5. SQL Server 2014 RTM Standard – Windows Server 2012 R2를 클릭하고 화살표를 클릭하여 계속합니다.

    다음   

    Reporting Services 데이터 기반 구독 기능이 필요하면 SQL Server 2014 RTM Enterprise – Windows Server 2012 R2를 선택합니다. SQL Server 버전 및 기능 지원에 대한 자세한 내용은 SQL Server 2012 버전에서 지원하는 기능을 참조하세요.

  6. 가상 컴퓨터 구성 페이지에서 다음 필드를 편집합니다.

    • 둘 이상의 버전 릴리스 날짜가 있는 경우 최신 버전을 선택합니다.

    • 가상 컴퓨터 이름: 컴퓨터 이름은 다음 구성 페이지에서도 기본 클라우드 서비스 DNS 이름으로 사용됩니다. DNS 이름은 Azure 서비스 내에서 고유해야 합니다. VM의 사용 용도를 설명하는 컴퓨터 이름으로 VM을 구성하는 것을 고려하십시오. 예를 들면 ssrsnativecloud를 사용합니다.

    • 계층: Standard

    • 크기: SQL Server 작업에 권장되는 VM 크기는 A3입니다. VM이 보고서 서버로만 사용될 경우에는 보고서 서버의 작업이 크지 않은 한 VM 크기가 A2면 충분합니다. VM 가격에 대한 자세한 내용은 가상 컴퓨터 가격을 참조하세요.

    • 새 사용자 이름: 제공한 이름은 VM에서 관리자로 생성됩니다.

    • 새 암호확인. 이 암호는 새로운 관리자 계정에 사용되므로 강력한 암호를 사용하는 것이 좋습니다.

    • 다음다음을 클릭합니다.

  7. 다음 페이지에서 다음 필드를 편집합니다.

    1. 클라우드 서비스:새 클라우드 서비스 만들기를 선택합니다.

    2. 클라우드 서비스 DNS 이름: 이 이름은 VM과 연결된 클라우드 서비스의 공용 DNS 이름입니다. 기본 이름은 VM 이름에 입력한 이름입니다. 이 항목의 뒷부분에 나오는 단계에서 신뢰할 수 있는 SSL 인증서를 만드는 경우에는 DNS 이름이 인증서의 "발급 대상" 값으로 사용됩니다.

    3. 지역/선호도 그룹/가상 네트워크: 최종 사용자와 가장 가까운 지역을 선택합니다.

    4. 저장소 계정: 자동으로 생성된 저장소 계정을 사용합니다.

    5. 가용성 집합: 없음.

    6. 끝점원격 데스크톱PowerShell 끝점을 유지하고 사용자 환경에 따라 HTTP 또는 HTTPS 끝점을 추가합니다.

      • HTTP: 기본 공용 및 개인 포트는 80입니다.

        note참고
        80 이외의 개인 포트를 사용할 경우 HTTP 스크립트에서 $HTTPport = 80을 수정합니다.

      • HTTPS: 기본 공용 및 개인 포트는 443입니다. 보안을 위해서는 개인 포트를 변경하고 이 개인 포트를 사용하도록 방화벽 및 보고서 서버를 구성하는 것이 가장 좋습니다. 끝점에 대한 자세한 내용은 가상 컴퓨터와 통신을 설정하는 방법을 참조하세요.

      note참고
      443 이외의 포트를 사용할 경우 HTTPS 스크립트에서 $HTTPsport = 443 매개 변수를 변경합니다.

    7. 다음 다음을 클릭합니다.

  8. 마법사의 마지막 페이지에서 기본 VM 에이전트 설치를 선택된 상태로 유지합니다. 이 항목의 단계에서는 VM 에이전트를 활용하지 않지만 이 VM을 유지하려는 경우 VM 에이전트 및 확장을 사용하여 CM을 개선할 수 있습니다. VM 에이전트에 대한 자세한 내용은 VM 에이전트 및 확장 - 1부를 참조하세요. 설치 및 실행되는 기본 확장 중 하나는 VM 데스크톱에 내부 IP와 사용 가능한 드라이브 공간 등의 시스템 정보를 표시하는 "BGINFO" 확장입니다.

  9. 전체 확인을 클릭합니다.

  10. 프로비전 프로세스 중에는 VM의 상태시작 중(프로비전 중)으로 표시되고 VM이 프로비전되어 사용할 준비가 되면 실행 중으로 표시됩니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘 Top

note참고
보고서 서버에 HTTPS가 필요하지 않으면 2단계를 건너뛰고스크립트를 사용하여 보고서 서버 및 HTTP 구성 섹션으로 이동할 수 있습니다. HTTP 스크립트를 사용하여 보고서 서버를 신속하게 구성하면 보고서 서버를 사용할 준비가 됩니다.

VM에서 HTTPS를 사용하려면 신뢰할 수 있는 SSL 인증서가 필요합니다. 사용자의 시나리오에 따라 다음 두 가지 방법 중 하나를 사용할 수 있습니다.

  1. 인증 기관에서 해당 웹 사이트에 대한 서버 인증서를 요청합니다.

    웹 서버 인증서 마법사를 사용해서 인증 기관에 보낼 인증서 요청 파일(Certreq.txt)을 생성하거나 온라인 인증 기관에 대한 요청을 생성할 수 있습니다. 예를 들어, Windows Server 2012에서 Microsoft 인증서 서비스를 사용할 수 있습니다. 서버 인증서에서 제공되는 식별 보증 수준에 따라 인증 기관이 사용자의 요청을 승인하고 인증서 파일을 보낼 때까지 며칠 또는 몇 개월이 걸릴 수 있습니다.

    서버 인증서 요청에 대한 자세한 내용은 다음을 참조하십시오.

    Important중요
    신뢰할 수 있는 SSL 인증서의 발급 대상 필드는 새 VM에 사용한 클라우드 서비스 DNS 이름과 동일해야 합니다.

  2. 웹 서버에 서버 인증서를 설치합니다 . 이 경우 웹 서버는 보고서 서버를 호스팅하는 VM이며, 웹 사이트는 나중에 Reporting Services를 구성하는 단계에서 생성됩니다. 인증서 MMC 스냅인을 사용하여 웹 서버에 서버 인증서를 설치하는 방법에 대한 자세한 내용은 서버 인증서 설치를 참조하세요.

    이 항목에 포함된 스크립트를 사용해서 보고서 서버를 구성하려면 스크립트 매개 변수로 인증서지문의 값이 필요합니다. 인증서의 지문을 가져오는 방법에 대한 자세한 내용은 다음 섹션을 참조하십시오.

  3. 보고서 서버에 서버 인증서를 할당합니다. 이 할당 작업은 보고서 서버를 구성하는 다음 섹션에서 수행됩니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘 Top

자체 서명된 인증서는 VM을 프로비전할 때 해당 VM에서 생성됩니다. 인증서 이름은 VM DNS 이름과 동일합니다. 인증서 오류를 방지하기 위해서는 인증서가 VM 자체에서 신뢰할 수 있어야 하며, 사이트의 모든 사용자에서도 신뢰할 수 있어야 합니다.

  1. 로컬 VM에서 인증서의 루트 CA를 신뢰할 수 있도록 하려면 신뢰할 수 있는 루트 인증 기관에 인증서를 추가합니다. 필요한 단계를 요약하면 다음과 같습니다. CA를 신뢰할 수 있도록 설정하는 자세한 단계는 서버 인증서 설치를 참조하세요.

    1. Azure 관리 포털에서 VM을 선택하고 연결을 클릭합니다. 브라우저 구성에 따라 VM에 연결하려면 .rdp 파일을 저장하라는 메시지가 나타날 수도 있습니다.

      Azure 가상 컴퓨터 연결 VM을 만들 때 구성한 사용자 VM 이름, 사용자 이름 및 암호를 사용합니다. 예를 들어 다음 이미지에서 VM 이름은 ssrsnativecloud이고 사용자 이름은 testuser입니다.

      로그인에 VM 이름 포함
    2. mmc.exe을 실행합니다. 자세한 내용은 방법: MMC 스냅인을 사용하여 인증서 보기를 참조하세요.

    3. 콘솔 응용 프로그램 파일 메뉴에서 인증서 스냅인을 추가하고, 메시지가 나타나면 컴퓨터 계정을 선택한 후 다음을 클릭합니다.

    4. 관리할 로컬 컴퓨터를 선택한 후 마침을 클릭합니다.

    5. 확인을 클릭한 다음 인증서-개인 노드를 확장하고 인증서를 클릭합니다. 인증서 이름은 VM의 DNS 이름에 cloudapp.net를 추가하여 지정됩니다. 인증서 이름을 마우스 오른쪽 단추로 클릭하고 복사를 클릭합니다.

    6. 신뢰할 수 있는 루트 인증 기관 노드를 확장한 후 인증서를 마우스 오른쪽 단추로 클릭한 후 붙여넣기를 클릭합니다.

    7. 확인을 위해 신뢰할 수 있는 루트 인증 기관 아래에서 인증서 이름을 두 번 클릭하여 오류 없이 인증서가 표시되는지 확인합니다. 이 항목에 포함된 HTTPS 스크립트를 사용하여 보고서 서버를 구성하려면 스크립트 매개 변수로 인증서 지문 값이 필요합니다. 지문 값을 가져오려면 다음을 수행합니다. 스크립트를 사용하여 보고서 서버 및 HTTPS 구성 섹션에 지문을 검색하는 PowerShell 샘플도 있습니다.

      1. 인증서 이름(예: ssrsnativecloud.cloudapp.net)을 두 번 클릭합니다.

      2. 세부 정보 탭을 클릭합니다.

      3. 지문을 클릭합니다. 지문 값은 세부 정보 필드에 표시됩니다. 예: ‎a6 08 3c df f9 0b f7 e3 7c 25 ed a4 ed 7e ac 91 9c 2c fb 2f.

      4. 지문을 복사하고 나중을 위해 값을 저장하거나 스크립트를 지금 편집합니다.

      5. (*) 스크립트를 실행하기 전에 값 쌍 사이의 공백을 제거합니다. 예를 들어 위 지문은 ‎a6083cdff90bf7e37c25eda4ed7eac919c2cfb2f가 됩니다.

  2. 보고서 서버에 서버 인증서를 할당합니다. 이 할당 작업은 보고서 서버를 구성하는 다음 섹션에서 수행됩니다.

자체 서명된 SSL 인증서를 사용하는 경우 인증서 이름은 이미 VM의 호스트 이름과 일치합니다. 따라서 컴퓨터의 DNS가 이미 전역으로 등록되었으며, 어떤 클라이언트에서도 액세스할 수 있습니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘 Top

이 섹션에서는 VM을 Reporting Services 기본 모드 보고서 서버로 구성하는 방법을 안내합니다. 다음 방법 중 하나를 사용하여 보고서 서버를 구성할 수 있습니다.

자세한 단계는 가상 컴퓨터에 연결하고 Reporting Services 구성 관리자 시작을 참조하세요.

인증 참고: Windows 인증은 권장되는 인증 방법이며 기본 Reporting Services 인증입니다. VM에 구성된 사용자만 Reporting Services에 액세스할 수 있으며, Reporting Services 역할에 할당될 수 있습니다.

Windows PowerShell 스크립트를 사용하여 보고서 서버를 구성하려면 다음 단계를 수행합니다. 이 구성에는 HTTP는 포함되고 HTTPS는 포함되지 않습니다.

  1. Azure 관리 포털에서 VM을 선택하고 연결을 클릭합니다. 브라우저 구성에 따라 VM에 연결하려면 .rdp 파일을 저장하라는 메시지가 나타날 수도 있습니다.

    Azure 가상 컴퓨터 연결 VM을 만들 때 구성한 사용자 VM 이름, 사용자 이름 및 암호를 사용합니다. 예를 들어 다음 이미지에서 VM 이름은 ssrsnativecloud이고 사용자 이름은 testuser입니다.

    로그인에 VM 이름 포함
  2. VM에서 Windows PowerShell ISE를 관리자 권한으로 엽니다. PowerShell ISE는 Windows Server 2012에 기본적으로 설치되어 있습니다. 스크립트를 ISE에 붙여 넣고, 스크립트를 수정한 후 실행할 수 있도록 하려면 표준 Windows PowerShell 창 대신 ISE를 사용하는 것이 좋습니다.

  3. Windows PowerShell ISE에서 보기 메뉴를 클릭한 후 스크립트 창 표시를 클릭합니다.

  4. 다음 스크립트를 복사하여 Windows PowerShell ISE 스크립트 창에 붙여 넣습니다.

    ## This script configures a Native mode report server without HTTPS
    $ErrorActionPreference = "Stop"
    
    $server = $env:COMPUTERNAME
    $HTTPport = 80 # change the value if you used a different port for the private HTTP endpoint when the VM was created.
    
    ## Set PowerShell execution policy to be able to run scripts
    Set-ExecutionPolicy RemoteSigned -Force
    
    ## Utility method for verifying an operation's result
    function CheckResult
    {
        param($wmi_result, $actionname)
        if ($wmi_result.HRESULT -ne 0) {
            write-error "$actionname failed. Error from WMI: $($wmi_result.Error)"
        }
    }
    
    $starttime=Get-Date
    write-host -foregroundcolor DarkGray $starttime StartTime
    
    ## ReportServer Database name - this can be changed if needed
    $dbName='ReportServer'
    
    ## Register for MSReportServer_ConfigurationSetting
    ## Change the version portion of the path to "v11" to use the script for SQL Server 2012
    $RSObject = Get-WmiObject -class "MSReportServer_ConfigurationSetting" -namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLSERVER\v12\Admin"
    
    ## Report Server Configuration Steps
    
    ## Setting the web service URL ##
    write-host -foregroundcolor green "Setting the web service URL"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## SetVirtualDirectory for ReportServer site
        write-host 'Calling SetVirtualDirectory'
        $r = $RSObject.SetVirtualDirectory('ReportServerWebService','ReportServer',1033)
        CheckResult $r "SetVirtualDirectory for ReportServer"
    
    ## ReserveURL for ReportServerWebService - port $HTTPport (for local usage)
        write-host "Calling ReserveURL port $HTTPport"
        $r = $RSObject.ReserveURL('ReportServerWebService',"http://+:$HTTPport",1033)
        CheckResult $r "ReserveURL for ReportServer port $HTTPport" 
       
    ## Setting the Database ##
    write-host -foregroundcolor green "Setting the Database"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## GenerateDatabaseScript - for creating the database
        write-host "Calling GenerateDatabaseCreationScript for database $dbName"
        $r = $RSObject.GenerateDatabaseCreationScript($dbName,1033,$false)
        CheckResult $r "GenerateDatabaseCreationScript"
        $script = $r.Script
    
    ## Execute sql script to create the database
        write-host 'Executing Database Creation Script'
        $savedcvd = Get-Location
        Import-Module SQLPS              ## this automatically changes to sqlserver provider
        Invoke-SqlCmd -Query $script
        Set-Location $savedcvd
      
    ## GenerateGrantRightsScript 
        $DBUser = "NT Service\ReportServer"
        write-host "Calling GenerateDatabaseRightsScript with user $DBUser"
        $r = $RSObject.GenerateDatabaseRightsScript($DBUser,$dbName,$false,$true)
        CheckResult $r "GenerateDatabaseRightsScript"
        $script = $r.Script
    
    ## Execute grant rights script
        write-host 'Executing Database Rights Script'
        $savedcvd = Get-Location
        cd sqlserver:\
        Invoke-SqlCmd -Query $script
        Set-Location $savedcvd
    
    ## SetDBConnection - uses Windows Service (type 2), username is ignored
        write-host "Calling SetDatabaseConnection server $server, DB $dbName"
        $r = $RSObject.SetDatabaseConnection($server,$dbName,2,'','')
        CheckResult $r "SetDatabaseConnection"  
    
    ## Setting the Report Manager URL ##
    
    write-host -foregroundcolor green "Setting the Report Manager URL"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## SetVirtualDirectory for Reports (Report Manager) site
        write-host 'Calling SetVirtualDirectory'
        $r = $RSObject.SetVirtualDirectory('ReportManager','Reports',1033)
        CheckResult $r "SetVirtualDirectory"
    
    ## ReserveURL for ReportManager  - port $HTTPport
        write-host "Calling ReserveURL for ReportManager, port $HTTPport"
        $r = $RSObject.ReserveURL('ReportManager',"http://+:$HTTPport",1033)
        CheckResult $r "ReserveURL for ReportManager port $HTTPport"
    
    write-host -foregroundcolor green "Open Firewall port for $HTTPport"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## Open Firewall port for $HTTPport
        New-NetFirewallRule -DisplayName “Report Server (TCP on port $HTTPport)” -Direction Inbound –Protocol TCP –LocalPort $HTTPport
        write-host "Added rule Report Server (TCP on port $HTTPport) in Windows Firewall"
    
    write-host 'Operations completed, Report Server is ready'
    write-host -foregroundcolor DarkGray $starttime StartTime
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time 
    
    
  5. 80이 아닌 다른 HTTP 포트로 VM을 만든 경우 $HTTPport = 80 매개 변수를 수정합니다.

  6. 이 스크립트는 현재 Reporting Services에 맞게 구성되어 있습니다. Reporting Services에 대한 스크립트를 실행하려면 Get-WmiObject 문에서 네임스페이스 경로의 버전 부분을 "v11"로 수정합니다.

  7. 스크립트를 실행합니다.

유효성 검사:기본 보고서 서버 기능이 작동하는지 확인하려면 이 항목의 뒷부분에 나오는 유효성 검사구성 확인 섹션을 참조하십시오.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘 Top

Windows PowerShell을 사용하여 보고서 서버를 구성하려면 다음 단계를 수행합니다. 이 구성에는 HTTPS는 포함되고 HTTP는 포함되지 않습니다.

  1. Azure 관리 포털에서 VM을 선택하고 연결을 클릭합니다. 브라우저 구성에 따라 VM에 연결하려면 .rdp 파일을 저장하라는 메시지가 나타날 수도 있습니다.

    Azure 가상 컴퓨터 연결 VM을 만들 때 구성한 사용자 VM 이름, 사용자 이름 및 암호를 사용합니다. 예를 들어 다음 이미지에서 VM 이름은 ssrsnativecloud이고 사용자 이름은 testuser입니다.

    로그인에 VM 이름 포함
  2. VM에서 Windows PowerShell ISE를 관리자 권한으로 엽니다. PowerShell ISE는 Windows Server 2012에 기본적으로 설치되어 있습니다. 스크립트를 ISE에 붙여 넣고, 스크립트를 수정한 후 실행할 수 있도록 하려면 표준 Windows PowerShell 창 대신 ISE를 사용하는 것이 좋습니다.

  3. 스크립트 실행을 활성화하려면 다음 Windows PowerShell 명령을 실행합니다.

    Set-ExecutionPolicy RemoteSigned
    
    다음을 실행하여 정책을 확인할 수 있습니다.

    Get-ExecutionPolicy
    
  4. Windows PowerShell ISE에서 보기 메뉴를 클릭한 후 스크립트 창 표시를 클릭합니다.

  5. 다음 스크립트를 복사하여 Windows PowerShell ISE 스크립트 창에 붙여 넣습니다.

    ## This script configures the report server, including HTTPS
    $ErrorActionPreference = "Stop"
    $httpsport=443 # modify if you used a different port number when the HTTPS endpoint was created.
    
    # You can run the following command to get (.cloudapp.net certificates) so you can copy the thumbprint / certificate hash
    #dir cert:\LocalMachine -rec | Select-Object * | where {$_.issuer -like "*cloudapp*" -and $_.pspath -like "*root*"} | select dnsnamelist, thumbprint, issuer
    #
    # The certifacte hash is a REQUIRED parameter
    $certificatehash="" 
    # the certificate hash should not contain spaces
    
    if ($certificatehash.Length -lt 1) 
    {
        write-error "certificatehash is a required parameter"
    } 
    # Certificates should be all lower case
    $certificatehash=$certificatehash.ToLower()
    $server = $env:COMPUTERNAME
    # If the certificate is not a wildcard certificate, comment out the following line, and enable the full $DNSNAme reference.
    $DNSName="+"
    #$DNSName="$server.cloudapp.net"
    $DNSNameAndPort = $DNSName + ":$httpsport"
    
    ## Utility method for verifying an operation's result
    function CheckResult
    {
        param($wmi_result, $actionname)
        if ($wmi_result.HRESULT -ne 0) {
            write-error "$actionname failed. Error from WMI: $($wmi_result.Error)"
        }
    }
    
    $starttime=Get-Date
    write-host -foregroundcolor DarkGray $starttime StartTime
    
    ## ReportServer Database name - this can be changed if needed
    $dbName='ReportServer'
    
    write-host "The script will use $DNSNameAndPort as the DNS name and port" 
    
    ## Register for MSReportServer_ConfigurationSetting
    ## Change the version portion of the path to "v11" to use the script for SQL Server 2012
    $RSObject = Get-WmiObject -class "MSReportServer_ConfigurationSetting" -namespace "root\Microsoft\SqlServer\ReportServer\RS_MSSQLSERVER\v12\Admin"
    
    ## Reporting Services Report Server Configuration Steps
    
    ## 1. Setting the web service URL ##
    write-host -foregroundcolor green "Setting the web service URL"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## SetVirtualDirectory for ReportServer site
        write-host 'Calling SetVirtualDirectory'
        $r = $RSObject.SetVirtualDirectory('ReportServerWebService','ReportServer',1033)
        CheckResult $r "SetVirtualDirectory for ReportServer"
    
    ## ReserveURL for ReportServerWebService - port 80 (for local usage)
        write-host 'Calling ReserveURL port 80'
        $r = $RSObject.ReserveURL('ReportServerWebService','http://+:80',1033)
        CheckResult $r "ReserveURL for ReportServer port 80" 
    
    ## ReserveURL for ReportServerWebService - port $httpsport
        write-host "Calling ReserveURL port $httpsport, for URL: https://$DNSNameAndPort"
        $r = $RSObject.ReserveURL('ReportServerWebService',"https://$DNSNameAndPort",1033)
        CheckResult $r "ReserveURL for ReportServer port $httpsport" 
    
    ## CreateSSLCertificateBinding for ReportServerWebService port $httpsport
        write-host "Calling CreateSSLCertificateBinding port $httpsport, with certificate hash: $certificatehash"
        $r = $RSObject.CreateSSLCertificateBinding('ReportServerWebService',$certificatehash,'0.0.0.0',$httpsport,1033)
        CheckResult $r "CreateSSLCertificateBinding for ReportServer port $httpsport" 
        
    ## 2. Setting the Database ##
    write-host -foregroundcolor green "Setting the Database"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## GenerateDatabaseScript - for creating the database
        write-host "Calling GenerateDatabaseCreationScript for database $dbName"
        $r = $RSObject.GenerateDatabaseCreationScript($dbName,1033,$false)
        CheckResult $r "GenerateDatabaseCreationScript"
        $script = $r.Script
    
    ## Execute sql script to create the database
        write-host 'Executing Database Creation Script'
        $savedcvd = Get-Location
        Import-Module SQLPS                    ## this automatically changes to sqlserver provider
        Invoke-SqlCmd -Query $script
        Set-Location $savedcvd
      
    ## GenerateGrantRightsScript 
        $DBUser = "NT Service\ReportServer"
        write-host "Calling GenerateDatabaseRightsScript with user $DBUser"
        $r = $RSObject.GenerateDatabaseRightsScript($DBUser,$dbName,$false,$true)
        CheckResult $r "GenerateDatabaseRightsScript"
        $script = $r.Script
    
    ## Execute grant rights script
        write-host 'Executing Database Rights Script'
        $savedcvd = Get-Location
        cd sqlserver:\
        Invoke-SqlCmd -Query $script
        Set-Location $savedcvd
    
    ## SetDBConnection - uses Windows Service (type 2), username is ignored
        write-host "Calling SetDatabaseConnection server $server, DB $dbName"
        $r = $RSObject.SetDatabaseConnection($server,$dbName,2,'','')
        CheckResult $r "SetDatabaseConnection"  
    
    ## 3. Setting the Report Manager URL ##
    
    write-host -foregroundcolor green "Setting the Report Manager URL"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## SetVirtualDirectory for Reports (Report Manager) site
        write-host 'Calling SetVirtualDirectory'
        $r = $RSObject.SetVirtualDirectory('ReportManager','Reports',1033)
        CheckResult $r "SetVirtualDirectory"
    
    ## ReserveURL for ReportManager  - port 80
        write-host 'Calling ReserveURL for ReportManager, port 80'
        $r = $RSObject.ReserveURL('ReportManager','http://+:80',1033)
        CheckResult $r "ReserveURL for ReportManager port 80"
    
    ## ReserveURL for ReportManager - port $httpsport
        write-host "Calling ReserveURL port $httpsport, for URL: https://$DNSNameAndPort"
        $r = $RSObject.ReserveURL('ReportManager',"https://$DNSNameAndPort",1033)
        CheckResult $r "ReserveURL for ReportManager port $httpsport" 
    
    ## CreateSSLCertificateBinding for ReportManager port $httpsport
        write-host "Calling CreateSSLCertificateBinding port $httpsport with certificate hash: $certificatehash"
        $r = $RSObject.CreateSSLCertificateBinding('ReportManager',$certificatehash,'0.0.0.0',$httpsport,1033)
        CheckResult $r "CreateSSLCertificateBinding for ReportManager port $httpsport" 
    
    write-host -foregroundcolor green "Open Firewall port for $httpsport"
    write-host -foregroundcolor green ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    ## Open Firewall port for $httpsport
        New-NetFirewallRule -DisplayName “Report Server (TCP on port $httpsport)” -Direction Inbound –Protocol TCP –LocalPort $httpsport
        write-host "Added rule Report Server (TCP on port $httpsport) in Windows Firewall"
    
    write-host 'Operations completed, Report Server is ready'
    write-host -foregroundcolor DarkGray $starttime StartTime
    $time=Get-Date
    write-host -foregroundcolor DarkGray $time
    
    
     

  6. 스크립트에서 다음 매개 변수를 수정합니다.

    1. $certificatehash: 이 매개 변수는 필수입니다. 이전 단계에서 인증서 값을 저장하지 않은 경우 다음 방법 중 하나를 사용하여 인증서 지문에서 인증서 해시 값을 복사합니다.

      • VM에서 Windows PowerShell ISE를 열고 다음 명령을 실행합니다.

        dir cert:\LocalMachine -rec | Select-Object * | where {$_.issuer -like "*cloudapp*" -and $_.pspath -like "*root*"} | select dnsnamelist, thumbprint, issuer
        
      • 출력은 다음과 비슷합니다. 스크립트에서 빈 줄이 반환되면 VM에 인증서가 구성되지 않은 것입니다(예제는 가상 컴퓨터의 자체 서명된 인증서를 사용하려면 섹션 참조).

      OR

      1. VM에서 mmc.exe를 실행한 후 인증서 스냅인을 추가합니다.

      2. 신뢰할 수 있는 루트 인증 기관 노드에서 인증서 이름을 두 번 클릭합니다. VM의 자체 서명된 인증서를 사용하는 경우 인증서 이름은 VM의 DNS 이름과 cloudapp.net으로 지정됩니다.

      3. 세부 정보 탭을 클릭합니다.

      4. 지문을 클릭합니다. 지문 값은 세부 정보 필드에 표시됩니다. 예: af 11 60 b6 4b 28 8d 89 0a 82 12 ff 6b a9 c3 66 4f 31 90 48

      5. 스크립트를 실행하기 전에 값 쌍 사이의 공백을 제거합니다. 예를 들어 af1160b64b288d890a8212ff6ba9c3664f319048를 입력합니다.

    2. $httpsport: HTTPS 끝점에 포트 443을 사용한 경우 스크립트에서 이 매개 변수를 업데이트하지 않아도 됩니다. 그렇지 않으면 VM에서 HTTPS 개인 끝점을 구성할 때 선택한 포트 값을 사용합니다.

    3. $DNSName: 이 스크립트는 와일드카드 인증서 $DNSName="+"에 대해 구성된 것입니다. 와일드카드 인증서 바인딩에 대해 구성하지 않으려면 $DNSName="+"를 주석 처리한 후 전체 $DNSNAme 참조인 ##$DNSName="$server.cloudapp.net" 줄을 사용하도록 설정합니다.

      Reporting Services에 대해 가상 컴퓨터의 DNS 이름을 사용하지 않으려면 $DNSName 값을 변경합니다. 이 매개 변수를 사용할 경우, 인증서에도 이 이름이 사용되어야 하며, DNS 서버에서 이 이름을 전역으로 등록해야 합니다.

    4. 이 스크립트는 현재 Reporting Services에 맞게 구성되어 있습니다. Reporting Services에 대한 스크립트를 실행하려면 Get-WmiObject 문에서 네임스페이스 경로의 버전 부분을 "v11"로 수정합니다.

  7. 스크립트를 실행합니다.

유효성 검사:기본 보고서 서버 기능이 작동하는지 확인하려면 이 항목의 뒷부분에 나오는 유효성 검사구성 확인 섹션을 참조하십시오. 인증서 바인딩을 확인하려면 관리 권한으로 명령 프롬프트를 열고 다음 명령을 실행합니다.

netsh http show sslcert

결과에 다음이 포함됩니다.

IP:port : 0.0.0.0:443

Certificate Hash : f98adf786994c1e4a153f53fe20f94210267d0e7

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘 Top

PowerShell 스크립트를 실행해서 보고서 서버를 구성하지 않으려면 이 섹션의 단계에 따라 Reporting Services 기본 모드 구성 관리자를 사용해서 보고서 서버를 구성합니다.

  1. Azure 관리 포털에서 VM을 선택하고 연결을 클릭합니다. VM을 만들 때 구성한 사용자 이름과 암호를 사용합니다.

    Azure 가상 컴퓨터 연결
  2. Windows Update를 실행하고 VM에 업데이트를 설치합니다. VM을 다시 시작해야 하면 VM을 다시 시작하고 Azure 관리 포털에서 VM에 다시 연결합니다.

  3. VM의 시작 메뉴에서 Reporting Services를 입력하고 Reporting Services 구성 관리자를 엽니다.

  4. 서버 이름보고서 서버 인스턴스는 기본값을 그대로 둡니다. 연결을 클릭합니다.

  5. 왼쪽 창에서 웹 서비스 URL을 클릭합니다.

  6. 기본적으로 RS는 HTTP 포트 80과 IP "모두 할당됨"으로 구성됩니다. HTTPS를 추가하려면

    1. SSL 인증서:에서 사용할 인증서를 선택합니다. 예: [VM name].cloudapp.net. 나열된 인증서가 없는 경우 VM에 인증서를 설치하고 신뢰하도록 설정하는 방법에 대한 자세한 내용은 2단계: 서버 인증서 만들기 섹션을 참조하십시오.

    2. SSL 포트:에서 443을 선택합니다. VM에서 다른 개인 포트를 사용해서 HTTPS 개인 끝점을 구성한 경우 해당 값을 여기에 사용합니다.

    3. 적용을 클릭하고 작업이 완료될 때까지 기다립니다.

  7. 왼쪽 창에서 데이터베이스를 클릭합니다.

    1. 데이터베이스 변경을 클릭합니다.

    2. 새 보고서 서버 데이터베이스 만들기를 클릭한 후 다음을 클릭합니다.

    3. 기본 서버 이름: 을 VM 이름 그대로 두고 기본 인증 유형현재 사용자 – 통합 보안 그대로 둡니다. 다음을 클릭합니다.

    4. 기본 데이터베이스 이름ReportServer 그대로 두고 다음을 클릭합니다.

    5. 기본 인증 유형서비스 자격 증명 그대로 두고 다음을 클릭합니다.

    6. 요약 페이지에서 다음을 클릭합니다.

    7. 구성이 완료되면 마침을 클릭합니다.

  8. 왼쪽 창에서 보고서 관리자 URL을 클릭합니다. 기본 가상 디렉터리보고서 그대로 두고 적용을 클릭합니다.

  9. 끝내기를 클릭하여 Reporting Services 구성 관리자를 닫습니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘 Top

note참고
스크립트 중 하나를 사용하여 보고서 서버를 구성한 경우에는 이 단계를 건너 뛸 수 있습니다. 스크립트에는 방화벽 포트를 여는 단계가 포함되었습니다. 기본 포트는 HTTP의 경우 80, HTTPS의 경우 443이었습니다.

가상 컴퓨터에서 보고서 관리자 또는 보고서 서버에 원격으로 연결하려면 VM에서 TCP 끝점이 필요합니다. VM의 방화벽에서 동일한 포트를 열어야 합니다. 끝점은 VM이 프로비전될 때 생성되었습니다.

이 섹션에서는 방화벽 포트를 여는 방법에 대한 기본 정보를 제공합니다. 자세한 내용은 보고서 서버 액세스를 위한 방화벽 구성을 참조하세요.

note참고
스크립트를 사용해서 보고서 서버를 구성한 경우에는 이 단계를 건너 뛸 수 있습니다. 스크립트에는 방화벽 포트를 여는 단계가 포함되었습니다.

HTTPS에 대해 443 이외의 개인 포트를 구성한 경우 다음 스크립트를 수정합니다. Windows 방화벽에서 포트 443을 열려면 다음을 수행합니다.

  1. 관리자 권한으로 Windows PowerShell 창을 엽니다.

  2. VM에서 HTTPS 끝점을 구성할 때 443 이외의 포트를 사용한 경우 다음 명령에서 포트를 업데이트한 후 명령을 실행합니다.

    New-NetFirewallRule -DisplayName “Report Server (TCP on port 443)” -Direction Inbound –Protocol TCP –LocalPort 443
    
  3. 명령이 완료되면 명령 프롬프트에 Ok가 표시됩니다.

포트가 열렸는지 확인하려면 Windows PowerShell 창을 열고 다음 명령을 입력합니다.

get-netfirewallrule | where {$_.displayname -like "*report*"} | select displayname,enabled,action

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘 Top

이제 기본 보고서 서버 기능이 작동하는지 확인하려면 관리 권한으로 브라우저를 열고 다음 보고서 서버 및 보고서 관리자 URL로 이동합니다.

  • VM에서 보고서 서버 URL로 이동합니다.

    http://localhost/reportserver
    
  • VM에서 보고서 관리자 URL로 이동합니다.

    http://localhost/Reports
    
  • 로컬 컴퓨터에서 VM의 원격 보고서 관리자로 이동합니다. 다음 예에서 DNS 이름을 적절하게 업데이트합니다. 암호를 묻는 메시지가 나타나면 VM을 프로비전할 때 만든 관리자 자격 증명을 사용합니다. 사용자 이름은 [Domain]\[user name] 형식입니다. 여기서 Domain은 VM 컴퓨터 이름입니다(예: ssrsnativecloud\testuser). HTTPS를 사용하지 않는 경우에는 URL에서 s를 제거합니다. 다음 단계에서 VM에 추가 사용자를 만드는 방법을 참조합니다.

    https://ssrsnativecloud.cloudapp.net/Reports
    
  • 로컬 컴퓨터에서 원격 보고서 서버 URL로 이동합니다. 다음 예에서 DNS 이름을 적절하게 업데이트합니다. HTTPS를 사용하지 않는 경우에는 URL에서 s를 제거합니다.

    https://ssrsnativecloud.cloudapp.net/ReportServer
    

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘 Top

보고서 서버를 구성하고 확인한 다음에 일반적으로 수행되는 관리 작업은 하나 이상의 사용자를 만들고 사용자를 Reporting Services 역할에 할당하는 작업입니다. 자세한 내용은 다음 항목을 참조하십시오.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘 Top

아래에서는 온-프레미스 컴퓨터의 기존 보고서를 Microsoft Azure 가상 컴퓨터에서 호스팅된 보고서 서버에 게시하는 데 사용할 수 있는 몇 가지 옵션을 요약하여 설명합니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘 Top

Tip
사용 중이 아닐 때 Azure 가상 컴퓨터에 대한 요금을 최소화하기 위해서는 Azure 관리 포털에서 VM을 종료하십시오. VM을 종료하기 위해 VM 내에서 Windows 전원 옵션을 사용할 경우에는 해당 VM에 대해 여전히 동일한 금액이 부가됩니다. 요금을 줄이기 위해서는 Azure 관리 포털에서 VM을 종료해야 합니다. VM이 더 이상 필요하지 않으면 VM 및 연결된 .vhd 파일을 삭제하여 저장소 요금을 방지하십시오. 자세한 내용은 가상 컴퓨터 가격 세부 정보를 참조하세요.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘 Top

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘 Top

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘 Top

참고 항목

표시:
© 2015 Microsoft