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

자습서: 가상 네트워크를 통해 Azure의 SQL Server에 ASP.NET 응용 프로그램 연결

업데이트 날짜: 2014년 2월

Azure 클라우드 서비스(Platform as a Service)와 Azure 가상 컴퓨터(Infrastructure as a Service)를 둘 다 활용하는 응용 프로그램 작성은 대부분의 조직에게 중요한 개념입니다. Azure 가상 컴퓨터를 사용하면 가상 컴퓨터를 배포하고 관리하여 기존 서버 작업과 응용 프로그램을 Azure로 마이그레이션할 수 있습니다. Azure 클라우드 서비스를 사용하면 웹 역할 및 작업자 역할로 구성되는 클라우드 서비스(호스팅되는 서비스라고도 함)를 배포하여 Azure에서 다중 계층 응용 프로그램을 작성하고 실행할 수 있습니다.

이 자습서에서는 Azure 가상 네트워크를 통해 Azure 가상 컴퓨터의 SQL Server에 ASP.NET 응용 프로그램(클라우드 서비스 및 웹 역할)을 연결하는 방법을 보여 줍니다. Azure에서 가상 컴퓨터를 만들 때 포털에서 가상 네트워크 설정을 지정할 수 있습니다. 클라우드 서비스의 경우 서비스 구성 파일을 사용하여 Azure에서 특정 가상 네트워크에 클라우드 서비스를 배포해야 합니다.

이 자습서에서는 다음 작업 방법을 배웁니다.

  1. 이 자습서를 수행하려면 Visual Studio를 로컬 컴퓨터에 설치합니다.

  2. 또한 Azure SDK for .NET Framework를 설치합니다.

    • Azure SDK for .NET을 설치하려면 Azure 다운로드 링크를 클릭하고 사용하고 있는 Visual Studio의 버전에 해당하는 버전 중 하나를 선택합니다.

      Azure SDK for Visual Studio 2013

      Azure SDK for Visual Studio 2012

    • VWDOrVs2013AzurePack.2E2.2E2.exe 또는 VWDOrVs11AzurePack.2E2.2E2.exe를 실행하거나 저장하라는 메시지가 표시되면 실행을 클릭합니다.

    • 웹 플랫폼 설치 관리자 창에서 설치를 클릭하고 설치 작업을 진행합니다.

  3. (선택 사항) 로컬 온-프레미스 개발 환경에서 이 자습서를 테스트하려면 로컬 컴퓨터에도 SQL Server를 설치해야 합니다.

이 자습서에서의 목표는 클라우드에서 전용 개인 가상 네트워크를 만드는 것입니다. 이렇게 하면 가상 컴퓨터의 내부 IP 주소(DIP 제어 IP)가 영구적으로 유지되고 가상 컴퓨터를 다시 시작하는 경우에도 변경되지 않습니다. 다음 단계에서는 관리 포털에서 구독에 대한 새로운 가상 네트워크를 만드는 방법을 보여 줍니다.

  1. 왼쪽 탐색 창에서 네트워크를 클릭하고 아래쪽 패널에서 새로 만들기를 클릭합니다. 그런 다음 가상 네트워크사용자 지정 만들기를 클릭합니다.

  2. 가상 네트워크 세부 정보 창에서 이름 상자에 TestVirtualNetwork를 입력합니다. 지역을 선택하고 새 선호도 그룹 만들기를 선택한 다음 선호도 그룹 이름 필드에 TestAffinityGroup을 입력합니다. 다음 화살표를 클릭하여 계속합니다.

    선호도 그룹을 만들면 Azure에서 선호도 그룹에 속한 모든 서비스를 한 데이터 센터에서 가능한 한 서로 가까운 곳에 유지할 수 있습니다. 이에 따라 지연 시간이 줄어들고 성능이 향상되기 때문에 잠재적으로 비용이 줄어듭니다. 가상 네트워크를 만들 때 이전에 만든 선호도 그룹을 사용하거나 새로운 선호도 그룹을 만들 수 있습니다. 새 가상 네트워크와 함께 기존 선호도 그룹을 사용하는 경우 해당 선호도 그룹에 있는 이전에 배포된 모든 클라우드 서비스는 새로운 가상 네트워크에 배포하는 다른 클라우드 서비스와 가능한 한 가까운 위치에서 실행되도록 자동으로 지정됩니다.

  3. DNS 서버 및 VPN 연결 대화 상자 창에서 사용할 DNS 서버 이름 및 IP 주소를 입력합니다(예: TestDNSServer10.1.0.4). 지점 및 사이트 간 연결이나 사이트 간 연결에 대한 확인란을 선택하지 마십시오. 이 자습서에서는 Azure에서 개인 가상 네트워크를 만들며 이 가상 네트워크는 크로스-프레미스 연결용이 아닙니다.

  4. 가상 네트워크 주소 공간 대화 상자 창에서 새로운 가상 네트워크 및 서브넷의 개인 주소 공간을 만들 수 있습니다. 주소 공간은 CIDR 표기법에 따라 10.0.0.0/8, 172.16.0.0/12 또는 192.168.0.0/16(RFC 1918에 명시)으로 지정된 개인 주소 범위여야 합니다. 주소 공간에서 시작 IP10.4.0.0을 입력하고 CIDR/16을 입력합니다. 가상 네트워크에 배포하는 모든 항목은 이 주소 공간에서 IP 주소를 얻습니다. Subnet-1FrontEndSubnet으로 바꾸고 시작 IP10.4.2.0/24를 입력한 후 서브넷 추가를 클릭합니다. 오른쪽 아래에서 확인 표시를 클릭하여 가상 네트워크를 만듭니다.

    가상 네트워크 주소 공간 내에 여러 서브넷을 만들 수 있습니다. 서브넷을 만들면 클라우드 서비스에 할당되는 주소와 가상 네트워크에 배포되는 가상 컴퓨터를 보다 강력하게 제어할 수 있습니다. Azure 플랫폼에서 사용할 복잡한 응용 프로그램을 작성하는 경우 동일한 가상 네트워크에서 여러 서브넷을 설정하는 것이 좋습니다. 예를 들어 IIS(인터넷 정보 서비스) 가상 컴퓨터의 서브넷을 설정하고 SQL Server 가상 컴퓨터의 서브넷을 추가로 설정할 수 있습니다.

    서브넷 IP 주소는 가상 네트워크 내에서 겹칠 수 없습니다.

  5. 가상 네트워크가 배포된 후에는 DNS 서버를 변경할 수 없으므로 DNS 서비스를 신중하게 계획하는 것이 매우 중요합니다. 이 계획에 도움이 되는 자세한 내용은 Azure 이름 확인 개요를 참조하십시오.

    가상 네트워크가 구성된 후 가상 컴퓨터나 클라우드 서비스를 배포할 수 있습니다. 가상 네트워크를 설정하는 방법은 MSDN 라이브러리에서 관리 포털에서 가상 네트워크 구성 정보 항목을 참조하십시오. Azure 네트워크와 사용 시나리오에 대한 자세한 내용은 MSDN 라이브러리에서 Azure 가상 네트워크Azure 가상 컴퓨터 개요를 참조하십시오.

