체크포인트
Deploy the Hello World application to App Engine
/ 10
Google Cloud 기초: App Engine 시작하기
개요
이 실습에서는 Google Cloud Shell의 가상 환경을 사용하여 간단한 App Engine 애플리케이션을 만들고 배포합니다.
목표
이번 실습에서는 다음 작업의 실행 방법을 알아봅니다.
-
App Engine을 초기화합니다.
-
Cloud Shell에서 로컬로 실행되는 App Engine 애플리케이션을 미리 봅니다.
-
다른 사람들이 접근할 수 있도록 App Engine 애플리케이션을 배포합니다.
-
더 이상 표시하지 않으려면 App Engine 애플리케이션을 사용 중지합니다.
실습 환경 설정
각 실습에서는 정해진 기간 동안 새 Google Cloud 프로젝트와 리소스 집합이 무료로 제공됩니다.
-
시크릿 창을 사용하여 Qwiklabs에 로그인합니다.
-
실습 사용 가능 시간(예:
1:15:00
)을 참고하여 해당 시간 내에 완료합니다.
일시중지 기능은 없습니다. 필요한 경우 다시 시작할 수 있지만 처음부터 시작해야 합니다. -
준비가 되면 실습 시작을 클릭합니다.
-
실습 사용자 인증 정보(사용자 이름 및 비밀번호)를 기록해 두세요. Google Cloud Console에 로그인합니다.
-
Google Console 열기를 클릭합니다.
-
다른 계정 사용을 클릭한 다음, 안내 메시지에 이 실습에 대한 사용자 인증 정보를 복사하여 붙여넣습니다.
다른 사용자 인증 정보를 사용하는 경우 오류가 발생하거나 요금이 부과됩니다. -
약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
Google Cloud Shell 활성화하기
Google Cloud Shell은 다양한 개발 도구가 탑재된 가상 머신으로, 5GB의 영구 홈 디렉터리를 제공하며 Google Cloud에서 실행됩니다.
Google Cloud Shell을 사용하면 명령줄을 통해 Google Cloud 리소스에 액세스할 수 있습니다.
-
Cloud 콘솔의 오른쪽 상단 툴바에서 'Cloud Shell 열기' 버튼을 클릭합니다.
-
계속을 클릭합니다.
환경을 프로비저닝하고 연결하는 데 몇 분 정도 소요됩니다. 연결되면 사용자가 미리 인증되어 프로젝트가 PROJECT_ID로 설정됩니다. 예:
gcloud는 Google Cloud의 명령줄 도구입니다. Cloud Shell에 사전 설치되어 있으며 명령줄 자동 완성을 지원합니다.
- 다음 명령어를 사용하여 사용 중인 계정 이름을 나열할 수 있습니다.
출력:
출력 예시:
- 다음 명령어를 사용하여 프로젝트 ID를 나열할 수 있습니다.
출력:
출력 예시:
작업 1: App Engine 초기화
-
프로젝트로 App Engine 앱을 초기화하고 리전을 선택합니다.
gcloud app create --project=$DEVSHELL_PROJECT_ID
메시지가 표시되면 App Engine 애플리케이션을 배치할 리전을 선택합니다.
-
hello_world 디렉터리에서 샘플 애플리케이션의 소스 코드 저장소를 복제합니다.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
-
소스 디렉터리로 이동합니다.
cd python-docs-samples/appengine/standard_python3/hello_world
작업 2: Hello World 애플리케이션을 로컬로 실행
이 작업에서는 Cloud Shell의 로컬 가상 환경에서 Hello World 애플리케이션을 실행합니다.
현재 Cloud Shell 명령 프롬프트에 있는지 확인합니다.
-
Dockerfile 생성
touch Dockerfile
-
다음 내용을 포함하도록 Dockerfile[힌트: nano Dockerfile]을 편집합니다.
FROM python:3.7 WORKDIR /app COPY . . RUN pip install gunicorn RUN pip install -r requirements.txt ENV PORT=8080 CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 main:app
Dockerfile은 로컬 이미지를 만드는 데 사용됩니다. -
Python 가상 환경을 실행하기 위한 컨테이너 이미지를 빌드합니다.
docker build -t test-python .
-
애플리케이션을 실행합니다.
docker run --rm -p 8080:8080 test-python
- Cloud Shell에서 웹 미리보기() > 포트 8080에서 미리보기를 클릭하여 애플리케이션을 미리 봅니다.
웹 미리보기 아이콘에 액세스하려면 탐색 메뉴를 접어야 할 수 있습니다.
결과:
-
테스트를 종료하려면 Cloud Shell로 돌아가서 Ctrl+C를 눌러 배포된 서비스를 취소합니다.
-
Cloud Console을 사용하여 앱이 배포되지 않았음을 확인합니다. Cloud Console의 탐색 메뉴()에서 App Engine > 대시보드를 클릭합니다.
리소스가 배포되지 않았음을 알 수 있습니다.
작업 3: App Engine에서 Hello World 배포 및 실행
App Engine 표준 환경에 애플리케이션을 배포하려면 다음 안내를 따르세요.
-
소스 디렉터리로 이동합니다.
cd ~/python-docs-samples/appengine/standard_python3/hello_world
-
Hello World 애플리케이션을 배포합니다.
gcloud app deploy
Y
를 누른 다음 Enter
를 누릅니다.이 app deploy 명령어는 app.yaml 파일을 사용하여 프로젝트 구성을 식별합니다.
gcloud app deploy 명령
을 다시 실행하세요.-
http://YOUR_PROJECT_ID.appspot.com에서 앱을 확인하려면 브라우저를 실행합니다.
gcloud app browse
URL을 복사하여 새 브라우저 창에 붙여넣습니다.
결과:
수고하셨습니다. App Engine을 사용하여 첫 번째 애플리케이션을 만들었습니다.
진행 상황 확인을 클릭하여 목표를 확인합니다.
작업 4: 애플리케이션 사용 중지
App Engine은 애플리케이션 배포를 취소하는 옵션을 제공하지 않습니다. 애플리케이션이 배포된 후에는 배포된 상태로 유지됩니다. 취소하지 못하는 대신 '서비스 중 아님'과 같은 간단한 페이지로 애플리케이션을 교체할 수 있습니다.
하지만 사용자가 더 이상 액세스할 수 없도록 애플리케이션을 사용 중지하는 방법도 있습니다.
-
Cloud Console의 탐색 메뉴()에서 App Engine > 설정을 클릭합니다.
-
애플리케이션 사용 중지를 클릭합니다.
-
대화상자 메시지를 읽습니다. App ID를 입력하고 사용 중지를 클릭합니다.
애플리케이션 사이트를 보기 위해 사용한 브라우저 창을 새로고침하면 404 오류가 발생합니다.
수고하셨습니다.
App Engine을 사용하여 첫 번째 애플리케이션을 만들었습니다!
실습 종료하기
실습을 완료하면 실습 종료를 클릭합니다. Google Cloud Skills Boost에서 사용된 리소스를 자동으로 삭제하고 계정을 지웁니다.
실습 경험을 평가할 수 있습니다. 해당하는 별표 수를 선택하고 의견을 입력한 후 제출을 클릭합니다.
별점의 의미는 다음과 같습니다.
- 별표 1개 = 매우 불만족
- 별표 2개 = 불만족
- 별표 3개 = 중간
- 별표 4개 = 만족
- 별표 5개 = 매우 만족
의견을 제공하고 싶지 않다면 대화상자를 닫으면 됩니다.
의견이나 제안 또는 수정할 사항이 있다면 지원 탭을 사용하세요.
Copyright 2020 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.