App Engine 가변형 환경 .NET 빠른 시작

이 빠른 시작에서는 짧은 메시지를 표시하는 작은 App Engine 애플리케이션을 만드는 방법을 보여줍니다.

시작하기 전에

이 샘플을 실행하고 배포하려면 다음 단계를 수행합니다.

  1. GCP 콘솔을 사용하여 새 GCP 프로젝트를 만들고 App Engine 애플리케이션을 만든 후, 결제를 사용 설정합니다.
    App Engine으로 이동

    메시지가 표시되면 App Engine 애플리케이션을 배치할 지역을 선택한 다음 결제를 사용 설정합니다.

  2. 다음 필수 구성요소를 로컬로 설치합니다.
    1. Google Cloud SDK를 다운로드하여 설치한 후 gcloud 도구를 초기화합니다.
      SDK 다운로드
    2. .NET Core SDK, LTS 버전을 설치합니다.
    3. Visual Studio를 사용하는 경우 2015 이상 버전을 사용해야 합니다.
      • .NET Core 1.0, 1.1, 2.0, 2.1용으로 작성된 ASP.NET Core 앱의 이미지가 제공됩니다.
    4. Visual Studio에서 App Engine으로 직접 배포하려면 Visual Studio용 Google Cloud 도구를 설치합니다.

App Engine 위치

App Engine은 지역을 기반으로 합니다. 즉, 앱을 실행하는 인프라가 특정 지역에 있으며 해당 지역 내의 모든 영역에서 중복으로 사용할 수 있도록 Google에 의해 관리됩니다.

앱을 실행할 지역을 선택할 때는 지연 시간, 가용성, 내구성 요건을 가장 크게 고려해야 합니다. 일반적으로 앱 사용자와 가장 가까운 지역을 선택할 수 있지만, 앱에서 사용되는 다른 GCP 제품과 서비스 위치를 고려해야 합니다. 여러 위치에서 서비스를 사용하면 앱의 지연 시간과 가격이 영향을 받을 수 있습니다.

다음 지역에서 App Engine을 사용할 수 있습니다.

  • northamerica-northeast1(몬트리올)
  • us-central(아이오와)
  • us-west2(로스앤젤레스)
  • us-east1(사우스캐롤라이나)
  • us-east4(북 버지니아)
  • southamerica-east1(상파울루)*
  • europe-west(벨기에)
  • europe-west2(런던)
  • europe-west3(프랑크푸르트)
  • asia-northeast1(도쿄)
  • asia-south1(뭄바이)
  • australia-southeast1(시드니)

* 상파울루 지역을 사용하는 고객에게는 모든 지역별 제품 SLA가 계속 적용됩니다. 그러나 북아메리카 및 남아메리카를 포함하는 여러 지역 및 교차 지역 기능의 경우 가용성이나 성능이 일시적으로 저하될 수 있습니다.

앱의 지역을 설정한 후에는 변경할 수 없습니다.

App Engine 애플리케이션을 이미 만든 경우 gcloud app describe 명령을 실행하거나 GCP 콘솔의 App Engine 대시보드를 열어 지역을 확인할 수 있습니다. App Engine 애플리케이션의 지역은 http://[YOUR_PROJECT_ID].appspot.com에 나열됩니다.

이 빠른 시작에서는 C#으로 웹 애플리케이션을 개발하는 데 익숙하다고 가정합니다.

Hello World 앱 다운로드

App Engine 가변형 환경에 앱을 배포하는 방법을 쉽게 이해할 수 있도록 간단한 .NET용 Hello World 앱을 준비했습니다. Hello World app은 빈 ASP.NET Core 애플리케이션을 만들 때 Visual Studio에서 생성하는 애플리케이션과 유사합니다. 샘플 앱에서는 app.yaml 파일을 추가합니다. app.yaml 파일은 런타임 및 기타 App Engine 고유 설정을 지정하는 App Engine 구성 파일입니다.

  1. 샘플 앱을 다운로드하고 압축을 풉니다.

  2. 명령줄을 사용하는 경우 앱 디렉토리(dotnet-docs-samples\appengine\flexible\HelloWorld)로 이동합니다.

로컬 머신에서 Hello World 실행

Visual Studio

로컬 컴퓨터에서 Hello World 앱을 실행하는 방법은 다음과 같습니다.

  1. Visual Studio에서 dotnet-docs-samples\appengine\flexible\HelloWorld\HelloWorld.sln을 엽니다.
  2. F5 키를 누릅니다.

    이 페이지에 표시된 샘플 앱에서 "Hello World" 메시지를 볼 수 있습니다.

명령줄