Azure에서 데이터베이스는 SQL Server 인스턴스가 실행되는 가상 컴퓨터의 로컬 디스크에 저장된 것으로 나타납니다. 백그라운드에서 해당 디스크는 각각 Azure Blob에 기록됩니다. Azure에서는 저장소 계정을 디스크의 컨테이너로 사용합니다. 다음 단계에서는 관리 포털에서 새 저장소 계정을 만드는 방법을 보여 줍니다.

  1. Azure 관리 포털에서 가상 네트워크를 만든 후 왼쪽에서 저장소를 클릭하고 화면의 왼쪽 위 모퉁이에서 +새로 만들기를 클릭합니다.

  2. 데이터 서비스, 저장소, 빠른 생성을 차례로 클릭합니다.

  3. URL 상자에 teststorageaccount4u를 입력하고 방금 만든 선호도 그룹을 선택합니다. 복제에서 저장소 계정에 대해 원하는 복제 수준을 선택할 수 있습니다. 이 자습서에서는 로컬 중복을 선택합니다. 그런 다음 저장소 계정 만들기 확인란을 클릭합니다.

Azure 저장소 계정에 대한 자세한 내용은 저장소 계정이란?을 참조하십시오.

이 자습서의 목표는 Azure 가상 네트워크를 통해 Azure 가상 컴퓨터의 SQL Server에 ASP.NET 응용 프로그램(웹 역할)을 연결하는 방법을 보여주는 것입니다. 이 섹션에서는 지정된 선호도 그룹과 가상 네트워크에서 SQL Server 가상 컴퓨터를 만들고 구성하는 방법을 보여 줍니다.

  1. Azure 관리 포털에서 웹 페이지 왼쪽 아래에서 +새로 만들기, 계산, 가상 컴퓨터, 갤러리에서를 차례로 클릭합니다.

  2. SQL Server가 포함된 가상 컴퓨터 이미지를 선택하고 페이지의 오른쪽 아래에 있는 다음 화살표를 클릭합니다.

  3. 가상 컴퓨터 구성 페이지에서 다음 정보를 제공합니다.

    • 이미지의 여러 버전을 사용할 수 있는 경우 버전 릴리스 날짜에서 사용할 버전을 선택합니다.

    • SQLVM가상 컴퓨터 이름으로 입력합니다. Azure 포털에서 가상 컴퓨터 이름을 클릭하여 대시보드를 열면 가상 컴퓨터 이름을 호스트 이름으로 볼 수 있습니다.

    • 드롭다운 목록에서 적절한 크기를 선택합니다.

    • 새 사용자 이름 상자에 고유한 사용자 이름을 로컬 관리자로 입력합니다.

    • 새 암호 상자에 강력한 암호를 입력합니다.

    • 암호 확인 상자에 암호를 다시 입력합니다.

  4. 가상 컴퓨터 구성 페이지에서 다음 정보를 제공합니다.

    • 독립 실행형 가상 컴퓨터를 선택합니다.

    • 클라우드 서비스 DNS 이름 상자에서 선택한 DNS 이름의 첫 부분을 제공하여 SQLVM2013.cloudapp.net 형식으로 이름이 완성되도록 합니다.

    • 지역/선호도 그룹/가상 네트워크 상자에서 이 가상 이미지가 호스팅될 가상 네트워크를 선택합니다. 이 자습서에서는 앞에서 만든 TestVirtualNetwork를 선택합니다.

    • 저장소 계정 상자에서 앞에서 만든 저장소 계정 teststorageaccount4u를 선택합니다.

    • 이전 단계에서 가상 네트워크 TestVirtualNetwork를 선택하는 경우 이 가상 네트워크와 연결된 첫 번째 서브넷이 가상 네트워크 서브넷 상자에 기본적으로 표시됩니다. 가상 네트워크의 서브넷을 만들지 않은 경우 가상 네트워크 서브넷 상자가 화면에 나타나지 않습니다. 서브넷을 만든 경우에는 앞에서 만든 TestSubnet 서브넷을 선택합니다.

    • 가용성 집합 상자에서 (없음)을 선택합니다.

    • 다음 화살표를 클릭하여 계속합니다.

    • 원격 데스크톱 또는 SSH(보안 셸) 클라이언트를 통하는 등의 방법으로 가상 컴퓨터에 연결할 수 있도록 하기 위해 만들어질 새 끝점을 검토합니다. 끝점을 지금 추가하거나 나중에 만들 수도 있습니다. 끝점을 나중에 만들려면 가상 컴퓨터와 통신을 설정하는 방법을 참조하십시오.

    • 약관을 읽고 동의합니다.

    • 오른쪽 아래 모퉁이에 있는 확인 표시를 클릭하여 계속합니다.

  5. Azure에서는 가상 컴퓨터를 만들고 운영 체제 설정을 구성합니다. 프로비전 프로세스에 몇 분이 걸릴 수도 있습니다. Azure에서 가상 컴퓨터의 프로비전을 완료한 후 해당 가상 컴퓨터는 Azure 관리 포털에서 실행 중으로 표시됩니다. 중지됨으로 표시되면 시작을 클릭합니다. 가상 컴퓨터를 만들면 클라우드 서비스가 자동으로 만들어집니다. 첫 번째 가상 컴퓨터를 포함하기 위해 만들어진 클라우드 서비스는 첫 번째 컴퓨터에 추가 가상 컴퓨터를 연결할 때까지 관리 포털에 표시되지 않습니다. Azure에서는 가상 컴퓨터 모드 페이지에서 입력된 DNS 이름을 사용하여 이 새로운 클라우드 서비스의 이름을 정의합니다.

  6. Azure 관리 포털에서 방금 만든 SQLVM 가상 컴퓨터 이름을 클릭하여 대시보드를 엽니다.

  7. 가상 컴퓨터의 내부 IP 주소를 기록해 둡니다. 나중에 연결 문자열에서 이 주소를 사용합니다.

  8. 아래쪽 메뉴에서 연결을 클릭하고 RDP(원격 데스크톱)를 사용하여 가상 컴퓨터에 로그인합니다. 관리자 자격 증명을 사용하여 로그인합니다.

  9. 이 가상 컴퓨터에 처음 로그온하는 경우 데스크톱 설정, Windows Update 및 Windows 초기 구성 작업(sysprep)과 같은 몇 가지 프로세스를 완료해야 할 수 있습니다. Windows sysprep이 완료된 후 SQL Server 설치 프로그램은 구성 작업을 완료합니다. Windows 원격 데스크톱으로 가상 컴퓨터에 연결되면 가상 컴퓨터가 다른 컴퓨터와 매우 유사하게 작동합니다. 가상 컴퓨터에서 실행되는 SQL Server Management Studio를 사용하여 일반적인 방법으로 SQL Server의 기본 인스턴스에 연결할 수 있습니다.

  10. 다음 작업으로, TCP 프로토콜에서 수신하도록 SQL Server를 구성해야 합니다. 이렇게 하려면 시작 | 모든 프로그램 | Microsoft SQL Server | 구성 도구를 클릭하고 SQL Server 구성 관리자를 엽니다. 시작 | 모든 프로그램 | Microsoft SQL Server에서 선택하는 SQL Server 버전이 가상 컴퓨터를 만들었을 때 선택한 버전과 일치해야 합니다.

  11. SQL Server 구성 관리자의 콘솔 창에서 SQL Server 네트워크 구성을 확장합니다.

  12. 인스턴스 이름의 프로토콜을 클릭합니다. 기본 인스턴스는 MSSQLSERVER에 대한 프로토콜입니다.

  13. 세부 정보 창에서 TCP를 마우스 오른쪽 단추로 클릭합니다. 갤러리 이미지에 대해 기본적으로 사용이어야 합니다. 사용자 지정 이미지에 대해 사용을 클릭합니다(상태가 사용 안 함인 경우).

  14. 콘솔 창에서 SQL Server 서비스를 클릭합니다.

  15. 세부 정보 창에서 SQL Server (인스턴스 이름)(기본 인스턴스는 SQL Server (MSSQLSERVER)임)를 마우스 오른쪽 단추로 클릭한 다음 다시 시작을 클릭하여 SQL Server의 인스턴스를 중지하고 다시 시작합니다.

  16. 다음 작업으로, Windows 방화벽에서 데이터베이스 엔진의 기본 인스턴스에 대한 TCP 포트를 열어야 합니다. 이렇게 하려면 시작 | 모든 프로그램 | 관리 도구를 클릭하고 고급 보안이 포함된 Windows 방화벽을 엽니다.

  17. 고급 보안이 포함된 Windows 방화벽의 왼쪽 창에서 인바운드 규칙을 마우스 오른쪽 단추로 클릭한 다음 동작 창에서 새 규칙을 클릭합니다.

  18. 규칙 유형 대화 상자에서 포트를 선택한 다음 다음을 클릭합니다.

  19. 프로토콜 및 포트 대화 상자에서 TCP를 선택합니다. 특정 로컬 포트를 선택하고 데이터베이스 엔진 인스턴스의 포트 번호(기본 인스턴스의 경우 1433)를 입력한 후 다음을 클릭합니다.

  20. 동작 대화 상자에서 연결 허용을 선택하고 다음을 클릭합니다.

  21. 프로필 대화 상자에서 도메인, 개인, 공개를 차례로 선택하고 다음을 클릭합니다.

  22. 이름 페이지에서 인바운드 규칙의 이름을 SQLServerVM1Port로 설정하고 마침을 클릭합니다. 고급 보안이 포함된 Windows 방화벽 창을 닫습니다.

  23. 다음 작업으로, 혼합 모드 인증을 사용하도록 SQL Server를 구성해야 합니다. 도메인 환경이 없는 경우 SQL Server 데이터베이스 엔진은 Windows 인증을 사용할 수 없습니다. 이렇게 하려면 모든 프로그램 | Microsoft SQL Server (버전)를 클릭한 다음 SQL Server Management Studio를 클릭합니다.

  24. 서버에 연결 대화 상자의 서버 이름에 개체 탐색기를 사용하여 데이터베이스 엔진에 연결할 가상 컴퓨터의 호스트 이름을 입력합니다. Windows 인증을 선택하고 연결을 클릭합니다.

  25. SQL Server Management Studio 개체 탐색기에서 SQL Server 인스턴스의 이름(가상 컴퓨터 이름)을 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.

  26. 보안 페이지의 서버 인증에서 SQL Server 및 Windows 인증 모드를 선택한 다음 확인을 클릭합니다.

  27. 개체 탐색기에서 해당 서버를 마우스 오른쪽 단추로 클릭한 다음 다시 시작을 클릭합니다.

  28. 다음 작업으로, 다른 컴퓨터에서 첫 번째 가상 컴퓨터에 연결하기 위해 SQL Server 인증 로그인을 만들어야 합니다. 이렇게 하려면 SQL Server Management Studio 개체 탐색기에서 새 로그인을 만들 SQLVM 서버 인스턴스를 확장합니다. 보안 폴더를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 로그인…을 선택합니다.

  29. 로그인 - 신규 대화 상자의 일반 페이지에서 로그인 이름 상자에 새 사용자의 이름 sqlvmlogin을 입력한 다음 SQL Server 인증을 선택합니다. 암호 상자에 새 사용자의 암호를 입력합니다. 암호 확인 상자에 암호를 다시 입력합니다. 다른 상자에서는 기본값을 유지합니다.

  30. 이 로그인을 SQL Server 관리자로 지정하려면 서버 역할 페이지에서 sysadmin을 클릭하고 확인을 클릭합니다. 기본적으로 Azure에서는 SQL Server 가상 컴퓨터 설치 중에 Windows 인증을 선택합니다. 따라서 설치 프로그램에 의해 sa 로그인을 사용하지 않도록 설정되고 암호가 할당됩니다. sa 로그인을 사용하려면 사용하도록 설정하고 새 암호도 할당합니다. 자세한 내용은 서버 인증 모드 변경을 참조하십시오.

  31. SQL Server Management Studio 개체 탐색기에서 SQL Server 인스턴스의 이름(가상 컴퓨터 이름)을 마우스 오른쪽 단추로 클릭하고 연결 끊기를 클릭합니다.

