Compute Engine에서 Windows Server에 ASP.NET 앱 배포

1. 개요

ASP.NET은 .NET으로 최신 웹 앱과 서비스를 빌드하기 위한 오픈소스 웹 프레임워크입니다. ASP.NET은 HTML5, CSS, JavaScript를 기반으로 간단하고 빠르며 수백만 명의 사용자로 확장할 수 있는 웹사이트를 만듭니다.

이 실습에서는 Compute Engine에서 실행되는 Windows Server에 간단한 ASP.NET 앱을 배포합니다. 이 Codelab은 ASP.NET 프레임워크를 사용하여 Windows Server를 Compute Engine에 배포 Codelab을 기반으로 합니다. 이 실습을 먼저 완료하는 것이 좋습니다

또한 ASP.NET 앱을 작성하여 Compute Engine에 배포하려면 Visual Studio 2013 이상이 필요합니다.

학습할 내용

  • 간단한 ASP.NET 앱을 만드는 방법
  • Visual Studio에서 로컬로 ASP.NET 앱을 실행하는 방법
  • Compute Engine에서 Windows Server에 ASP.NET 앱을 배포하고 실행하는 방법을 설명합니다.

필요한 항목

본 가이드를 어떻게 사용하실 계획인가요?

읽기만 할 계획입니다. 읽은 다음 연습 활동을 완료할 계획입니다.

귀하의 Google Cloud Platform 사용 경험을 평가해 주세요.

<ph type="x-smartling-placeholder"></ph> 초보자 중급 숙련도

2. 설정 및 요구사항

자습형 환경 설정

이전 실습에서 만든 Google Cloud Platform 프로젝트가 이미 있을 것이므로 새 프로젝트를 만들 필요가 없습니다. Google Cloud Platform 콘솔 ( console.cloud.google.com)에 로그인하고 이전 실습에서 만든 프로젝트를 선택합니다.

3. ASP.NET 앱 다운로드

ZIP 파일로 샘플을 다운로드하고 압축을 풉니다.

또는 Git 저장소를 클론해도 됩니다.

git clone https://github.com/GoogleCloudPlatform/getting-started-dotnet.git

어떤 방법을 사용하든 다음 콘텐츠가 포함된 getting-started-dotnet 폴더가 있어야 합니다.

1acce2c66bc3b8aa.png

4. 애플리케이션을 로컬로 실행

aspnet\1-hello-world\hello-world.sln를 더블클릭합니다. 이렇게 하면 Visual Studio에서 솔루션이 열립니다.

8a699ba7495ab79e.png

WebApiConfig.cs를 살펴보세요.. 간단한 HelloWorld HTTP 핸들러가 포함되어 있습니다.

public class HelloWorldHandler : HttpMessageHandler
{
  protected override Task<HttpResponseMessage> SendAsync(
       HttpRequestMessage request,
       CancellationToken cancellationToken)
  {
    return Task.FromResult(new HttpResponseMessage()
    {
      Content = new ByteArrayContent(Encoding.UTF8.GetBytes("Hello World."))
    });
  }
};

Visual Studio에서 F5 키를 눌러 애플리케이션을 빌드하고 실행합니다. Visual Studio에서 NuGet 종속 항목을 다운로드하고 앱을 빌드하면 브라우저에 Hello World 메시지 팝업이 표시됩니다.

77768b92a41434c2.png

앱이 로컬에서 실행되는 것을 확인하면 Shift + F5를 눌러 애플리케이션을 중지합니다.

5. ASP.NET 프레임워크를 사용하여 Windows Server 배포

이 섹션에서는 Google Cloud 콘솔의 Cloud Marketplace를 사용하여 설치된 Windows Server 및 ASP.NET Framework로 새로운 Google Compute Engine 가상 머신 인스턴스를 만드는 방법을 알아봅니다.

Google Cloud Console에 로그인

