App Engine 가변형 환경에서 .NET 앱 만들기
리전 ID
REGION_ID
는 앱을 만들 때 선택한 리전을 기준으로 Google에서 할당하는 축약된 코드입니다. 일부 리전 ID는 일반적으로 사용되는 국가 및 주/도 코드와 비슷하게 표시될 수 있지만 코드는 국가 또는 주/도와 일치하지 않습니다. 2020년 2월 이후에 생성된 앱의 경우 REGION_ID.r
이 App Engine URL에 포함됩니다. 이 날짜 이전에 만든 기존 앱의 경우 URL에서 리전 ID는 선택사항입니다.
리전 ID에 대해 자세히 알아보세요.
이 빠른 시작에서는 짧은 메시지를 표시하는 앱을 만들고 배포하는 방법을 보여줍니다.
app.yaml
파일에 런타임 버전과 운영체제를 지정하여 이 빠른 시작에서 지원되는 버전의 .NET에 대한 샘플 애플리케이션을 사용할 수 있습니다.
app.yaml
파일에 런타임 버전을 지정하지 않으면 기본적으로 App Engine은 사용 가능한 최신 LTS .NET 버전을 사용합니다.
시작하기 전에
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
추가 기본 요건
프로젝트로 App Engine 앱을 초기화하고 리전을 선택합니다.
gcloud app create --project=[YOUR_PROJECT_ID]
메시지가 표시되면 App Engine 애플리케이션을 위치할 리전을 선택합니다.
로컬 머신에 다음을 설치합니다.
.NET Core SDK, LTS 버전을 설치합니다.
Visual Studio를 사용하는 경우, 2015 이상 버전을 사용해야 합니다. .NET Core 1.0, 1.1, 2.0, 2.1용으로 작성된 ASP.NET Core 앱의 이미지가 제공됩니다.
Visual Studio에서 App Engine으로 직접 배포하려면 Visual Studio용 Tools를 설치합니다.
App Engine 위치
App Engine은 리전을 기반으로 합니다. 즉, 앱을 실행하는 인프라가 특정 리전에 위치해 있으며 해당 리전 내의 모든 영역에서 중복으로 사용할 수 있도록 Google이 관리합니다.
앱을 실행하는 리전을 선택하는 데 있어 중요한 기준은 지연 시간, 가용성 또는 내구성 요구사항입니다. 일반적으로 앱 사용자와 가장 가까운 리전을 선택할 수 있지만 App Engine을 사용할 수 있는 위치와 앱에서 사용하는 다른 Google Cloud 제품 및 서비스의 위치도 고려해야 합니다. 여러 위치에서 서비스를 사용하면 앱의 지연 시간과 가격 책정에 영향을 미칠 수 있습니다.
앱의 리전을 설정한 후에는 변경할 수 없습니다.
App Engine 애플리케이션을 이미 만든 경우 다음 중 한 가지 방법으로 해당 리전을 볼 수 있습니다.
gcloud app describe
명령어를 실행합니다.Google Cloud 콘솔에서 App Engine 대시보드를 엽니다. 이 리전은 페이지 상단 근처에 표시됩니다.
Hello World 앱 다운로드
App Engine용 Hello World 앱을 만들어 Google Cloud에 앱을 배포해 보겠습니다.
Hello World 앱은 빈 ASP.NET Core 앱 생성 시 Visual Studio에서 생성되는 앱과 유사합니다. 샘플 앱에서는 app.yaml
파일이 추가됩니다. app.yaml
파일은 런타임 및 기타 App Engine 설정을 지정하는 App Engine 구성 파일입니다.
Hello World 샘플 앱 저장소를 로컬 머신에 클론합니다.
git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples
또는 zip 파일로 샘플을 다운로드하고 압축을 풉니다.
샘플 코드가 있는 디렉터리로 변경합니다.
cd dotnet-docs-samples/appengine/flexible/HelloWorld
로컬 머신에서 Hello World 실행
dotnet-docs-samples/appengine/flexible/HelloWorld/HelloWorld.Sample
디렉터리에서 다음 명령어를 실행합니다.dotnet restore dotnet run
웹브라우저에서 http://localhost:5000으로 이동합니다. 이 페이지에 표시된 샘플 앱에서 "Hello World" 메시지를 볼 수 있습니다. 터미널 창에서 Ctrl+C를 눌러 웹 서버를 종료합니다.
App Engine에서 Hello World 배포 및 실행
- 명령줄에서
gcloud app deploy
를 실행합니다. - 브라우저를 실행하고 다음 위치에서 앱을 확인합니다.
https://PROJECT_ID.REGION_ID.r.appspot.com
gcloud app browse
이 경우, App Engine 인스턴스에서 실행 중인 웹 서버가 Hello World 메시지가 표시된 페이지를 제공합니다.
수고하셨습니다. App Engine 가변형 환경에 첫 번째 App Engine 앱을 배포했습니다.
애플리케이션을 배포하는 중에 오류가 발생했으면 문제 해결 팁을 확인하세요.삭제 방법과 진행할 수 있는 다음 단계에 대해서는 다음 섹션을 참조하세요.
삭제
Google Cloud 프로젝트를 삭제하면 프로젝트 내에서 사용되는 모든 리소스에 대한 결제를 중지하여 비용 청구를 방지할 수 있습니다.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
다음 단계
전체 플랫폼 알아보기
이제 App Engine 앱을 개발하고 배포하는 방법을 알아보았으므로 Google Cloud의 나머지 부분을 살펴볼 차례입니다. Google Cloud CLI가 이미 설치되어 있으므로 Cloud SQL, Cloud Storage, Firestore 등의 다양한 제품과 상호작용하는 도구가 제공됩니다.
App Engine 가변형 환경 알아보기
다음 항목을 통해 App Engine에 대해 더 알아볼 수 있습니다.
Hello World 코드 검토
Hello World는 가장 간단한 App Engine 앱으로, 한 가지 서비스만을 포함하고 버전도 하나뿐이며 모든 코드가 앱의 루트 디렉터리에 있습니다. 이 섹션은 각 앱 파일을 자세히 설명합니다.
Program.cs
Hello World 앱은 간단한 ASP.NET 앱입니다.
app.yaml
app.yaml
파일은 앱의 다음 구성을 설명합니다.
env: flex
를 설정하여 앱에서 App Engine 가변형 환경을 사용함을 나타냅니다.앱에서 사용하는 런타임을 지정합니다.
.NET 런타임의 작동 방식에 대한 자세한 내용은 .NET 런타임을 참조하세요.
버전과 서비스를 활용할 수 있도록 앱을 설계하는 방법에 대한 자세한 내용은 App Engine 개요를 참조하세요.
App Engine 구성 설정에 대한 자세한 내용은 app.yaml로 앱 구성을 참조하세요.