다음 작업으로, ASP.NET 응용 프로그램에서 사용할 예제 데이터베이스를 만듭니다.

  1. SQL Server Management Studio 개체 탐색기에서 연결을 클릭한 다음 데이터베이스 엔진…을 클릭합니다.

  2. 서버에 연결 대화 상자의 서버 이름에 데이터베이스 엔진에 연결할 가상 컴퓨터의 호스트 이름 SQLVM을 입력합니다. SQL Server 인증을 선택하고 로그인 이름으로 sqlvmlogin을 입력하고 앞에서 지정한 암호를 입력합니다. 연결을 클릭합니다.

  3. SQL Server Management Studio 개체 탐색기에서 SQL Server 인스턴스의 이름(가상 컴퓨터 이름)을 마우스 오른쪽 단추로 클릭하고 새 쿼리를 마우스 오른쪽 단추로 클릭합니다.

  4. 다음 문을 실행하여 예제 데이터베이스를 만듭니다.

    CREATE DATABASE TestDb;
    GO
    
  5. 데이터베이스에서 새 데이터베이스 TestDB를 선택합니다. TestDB 데이터베이스를 마우스 오른쪽 단추로 클릭하고 새 쿼리 창을 엽니다. 다음 문을 실행하여 TestDB 데이터베이스에 두 행을 만듭니다.

    CREATE TABLE Table1 (Col1 int primary key, Col2 varchar(20));
    GO
    INSERT INTO Table1 (Col1, Col2) VALUES (1, 'string1'), (2, 'string2');
    GO
    
    Warning경고
    기본적으로 Azure는 운영 체제 드라이브(C:\)에 모든 운영 체제 및 SQL Server 소프트웨어를 유지합니다. 성능 향상을 위해 데이터 디스크를 가상 컴퓨터에 연결하여 모든 데이터와 로그 파일을 유지하는 것이 좋습니다. 또한 임시 저장소 드라이브(D:\)는 영구적이지 않으므로 데이터를 이 드라이브에 저장하지 않는 것이 좋습니다. Azure에서 디스크를 연결하는 방법에 대한 자세한 내용은 데이터 디스크를 가상 컴퓨터에 연결하는 방법을 참조하십시오. SQL Server Management Studio를 사용하여 SQL Server에서 새 데이터와 로그 파일의 기본 위치를 변경하는 방법은 데이터 및 로그 파일의 기본 위치 보기 또는 변경을 참조하십시오.