다른 브라우저 탭 또는 창에서 Google Cloud 콘솔로 이동하여 https://console.cloud.google.com으로 이동합니다. Google Cloud Platform에 가입할 때 설정한 로그인 사용자 인증 정보 또는 실습 감독관이 제공한 로그인 사용자 인증 정보를 사용합니다.

f6cb1591046097da.png

Google Cloud 콘솔에서 제품 및 서비스를 클릭합니다.

32152624d878d9f8.png

그런 다음 Cloud Marketplace로 이동합니다.

6c08c9a31e3a9c6c.png

ASP.NET 프레임워크 검색

ASP.NET을 입력하여 ASP.NET Framework를 검색한 다음 아래의 결과 상자를 클릭합니다.

d64d04962212c3c1.png

Compute Engine에서 실행

다음 화면에서 Compute Engine에서 실행을 클릭합니다.

새 인스턴스를 만들 때 다양한 매개변수를 구성할 수 있습니다. 다음을 사용해 보겠습니다.

이름

gcelab

배포 이름

windows-aspnet-instance

영역

europe-west1-d리전 및 영역에 대해 자세히 알아보기 영역 문서

머신 유형

1 vCPU (n1-standard-1)코어 1개와 RAM 3.75GiB를 갖춘 n1-standard-1은 ASP.NET 웹사이트에 사용하기에 충분합니다. 하지만 더 작거나 큰 머신을 선택할 수 있으며, 최대 32코어 / 208GiB RAM까지 가능합니다. 머신 유형 문서에서 이 머신 유형과 커스텀 머신 유형에 대해 자세히 알아보세요.참고: 새 프로젝트에는 기본 리소스 할당량이 있어 CPU 코어 수가 제한될 수 있습니다. 프로젝트를 더 요청할 수 있습니다.

Windows Server OS 버전

2016

부팅 디스크 유형

Standard persistent disk참고: 필요에 따라 성능이 더 우수한 솔리드 스테이트 디스크 드라이브 (SSD)를 선택할 수도 있습니다. 저장소 옵션을 참고하세요.

디스크 크기(GB)

100기본적으로 100GB를 사용하지만 필요에 따라 더 많이 또는 더 적게 조정할 수 있습니다.

방화벽

Allow HTTP traffic
Allow HTTPS traffic
Allow WebDeploy traffic
Allow RDP traffic기본값을 유지하면 WebDeploy 및 RDF 트래픽과 함께 HTTP, HTTPS 트래픽을 허용하는 방화벽 규칙을 생성합니다.

배포를 클릭하여 Windows Server와 ASP.NET Framework로 새 가상 머신 인스턴스를 만듭니다. 그러면 새 페이지로 이동하며 진행 상황을 확인할 수 있습니다.

3276c6d3647fd36.png

완료되면 왼쪽 메뉴에서 Compute Engine으로 이동한 다음 VM 인스턴스를 선택합니다. VM 인스턴스 목록에 새 가상 머신이 표시됩니다.

fc50b1cfd8b1f4b3.png

외부 IP를 클릭하면 인스턴스에서 제공하는 기본 IIS 웹사이트도 표시됩니다.

iis.PNG

원격 데스크톱 (RDP)을 머신에 연결할 수도 있지만 먼저 Windows 사용자와 비밀번호를 만들어야 합니다.

6. Windows 사용자 및 비밀번호 만들기

Windows 사용자와 비밀번호를 만들려면 Windows 비밀번호 생성 또는 재설정을 선택합니다.

cf9b67269c4fa290.png

그러면 사용자를 만들 수 있는 새 창이 열립니다. 기본값을 유지하고 설정을 선택합니다. 몇 초 후 새로 만든 비밀번호가 포함된 New Windows password(새 Windows 비밀번호) 대화상자가 표시됩니다. 다음 섹션에서 필요하므로 비밀번호를 기록해 둡니다.

7. Compute Engine에서 Windows Server에 애플리케이션 배포

이제 Compute Engine 인스턴스에서 실행되는 Windows Server에 애플리케이션을 배포해 보겠습니다.

