
시작하기 전에
- 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
- 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
- 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.
Deploy to App Engine
/ 30
Deploy to Kubernetes Engine
/ 30
Deploy to Cloud Run
/ 40
이 실습에서는 애플리케이션을 Google Cloud 서비스인 App Engine, Kubernetes Engine, Cloud Run에 배포합니다.
이 실습에서는 다음 작업을 실행하는 방법을 알아봅니다.
각 실습에서는 정해진 기간 동안 새 Google Cloud 프로젝트와 리소스 집합이 무료로 제공됩니다.
시크릿 창을 사용하여 Qwiklabs에 로그인합니다.
실습 사용 가능 시간(예: 1:15:00
)을 참고하여 해당 시간 내에 완료합니다.
일시중지 기능은 없습니다. 필요한 경우 다시 시작할 수 있지만 처음부터 시작해야 합니다.
준비가 되면 실습 시작을 클릭합니다.
실습 사용자 인증 정보(사용자 이름 및 비밀번호)를 기록해 두세요. Google Cloud Console에 로그인합니다.
Google Console 열기를 클릭합니다.
다른 계정 사용을 클릭한 다음, 안내 메시지에 이 실습에 대한 사용자 인증 정보를 복사하여 붙여넣습니다.
다른 사용자 인증 정보를 사용하는 경우 오류가 발생하거나 요금이 부과됩니다.
약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
이제 관리할 소스 코드가 필요합니다. 따라서 간단한 Python Flask 웹 애플리케이션을 만들어 보겠습니다. 애플리케이션은 'hello world'보다 약간 더 나은 수준이지만 빌드할 파이프라인을 테스트하기에는 충분합니다.
3.9. Cloud Shell에 다음 명령어를 입력하여 gcp-course
라는 폴더를 만듭니다.
deploying-apps-to-gcp
라는 폴더를 만듭니다.main.py
로 지정하고 Enter 키를 누릅니다.deploying-apps-to-gcp
폴더를 클릭합니다.templates
로 지정하고 Enter 키를 누릅니다.templates
폴더를 마우스 오른쪽 버튼으로 클릭하고 layout.html
이라는 이름으로 새 파일을 만듭니다.또한 templates 폴더에 index.html
이라는 새 파일을 추가합니다.
다음 코드를 추가하고 이전과 마찬가지로 파일을 저장합니다.
Python에서 애플리케이션 기본 요건은 pip를 사용하여 관리됩니다. 이제 이 애플리케이션에 대한 요구사항을 나열하는 파일을 추가해 보겠습니다.
deploying-apps-to-gcp 폴더(templates 폴더 아님)에서 새 파일을 만들고 다음을 해당 파일에 추가한 다음 requirements.txt
라는 이름으로 저장합니다.
Docker를 사용하는 첫 번째 단계는 Dockerfile이라는 파일을 만드는 것입니다. 이 파일은 Docker 컨테이너가 구성되는 방식을 정의합니다. 지금 만들어 보겠습니다.
Dockerfile 파일은 컨테이너 빌드 방법을 정의하는 데 사용됩니다.
새 브라우저 탭에 프로그램이 표시됩니다.
Ctrl+C
를 입력하여 프로그램을 중지합니다.App Engine은 완전 자동화된 배포 플랫폼입니다. Python, Java, JavaScript, Go를 비롯하여 많은 언어를 지원합니다. App Engine을 사용하려면 구성 파일을 만들고 몇 가지 간단한 명령어를 사용하여 애플리케이션을 배포합니다. 이 작업에서는 app.yaml이라는 파일을 만들고 이 파일을 App Engine에 배포합니다.
gcp-course/deploying-apps-to-gcp
폴더를 선택합니다.gcloud app create
명령어를 사용해 앱을 만들고자 하는 리전을 지정하기만 하면 됩니다. 터미널 열기를 클릭하고 다음 명령어를 입력합니다. 메시지가 표시되면 승인을 클릭합니다.Google Cloud 콘솔 제목 표시줄의 검색창에 App Engine을 입력한 다음, 검색 결과 섹션에서 App Engine을 클릭합니다.
대시보드 오른쪽 상단에 다음과 비슷한 애플리케이션 링크가 있습니다.
https://project-id.appspot.com
형식입니다.
링크를 클릭하여 프로그램을 테스트합니다.
프로그램에 변경사항을 적용하여 App Engine으로 얼마나 쉽게 버전을 관리할 수 있는지 확인합니다.
코드 편집기의 왼쪽 탐색창에서 /deploying-apps-to-gcp
폴더를 펼칩니다. 그런 다음, main.py를 클릭하여 파일을 엽니다.
main() 함수에서 아래와 같이 제목을 Hello App Engine
으로 변경합니다.
코드 편집기 툴바에서 파일 > 저장을 클릭하여 변경사항을 저장합니다.
이제 다음 명령어를 사용하여 버전 2를 배포합니다.
--no-promote
파라미터는 계속 이전 버전에 요청을 제공하도록 App Engine에 알려 줍니다. 이 파라미터를 사용하면 프로덕션에 새 버전을 배포하기 전에 테스트할 수 있습니다.
명령어가 완료되면 App Engine 대시보드로 돌아갑니다. 링크를 다시 클릭하면 버전 1이 계속 반환됩니다. 버전 1은 Hello GCP
를 반환합니다. 이전 명령어에서 --no-promote
파라미터를 사용했기 때문입니다.
왼쪽에서 버전 탭을 클릭합니다. 두 개의 버전이 목록에 표시됩니다.
버전 2의 링크를 클릭하여 테스트합니다. Hello App Engine
이 반환되어야 합니다.
프로덕션 트래픽을 버전 2로 마이그레이션하려면 상단에서 트래픽 분할을 클릭합니다. 버전을 2로 변경하고 저장을 클릭합니다.
완료하는 데 1분 정도 걸립니다. 이전에 Hello GCP
를 반환했던 브라우저 탭을 새로고침합니다. 이제 새 버전이 반환됩니다.
진행 상황 확인을 클릭하여 목표를 확인합니다.
Kubernetes Engine을 사용하면 머신 클러스터를 만들고 여러 애플리케이션을 클러스터에 배포할 수 있습니다. Kubernetes는 머신 관리의 세부정보를 추상화하며 간단한 CLI 명령어를 사용하여 애플리케이션 배포를 자동화할 수 있습니다.
Kubernetes에 애플리케이션을 배포하려면 먼저 클러스터를 만들어야 합니다. 그런 다음 클러스터에 배포할 애플리케이션마다 구성 파일을 추가해야 합니다.
탐색 메뉴()에서 Kubernetes Engine을 클릭합니다. Kubernetes API가 초기화되고 있다는 메시지가 표시되면 완료될 때까지 기다립니다.
클러스터 만들기를 클릭한 다음 Standard 클러스터로 전환을 클릭하고 Standard 클러스터로 전환을 확인합니다.
위치 유형에서 영역을 클릭한 다음 영역
클러스터 옆에 표시된 점 3개를 클릭한 다음 연결을 클릭합니다.
클러스터에 연결 화면에서 Cloud Shell에서 실행을 클릭합니다. 그러면 입력된 연결 명령어를 사용하여 Cloud Shell이 자동으로 열립니다.
Enter를 눌러 클러스터에 연결합니다.
다음 명령어를 입력하여 연결을 테스트합니다.
이 명령어는 클러스터에 있는 머신을 간단히 표시합니다. 이 명령어가 작동하면 연결이 된 것입니다.
gcp-course/deploying-apps-to-gcp
폴더를 펼칩니다. 그런 다음, main.py를 클릭하여 파일을 엽니다.Hello Kubernetes Engine
으로 변경합니다.kubernetes-config.yaml
파일을 gcp-course/deploying-apps-to-gcp
폴더에 추가합니다.참고: 위의 YAML 파일에서 첫 번째 섹션은 배포를 구성하는 부분입니다. 이 경우 Python 웹 앱의 인스턴스 3개를 배포합니다. 이미지 속성에 주목하세요. 이미지를 빌드한 후 곧 이 값을 업데이트하게 됩니다. 두 번째 섹션에서는 '부하 분산기' 유형의 서비스를 구성합니다. 부하 분산기에는 공개 IP 주소가 있어야 합니다. 사용자는 부하 분산기를 통해 애플리케이션에 액세스합니다.
Kubernetes 배포와 서비스에 관한 자세한 내용은 아래 링크를 참고하세요.
이전 명령어가 완료되면 이미지 이름이 출력에 나열됩니다. 이미지 이름은
이미지 이름을 강조 표시하고 클립보드에 복사합니다. kubernetes-config.yaml
파일에 값을 붙여넣어 <YOUR IMAGE PATH HERE>
문자열을 덮어씁니다.
아래와 비슷한 모습이어야 합니다.
모든 포드가 사용할 준비가 되었는지 확인합니다. 준비가 되지 않았다면 몇 초간 기다렸다가 다시 시도합니다.
아래와 비슷한 모습이어야 합니다.
부하 분산기의 외부 IP 주소가 '대기 중'이면 몇 초간 기다렸다가 다시 시도합니다.
Hello Kubernetes Engine
이 반환됩니다. 준비될 때까지 몇 초가 걸릴 수 있습니다.진행 상황 확인을 클릭하여 목표를 확인합니다.
Cloud Run은 Kubernetes에 배포하는 작업을 간소화하고 자동화합니다. Cloud Run을 사용할 때는 구성 파일이 필요하지 않습니다. 애플리케이션에 사용할 클러스터를 선택하기만 하면 됩니다. Cloud Run을 통해 Google에서 관리하는 클러스터를 사용하거나 자체 Kubernetes 클러스터를 사용할 수 있습니다.
Cloud Run을 사용하려면 애플리케이션이 Docker 이미지를 사용하여 배포되고 스테이트리스(Stateless)여야 합니다.
gcp-course/deploying-apps-to-gcp
폴더를 펼칩니다. 그런 다음, main.py를 클릭하여 파일을 엽니다.Hello Cloud Run
으로 변경합니다.변경사항을 저장합니다.
Cloud Run을 사용하려면 Docker 이미지를 빌드해야 합니다. 이미지를 만들고 Artifact Registry에 저장하려면 Cloud Shell에서 다음 명령어를 입력하여 Cloud Build를 사용합니다.
빌드가 완료되면 Google Cloud 콘솔 제목 표시줄의 검색창에 Cloud Run을 입력한 다음, 제품 및 페이지 섹션에서 Cloud Run을 클릭합니다.
서비스 만들기를 클릭합니다. 그러면 Cloud Run API가 사용 설정됩니다.
Container image URL
텍스트 상자의 선택 링크를 클릭한 다음, Artifact Registry를 클릭합니다. 표시되는 대화상자에서 Region-docker.pkg.dev/$DEVSHELL_PROJECT_ID/devops-demo > cloud-run-image를 펼치고 나열된 이미지를 선택합니다. 그런 다음 선택을 클릭합니다.
서비스 이름에 hello-cloud-run을 입력하고 리전(
인증에서 인증되지 않은 호출 허용을 선택합니다.
컨테이너, 볼륨, 네트워킹, 보안에 있는 실행 환경 섹션에서 기본값을 선택합니다.
버전 확장에서 인스턴스의 최대 개수를 6으로 설정합니다. 나머지 부분은 기본값으로 둡니다.
마지막으로 만들기를 클릭합니다.
서비스 배포는 오래 걸리지 않습니다. 녹색 체크표시가 나타나면 애플리케이션을 위해 자동 생성된 URL을 클릭합니다. Hello Cloud Run
이 반환됩니다.
진행 상황 확인을 클릭하여 목표를 확인합니다.
이 실습에서는 애플리케이션을 Google Cloud 서비스인 App Engine, Kubernetes Engine, Cloud Run에 배포했습니다.
실습을 완료하면 실습 종료를 클릭합니다. Google Cloud Skills Boost에서 사용된 리소스를 자동으로 삭제하고 계정을 지웁니다.
실습 경험을 평가할 수 있습니다. 해당하는 별표 수를 선택하고 의견을 입력한 후 제출을 클릭합니다.
별점의 의미는 다음과 같습니다.
의견을 제공하고 싶지 않다면 대화상자를 닫으면 됩니다.
의견이나 제안 또는 수정할 사항이 있다면 지원 탭을 사용하세요.
Copyright 2025 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.
현재 이 콘텐츠를 이용할 수 없습니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
감사합니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
한 번에 실습 1개만 가능
모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.