이 섹션에서는 로컬 온-프레미스 컴퓨터에서 간단한 ASP.NET 응용 프로그램을 만들고 Azure 가상 컴퓨터의 SQL Server 데이터베이스 인스턴스에 연결하도록 구성하는 방법을 알아봅니다. 이 예제에서는 GridView 컨트롤을 사용하여 코드를 작성하지 않고도 데이터베이스에서 데이터를 삽입, 업데이트 및 삭제할 수 있도록 합니다.

  1. Visual Studio의 파일 메뉴에서 새로 만들기를 클릭하고 프로젝트를 선택합니다.

  2. 새 프로젝트 대화 상자의 설치된 템플릿 목록에서 Visual C# 또는 Visual Basic에 대해 Azure 클라우드 서비스를 선택합니다.

  3. 이름으로 DataBinding을 입력하고 확인을 클릭합니다.

  4. 새 Azure 클라우드 서비스 대화 상자의 .NET Framework 역할 목록에서 ASP.NET 웹 역할을 선택하고 화살표를 클릭하여 Azure 클라우드 서비스 솔루션 목록에 추가한 다음 확인을 클릭합니다. Visual Studio 2013에서는 WebRole에 대해 새 ASP.NET 프로젝트에서 Web Forms를 선택합니다. 그런 다음 확인을 클릭합니다.

  5. Default.aspx에서 디자인을 클릭하여 디자인 뷰로 전환합니다.

  6. GridView 컨트롤을 도구 상자 - 데이터에서 디자인 화면으로 끌어 놓습니다.

  7. GridView속성 창에서 AutoGenerateDeleteButtonAutoGenerateEditButtontrue로 설정합니다.

  1. 솔루션 탐색기웹 역할 프로젝트에서 Web.config를 두 번 클릭합니다.

  2. Web.config에서 기존 connectionStrings 태그를 다음과 같이 바꾸고 필요에 따라 수정합니다.

    <connectionStrings>
        <add name="SQLServerinWAConnection" 
        connectionString="Data Source=tcp:SQLVMInternalIPAddress;Initial Catalog=TestDb;User ID=sqlvmlogin;Password=yourpassword;Encrypt=true;Trusted_Connection=false;TrustServerCertificate=true"
        providerName="System.Data.SqlClient" />
    </connectionStrings>
    
    TrustServerCertificatetrue로 설정되면 전송 계층에서 SSL을 사용하여 채널을 암호화하고 트러스트의 유효성을 검사하기 위한 인증서 체인의 검색을 우회하도록 요청하는 것입니다. 자세한 내용은 SQL Server 연결 암호화를 참조하십시오.

    Warning경고
    tcp:10.4.2.4와 같은 새 가상 컴퓨터의 내부 IP 주소로 tcp:SQLVMInternalIPAdress를 업데이트해야 합니다. 또한 앞에서 로그인 sqlvmlogin에 대해 지정한 암호로 암호를 업데이트해야 합니다.

    Azure 프로젝트를 가상 네트워크에 배포할 때 인스턴스 간의 이름 확인을 처리할 필요가 없습니다. 즉, 동일한 가상 네트워크의 가상 컴퓨터에서 실행되는 SQL Server에 연결할 웹 역할을 배포하는 경우 web.config 파일에서 SQL Server의 IP 주소를 지정해야 합니다. 따라서 웹 응용 프로그램에 대한 가상 컴퓨터의 내부 IP 주소를 얻을 수 있도록 SQL Server 가상 컴퓨터를 먼저 만드는 것이 좋습니다.

  3. 가상 컴퓨터의 IP 주소를 얻으려면 관리 포털에 로그인합니다. 가상 컴퓨터를 클릭하고 새 가상 컴퓨터 SQLVM을 클릭하여 대시보드를 엽니다. 위에 표시된 web.config 파일에 내부 IP 주소를 복사합니다.

  4. Default.aspx에서 원본을 클릭하여 원본 뷰로 전환합니다.

  5. 다음 태그를 추가하여 BodyContent 원본 파일의 Default.aspx 태그에서 연결의 SqlDataSource 컨트롤을 만듭니다.

    <asp:SqlDataSource ID="SQLServerDataSource" runat="server" 
       ConnectionString="<%$ ConnectionStrings: SQLServerinWAConnection %>" 
       InsertCommand="INSERT INTO [Table1] ([Col1], [Col2]) VALUES (@Col1, @Col2)" 
       SelectCommand="SELECT * FROM [Table1]" 
       UpdateCommand="UPDATE [Table1] SET [Col2] = @Col2 WHERE [Col1] = @Col1"
       DeleteCommand="DELETE FROM [Table1] WHERE [Col1] = @Col1">
       <UpdateParameters>
          <asp:Parameter Name="Col2" Type="String" />
          <asp:Parameter Name="Col1" Type="Int32" />
       </UpdateParameters>
       <InsertParameters>
          <asp:formParameter Name="Col1" FormField="TextBox1" />
          <asp:formParameter Name="Col2" FormField="TextBox2" />
       </InsertParameters>
       <DeleteParameters>
          <asp:Parameter Name="Col1" Type="Int32" />
       </DeleteParameters>
    </asp:SqlDataSource>
    
    여기에는 컨트롤에 대한 SELECT, INSERT, UPDATEDELETE 논리가 포함되어 있습니다.

  6. Default.aspx에서 Design 모드로 전환하고 최근에 추가한 GridView 컨트롤을 클릭합니다. GridView 컨트롤의 속성 창에서 GridView 컨트롤의 태그에 DataSourceID="SQLServerDataSource"DataKeyNames="Col1".

  7. 개발자가 응용 프로그램의 요구 사항에 따라 ASP.NET 페이지를 자유롭게 디자인할 수 있습니다. 이 자습서에서는 Visual Studio 2013을 사용하는 경우 다음과 같이 Default.aspx 원본을 수정할 수 있습니다.

    <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebRole1._Default" %>
    
    <asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
    
        <div class="jumbotron">
            <h1>ASP.NET</h1>
            <p class="lead">ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS, and JavaScript.</p>
            <p><a href="http://www.asp.net" class="btn btn-primary btn-large">Learn more &raquo;</a></p>
        </div>
    
        <div class="row">
            <div class="col-md-4">
                <h2>Getting started                
                </h2>
                <p>
                    ASP.NET Web Forms lets you build dynamic websites using a familiar drag-and-drop, event-driven model.
                A design surface and hundreds of controls and components let you rapidly build sophisticated, powerful UI-driven sites with data access.
                </p>
                <asp:GridView ID="GridView2" runat="server" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" DataKeyNames="Col1" DataSourceID="SQLServerDataSource">
                    </asp:GridView>
                
                <asp:SqlDataSource ID="SQLServerDataSource" runat="server" 
                    ConnectionString="<%$ ConnectionStrings: SQLServerinWAConnection %>" 
                    InsertCommand="INSERT INTO [Table1] ([Col1], [Col2]) VALUES (@Col1, @Col2)" 
                    SelectCommand="SELECT * FROM [Table1]" 
                    UpdateCommand="UPDATE [Table1] SET [Col2] = @Col2 WHERE [Col1] = @Col1"
                    DeleteCommand="DELETE FROM [Table1] WHERE [Col1] = @Col1">
                <UpdateParameters>
                    <asp:Parameter Name="Col2" Type="String" />
                    <asp:Parameter Name="Col1" Type="Int32" />
                </UpdateParameters>
                <InsertParameters>
                    <asp:formParameter Name="Col1" FormField="TextBox1" />
                    <asp:formParameter Name="Col2" FormField="TextBox2" />
                </InsertParameters>
                <DeleteParameters>
                    <asp:Parameter Name="Col1" Type="Int32" />
                </DeleteParameters>
    </asp:SqlDataSource>
            </div>
                 
        </div>
        </asp:Content>
    
    
    
  8. Web.config 파일에서 <compilation> 태그의 <system.web> 태그 바로 뒤에 다음 태그를 추가합니다.

    <customErrors mode="Off"/>
    
    이렇게 하면 이 응용 프로그램을 실행하는 동안 오류 메시지의 스택 추적이 표시됩니다.

  9. (선택적 단계) 로컬 온-프레미스 개발 환경에서 응용 프로그램을 테스트하려면 관리자로 Visual Studio를 실행하고 연결 문자열이 로컬 SQL Server 데이터베이스 인스턴스를 가리키는지 확인합니다. 로컬 테스트를 위해 온-프레미스 서버에서 예제 데이터베이스 및 테이블을 만들고 Web.config에서 <connectionStrings> 태그를 아래와 같이 바꿉니다.

    <connectionStrings>
        <add name="SQLServerinWAConnection" connectionString="Data Source=tcp:SQLVMInternalIPAddress;Initial Catalog=TestDb;User ID=sqlvmlogin;Password=yourpassword;Encrypt=true;Trusted_Connection=false;TrustServerCertificate=true"
        providerName="System.Data.SqlClient" />
        <add name="SQLServerLocalConnection" connectionString="Data Source=localhost;Initial Catalog=TestDb;Trusted_Connection=true"
        providerName="System.Data.SqlClient" />
    </connectionStrings>
    
    또한 다음과 같이 로컬 서버를 가리키도록 Default.aspx 원본 파일에서 ConnectingString 특성을 업데이트합니다.

    ConnectionString="<%$ ConnectionStrings:SQLServerLocalConnection %>"
    
    그런 다음 F5 키를 눌러 솔루션을 실행합니다.