로컬 컴퓨터에서 Hello World 앱을 실행하는 방법은 다음과 같습니다.

  1. dotnet-docs-samples\appengine\flexible\HelloWorld 디렉토리에서 다음 명령을 실행합니다.
    dotnet restore
    dotnet run
  2. 웹브라우저에서 http://localhost:5000/으로 이동합니다.

    이 페이지에 표시된 샘플 앱에서 "Hello World" 메시지를 볼 수 있습니다.

  3. 터미널 창에서 Ctrl+C 키를 눌러 웹 서버를 종료합니다.

App Engine에서 Hello World 배포 및 실행

Visual Studio

Hello World 앱을 배포하는 방법은 다음과 같습니다.

  1. Visual Studio에서 dotnet-docs-samples\appengine\flexible\HelloWorld\HelloWorld.sln을 엽니다.
  2. Solution Explorer에서 HelloWorld를 마우스 오른쪽 버튼으로 클릭하고 Publish to Google Cloud...(Google Cloud에 게시...)를 선택합니다.
  3. App Engine Flex를 클릭합니다.
  4. Publish(게시)를 클릭합니다.
  5. 브라우저에서 다음 주소로 이동하여 배포된 앱을 확인합니다.
    https://YOUR_PROJECT_ID.appspot.com

명령줄

  1. dotnet-docs-samples\appengine\flexible\HelloWorld 디렉토리에서 다음 명령을 실행합니다.
    dotnet restore
    dotnet publish -c Release
    gcloud app deploy .\bin\Release\netcoreapp1.0\publish\app.yaml
  2. 브라우저를 시작하고 다음 명령을 실행하여 http://YOUR_PROJECT_ID.appspot.com에서 앱을 확인합니다.
    gcloud app browse
이번에는 App Engine 인스턴스에서 실행 중인 웹 서버에서 Hello World 메시지를 표시하는 페이지를 제공합니다.

축하합니다. App Engine 가변형 환경에 첫 .NET 앱을 배포했습니다.

다음 섹션에서는 프로젝트 삭제 방법 및 진행할 수 있는 다음 단계에 대한 링크를 제공합니다.

삭제

비용이 청구되지 않도록 GCP 프로젝트를 삭제하여 해당 프로젝트 내에서 사용되는 모든 리소스에 대한 청구를 중지할 수 있습니다.

  1. GCP Console에서 프로젝트 페이지로 이동합니다.

    프로젝트 페이지로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 다음 종료를 클릭하여 프로젝트를 삭제합니다.

다음 단계

전체 플랫폼 알아보기

이제 App Engine 앱을 개발하고 배포하는 방법을 알았으므로 나머지 Google Cloud Platform에 대해 알아볼 수 있습니다. Google Cloud SDK가 이미 설치되어 있으므로 Google Cloud SQL, Google Cloud Storage, Google Cloud Datastore 등의 다양한 제품과 상호작용하는 도구가 제공됩니다. App Engine뿐 아니라 전체 플랫폼을 사용하는 애플리케이션을 만드는 방법을 안내하는 둘러보기 과정에 대해서는 Bookshelf 앱 만들기 빠른 시작을 확인하세요.

App Engine 가변형 환경 알아보기

다음은 App Engine을 계속해서 알아보는 데 유용한 몇 가지 항목입니다.

Hello World 코드 검토

Hello World는 가장 간단한 App Engine 앱입니다. 이 앱은 서비스 한 개만 포함하고 한 버전으로만 존재하며 모든 코드가 앱의 루트 디렉토리에 있습니다. 이 섹션에서는 각 앱 파일을 자세히 설명합니다.

Startup.cs

Hello World 앱은 간단한 ASP.NET 애플리케이션입니다.

    public class Startup
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.Run(async (context) =>
            {
                await context.Response.WriteAsync("Hello World!");
            });
        }
    }

app.yaml

app.yaml 파일은 애플리케이션의 배포 구성을 설명합니다.

runtime: aspnetcore
env: flex

# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/python/configuring-your-app-with-app-yaml
manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

여기에서 app.yaml은 앱에 사용되는 런타임을 지정하고 env: flex를 설정하여 앱이 가변형 환경을 사용하도록 지정합니다.

  • .NET 런타임의 작동 방식에 대한 자세한 내용은 .NET 런타임을 참조하세요.

  • 버전과 서비스를 활용할 수 있도록 앱을 설계하는 방법에 대한 자세한 내용은 App Engine 개요를 참조하세요.

  • App Engine의 구성 설정에 대한 자세한 내용은 app.yaml로 앱 구성을 참조하세요.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

App Engine flexible environment for .NET docs