먼저 ASP.NET Framework를 사용하여 Windows Server를 Compute Engine에 배포에서 배포한 Compute Engine 인스턴스의 외부 IP를 찾아야 합니다. Cloud 콘솔에서 컴퓨팅 > VM 인스턴스에서 인스턴스를 찾아 외부 IP 주소를 기록해 둡니다.

8163b495fda4a4c5.png

이제 이전 단계에서 만든 Windows 사용자 이름과 비밀번호가 필요합니다.

Visual Studio Solution Explorer(솔루션 탐색기)에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 Publish(게시)를 선택합니다.

31dc67741553583e.png

Publish Web(웹 게시) 대화상자에서 Custom(커스텀)을 게시 대상으로 선택합니다.

New Custom Profile(새 커스텀 프로필) 대화상자에서 배포 프로필의 이름을 입력하고 OK(확인)를 클릭합니다.

다음과 같이 프로필을 작성합니다.

서버

The external IP address of your Compute Engine instance. This address can be found on the VM 인스턴스 페이지 in the Cloud Console. The IP address is 임시, which is sufficient for our purposes.

사이트 이름

Default Web Site참고: 여기에 제공하는 사이트 이름은 Compute Engine 인스턴스의 IIS 관리자에 표시되는 이름과 일치해야 합니다.

사용자 이름

The username of the Windows user account you created on your Compute Engine instance.

비밀번호

The password of the Windows user account you created on your Compute Engine instance.

도착 URL

http://참고: 도착 URL은 페이지가 배포된 후 페이지에 액세스할 수 있는 주소입니다.

연결 확인을 클릭하여 속성이 올바른지 확인합니다.

5587e66e1f61acd6.png

배포에 포함된 Microsoft IIS 설치는 기본적으로 자체 서명된 인증서를 사용하므로 유효성 검사 중에 Certificate Error(인증서 오류)가 표시됩니다. Save this certificate for future sessions of Visual Studio(Visual Studio 이후 세션을 위해 이 인증서 저장) 체크박스를 선택하고 Accept(수락)를 클릭하여 인증서를 수락합니다.

e7cc4bdef3064b9b.png

구성이 유효하면 Settings(설정)를 클릭합니다. File Publish Options(게시 옵션 제출)를 클릭하고 Remove additional files at destination(대상 위치의 추가 파일 삭제)을 선택합니다. 이는 동일한 Compute Engine 인스턴스에 새 웹사이트를 게시할 때 이후 단계에서 중요합니다.

1014554485ba6720.png

게시를 클릭하여 애플리케이션을 배포합니다. 게시가 완료되면 Visual Studio가 애플리케이션을 기본 웹브라우저에서 엽니다.

feab07f5ac573240.png

8. 삭제

작업이 끝났습니다. 이제 사용한 리소스를 정리하여 비용을 절감하고 클라우드를 효율적으로 활용할 차례입니다.

인스턴스를 삭제하거나 간단히 중지할 수 있지만 중지된 인스턴스에도 스토리지 관련 비용이 발생할 수 있습니다.

a3152ac7b76cdd4e.png

물론 전체 프로젝트를 삭제할 수도 있지만 이 경우 결제 설정이 손실됩니다 (먼저 프로젝트 결제를 사용 중지해야 함). 또한 프로젝트를 삭제하면 현재 결제 주기가 끝난 후에만 요금이 청구되지 않습니다.

9. 축하합니다.

Google Compute Engine은 Google Cloud Platform Infrastructure as a Service의 기반이 됩니다. 살펴본 바와 같이 Compute Engine의 Windows Server에 ASP.NET 앱을 배포하는 것은 매우 쉽습니다.

학습한 내용

  • 간단한 ASP.NET 앱을 만드는 방법
  • Visual Studio에서 로컬로 ASP.NET 앱을 실행하는 방법
  • Compute Engine에서 Windows Server에 ASP.NET 앱을 배포하고 실행하는 방법을 설명합니다.

다음 단계

라이선스

이 작업물은 Creative Commons Attribution 2.0 일반 라이선스에 따라 사용이 허가되었습니다.

/