관리 포털에서 Azure 가상 네트워크에 가상 컴퓨터를 배포할 수 있습니다. 그러나 지금은 포털을 통해 Azure 클라우드 서비스 프로젝트에 대한 가상 네트워크 설정을 지정할 수 없습니다. Azure 배포 패키지의 .cscfg 파일에서 네트워킹 구성 설정을 업데이트해야 합니다. 솔루션에는 다음 두 가지 서비스 구성 파일이 있습니다.

  • ServiceConfiguration.Cloud.csfg: Azure 클라우드 배포용으로 응용 프로그램을 설정하려면 이 구성 파일을 사용합니다.

  • ServiceConfiguration.Local.csfg: 계산 에뮬레이터에서 응용 프로그램을 디버깅하는 데 사용할 수 있는 로컬 구성에 이 파일을 사용합니다.

  1. 웹 역할과 SQL Server 가상 컴퓨터 간의 통신을 사용하도록 설정하려면 SQL Server 가상 컴퓨터와 동일한 가상 네트워크에 연결하도록 웹 역할을 구성해야 합니다. 이렇게 하려면 ServiceConfiguration.Cloud.cscfg 파일을 업데이트해야 합니다. 솔루션 탐색기에서 DataBinding 프로젝트를 확장합니다. 서비스 구성 파일은 Visual Studio에서 역할 바로 뒤에 나타나야 합니다. ServiceConfiguration.Cloud.cscfg 파일을 열고 마지막 NetworkConfiguration 태그 바로 뒤에 다음 Role 요소를 추가합니다.

    <NetworkConfiguration>
          <VirtualNetworkSite name="TestVirtualNetwork" />
          <AddressAssignments>
              <InstanceAddress roleName="WebRole1">
                 <Subnets>
                    <Subnet name="FrontEndSubnet" />
               </Subnets>
            </InstanceAddress>
       </AddressAssignments>
     </NetworkConfiguration>
    
    서비스 구성 파일의 가상 네트워크 요소 섹션에서 값을 지정하지 않으면 클라우드 서비스가 가상 네트워크에 배포되지 않습니다. 자세한 내용은 NetworkConfiguration 스키마를 참조하십시오. Azure 플랫폼에서 자체 DNS 서버를 배포하는 경우 .csfg 파일에서 웹/작업자 역할 인스턴스에 대해서도 해당 DNS 서버를 지정해야 합니다.

    Warning경고
    VirtualNetworkSite 이름서브넷 이름이 가상 네트워크를 만들었을 때 앞에서 사용한 이름과 일치하는지 확인합니다.

  2. 구성 파일에서 설정을 지정하면 역할 속성 대화 상자 창을 열어 사용할 구성을 선택합니다. 이렇게 하려면 솔루션 탐색기에서 WebRole1을 마우스 오른쪽 단추로 클릭하고 WebRole1속성 창을 엽니다. 구성을 선택하고 서비스 구성 상자에서 클라우드를 선택합니다.

  3. F6 키를 눌러 솔루션을 빌드합니다.

    Warning경고
    동일한 Azure 가상 네트워크에 가상 컴퓨터와 Azure 웹/작업자 역할이 있으면 대기 시간이 줄어들고 연결의 보안이 강화됩니다.

