Google-Studyjam [with GCP]

[구글 스터디잼] App Engine: Qwik Start - Python

hamzgi 2026. 5. 4. 03:09

학습할 내용

이 실습에서는 Python 앱으로 다음 작업을 수행하는 방법을 알아봅니다.

  • 클론/다운로드
  • 테스트
  • 업데이트
  • 테스트
  • 배포

작업 1. Google App Engine Admin API 사용 설정

App Engine Admin API를 사용하면 개발자가 App Engine 애플리케이션을 프로비저닝하고 관리할 수 있습니다.

  1. 왼쪽 탐색 메뉴에서 API 및 서비스 > 라이브러리를 클릭합니다.
  2. 검색창에 'App Engine Admin API'를 입력합니다.
  3. App Engine Admin API 카드를 클릭합니다.
  4. 사용 설정을 클릭합니다. API 사용 설정 메시지가 표시되지 않으면 이미 사용 설정되어 있으므로 추가 작업이 필요하지 않습니다.

 

 

작업 2. Hello World 앱 다운로드

간단한 Python용 Hello World 앱을 사용하면 Google Cloud에 앱을 배포하는 방법을 빠르게 익힐 수 있습니다. 다음 단계를 따라 Google Cloud 인스턴스에 Hello World를 다운로드합니다.

 

1. 다음 명령어를 입력하여 Hello World 샘플 앱 저장소를 Google Cloud 인스턴스에 복사합니다.

git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
 깃 클론이 잘 되었네요!
 
2.샘플 코드가 있는 디렉터리로 이동합니다.
cd python-docs-samples/appengine/standard_python3/hello_world

기본적인 명령어는 리눅스와 거의 같습니다!

 

 
3. Python 환경 설정

 

sudo apt update
sudo apt install -y python3-venv
python3 -m venv myenv
source myenv/bin/activate

가상환경을 설치해주고 활성화 시켜줍니다!

 

 

 

작업 3. 애플리케이션 테스트

사전 설치된 App Engine SDK에 포함된 Google Cloud 개발 서버(dev_appserver.py)를 사용하여 애플리케이션을 테스트합니다.

  1. 앱의 app.yaml 구성 파일이 있는 helloworld 디렉터리에서 다음 명령어를 사용하여 Google Cloud 개발 서버를 시작합니다.
flask --app main run

Ctrl + C를 누르면 종료할 수 있습니다~

 

이제 개발 서버가 실행되고 포트 5000에서 요청을 수신 대기합니다.

  1. 웹 미리보기() > 포트 변경을 클릭하여 결과를 확인합니다.
  2. 포트 번호를 5000으로 변경하고 변경 및 미리보기를 클릭합니다.
  3. 새 브라우저 창에 다음이 표시됩니다.
  4. Ctrl+C를 눌러 서버를 중단합니다.

 

 

작업 4. 변경하기

이 작업에서는 main.py를 편집하여 'Hello World!'를 'Hello, Cruel World!'로 변경합니다.

  1. 다음 명령어를 입력하여 nano에서 main.py를 열고 콘텐츠를 수정합니다.
nano main.py
  1. 'Hello World!'를 'Hello, Cruel World!'로 업데이트합니다.

  1. Ctrl + S를 눌러 파일을 저장하고 Ctrl + X를 눌러 종료합니다.
  2. 다음 명령어를 사용하여 Google Cloud 개발 서버를 다시 시작합니다.
flask --app main run

 

  1. Hello World! 브라우저를 새로고침하거나 웹 미리보기() > 5000 포트에서 미리보기를 클릭하여 결과를 확인합니다.
  2. Ctrl+C를 눌러 서버를 중단합니다.

 

작업 5. 앱 배포

  1. App Engine에 앱을 배포하려면 app.yaml 파일이 있는 애플리케이션의 루트 디렉터리에서 다음 명령어를 실행합니다.
gcloud app deploy
 
  1. 해당 지역을 나타내는 숫자를 입력합니다. <REGION>
  1. 그러면 App Engine 애플리케이션이 생성됩니다.

출력 예시:

Creating App Engine application in project [qwiklabs-gcp-233dca09c0ab577b] and region ["REGION"]....done.
Services to deploy:

descriptor:      [/home/gcpstaging8134_student/python-docs-samples/appengine/standard/hello_world/app.yaml]
source:          [/home/gcpstaging8134_student/python-docs-samples/appengine/standard/hello_world]
target project:  [qwiklabs-gcp-233dca09c0ab577b]
target service:  [default]
target version:  [20171117t072143]
target url:      [https://qwiklabs-gcp-233dca09c0ab577b.appspot.com]

Do you want to continue (Y/n)?
  1. 세부정보를 확인하고 서비스 배포를 시작하라는 메시지가 표시되면 Y를 입력합니다.

출력 예시:

Beginning deployment of service [default]...
Some files were skipped. Pass `--verbosity=info` to see which ones.
You may also view the gcloud log file, found at
[/tmp/tmp.dYC7xGu3oZ/logs/2017.11.17/07.18.27.372768.log].
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 5 files to Google Cloud Storage                ═╣
╚════════════════════════════════════════════════════════════
File upload done.
Updating service [default]...done.
Waiting for operation [apps/qwiklabs-gcp-233dca09c0ab577b/operations/2e88ab76-33dc-4aed-93c4-fdd944a95ccf] to complete...done.
Updating service [default]...done.
Deployed service [default] to [https://qwiklabs-gcp-233dca09c0ab577b.appspot.com]

You can stream logs from the command line by running:
  $ gcloud app logs tail -s default

To view your application in the web browser run:
  $ gcloud app browse

참고: 앱을 배포하는 동안 'Unable to retrieve P4SA'라는 오류가 표시되면 위의 명령어를 다시 실행합니다.

 

작업 6. 애플리케이션 보기

  • 브라우저를 실행하려면 다음 명령어를 입력한 후 제공된 링크를 클릭합니다.
gcloud app browse
 

출력 예시(링크는 사용자마다 다름):

Did not detect your browser. Go to this link to view your app:
https://qwiklabs-gcp-233dca09c0ab577b.appspot.com

애플리케이션이 배포되었으며 브라우저에서 짧은 메시지를 읽을 수 있습니다.

 

 

수고하셨습니다.

이 실습에서는 기본 Python 앱을 App Engine에 배포하는 방법을 배웠습니다.

 

 

GCP를 이용하여 파이썬 앱을 배포해봤는데 서버구축 및 운영실습 수업시간 때 배웠던 리눅스 명령어나 깃 공부했던게 여기서도 쓰이는 걸 보고 역시 기초 공부는 어딘가에선 써먹을 곳이 많구나라는 것을 느꼈습니다!

 

 

 

Copyright 2026 Google LLC. All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.