이 섹션에서는 Visual Studio를 통해 패키지를 만들어 웹 응용 프로그램을 Azure에 게시합니다. 그런 다음 이 패키지를 사용하여 앞에서 SQL Server 가상 컴퓨터를 만드는 데 사용한 동일한 가상 네트워크에서 클라우드 서비스를 만듭니다.

  1. 웹 응용 프로그램을 Azure에 게시하려면 Visual Studio 솔루션 탐색기에서 DataBinding 프로젝트를 마우스 오른쪽 단추로 클릭하고 패키지를 선택합니다.

  2. Azure 응용 프로그램 패키지 대화 상자 창에서 서비스 구성클라우드로 설정되어 있고 빌드 구성릴리스로 설정되어 있는지 확인합니다. 그런 다음 패키지 단추를 클릭합니다.

    Warning경고
    Visual Studio에서 기존 <project folder>\bin\Release\app.publish 폴더를 덮어쓸 수 없다는 오류가 발생하면 기존 패키지 파일을 수동으로 삭제합니다. 그런 다음 이전 두 단계를 반복하여 새 패키지를 만듭니다.

  3. 관리 포털에 로그온합니다.

  4. 페이지 아래쪽에서 +새로 만들기를 클릭하고 계산, 클라우드 서비스, 사용자 지정 만들기를 차례로 선택합니다.

  5. 클라우드 서비스 만들기 창에서 URL 텍스트 상자에 DataBinding을 입력하고 지역/선호도 그룹 선택 목록에서 TestAffinityGroup을 선택한 다음 지금 클라우드 서비스 패키지를 배포합니다. 옵션을 선택합니다. 다음 화살표를 클릭하여 계속합니다.

  6. 클라우드 서비스 게시 창에서 새 배포의 이름(예: DataBinding)을 입력합니다. 패키지와 구성 파일의 위치(예: <project folder>\bin\Release\app.publish)로 이동하고 단일 인스턴스가 포함된 역할이 하나 이상 있는 경우에도 배포합니다. 옵션을 선택합니다.

  7. SSL 암호화를 사용하여 응용 프로그램에 보안을 설정하려면 지금 인증서 추가 확인란을 사용할 수 있습니다. 자세한 내용은 Azure에서 응용 프로그램에 대해 SSL 구성을 참조하십시오.

  8. 그런 다음 확인 표시 단추를 클릭하여 완료합니다. 클라우드 서비스를 만드는 데 몇 분이 걸릴 수도 있습니다.

  9. 가상 네트워크의 모든 리소스를 보려면 왼쪽 창에서 네트워크를 클릭한 다음 TestVirtualNetwork를 클릭하여 대시보드를 엽니다.

  10. 응용 프로그램을 실행하려면 왼쪽 창에서 클라우드 서비스를 클릭한 다음 DataBinding 클라우드 서비스를 클릭하여 대시보드를 엽니다. 사이트 URL을 클릭하여 응용 프로그램을 실행합니다.

  11. Visual Studio 2013을 사용하여 이 ASP.NET 응용 프로그램을 빌드하는 경우 응용 프로그램이 실행될 때 다음과 같은 화면이 나타나야 합니다.

Warning경고
이 자습서에서는 SSL 암호화나 서비스 수준 인증서를 사용하여 클라우드 서비스에 보안을 설정하는 방법을 보여주지 않으므로 응용 프로그램과 응용 프로그램의 연결 문자열에 항상 보안을 설정하는 것이 좋습니다.

클라우드 서비스의 사용자에게 안전한 상호 작용을 제공하려면 서비스 인증서를 사용합니다. Visual Studio에서 Azure에 직접 클라우드 서비스를 게시하려면 관리 인증서를 사용합니다. 인증서에 대한 자세한 내용은 Azure에서 인증서 관리를 참조하십시오. 서비스 인증서를 구성하는 방법은 Azure에서 응용 프로그램에 대해 SSL 구성HTTPS 끝점에 SSL 인증서를 구성하는 방법을 참조하십시오.

또한 Azure에서 스테이징 환경에 패키지된 응용 프로그램을 배포하여 테스트한 후 인터넷에서 응용 프로그램에 액세스할 수 있는 프로덕션 환경으로 이동하는 것이 좋습니다. 자세한 내용은 Azure에서 응용 프로그램 준비를 참조하십시오.

참고 항목

표시:
© 2014 Microsoft