시작하기 전에
- 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
- 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
- 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.
Enable Relevant APIs
/ 20
Build a container image with Cloud Build
/ 30
Deploy the container to Cloud Run
/ 30
Test the application on Cloud Run
/ 20
Cloud Run은 HTTP 요청으로 호출 가능한 스테이트리스(Stateless) 컨테이너를 실행하는 완전 관리형 컴퓨팅 플랫폼입니다. 컨테이너 이미지를 빌드할 경우 모든 프로그래밍 언어로 작성된 코드를 Cloud Run에 배포할 수 있습니다. Go, Node.js, Python, Java, .NET Core, Ruby로 애플리케이션을 개발할 때 컨테이너를 빌드하는 소스 기반 배포 옵션을 사용할 수 있습니다.
Cloud Run은 서버리스이며 Google의 확장 가능한 인프라에서 컨테이너를 실행합니다. Cloud Run은 Knative 기반으로 빌드되어 Cloud Run을 통한 완전 관리형으로 컨테이너를 실행하거나 GKE의 Cloud Run을 통한 Google Kubernetes Engine 클러스터에서 컨테이너를 실행할 수 있습니다.
Cloud Run은 Google Cloud의 다른 서비스와 잘 작동하므로 Cloud Run 서비스를 운영, 구성, 확장하는 데 너무 많은 시간을 들이지 않고도 완전한 기능을 갖춘 애플리케이션을 빌드할 수 있습니다.
이 실습에서 학습할 내용은 다음과 같습니다.
각 실습에서는 정해진 기간 동안 새 Google Cloud 프로젝트와 리소스 집합이 무료로 제공됩니다.
시크릿 창을 사용하여 Qwiklabs에 로그인합니다.
실습 사용 가능 시간(예: 1:15:00)을 참고하여 해당 시간 내에 완료합니다.
일시중지 기능은 없습니다. 필요한 경우 다시 시작할 수 있지만 처음부터 시작해야 합니다.
준비가 되면 실습 시작을 클릭합니다.
실습 사용자 인증 정보(사용자 이름 및 비밀번호)를 기록해 두세요. Google Cloud Console에 로그인합니다.
Google Console 열기를 클릭합니다.
다른 계정 사용을 클릭한 다음, 안내 메시지에 이 실습에 대한 사용자 인증 정보를 복사하여 붙여넣습니다.
다른 사용자 인증 정보를 사용하는 경우 오류가 발생하거나 요금이 부과됩니다.
약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
Google Cloud Shell은 다양한 개발 도구가 탑재된 가상 머신으로, 5GB의 영구 홈 디렉터리를 제공하며 Google Cloud에서 실행됩니다.
Google Cloud Shell을 사용하면 명령줄을 통해 Google Cloud 리소스에 액세스할 수 있습니다.
Cloud 콘솔의 오른쪽 상단 툴바에서 'Cloud Shell 열기' 버튼을 클릭합니다.
계속을 클릭합니다.
환경을 프로비저닝하고 연결하는 데 몇 분 정도 소요됩니다. 연결되면 사용자가 미리 인증되어 프로젝트가 PROJECT_ID로 설정됩니다. 예:
gcloud는 Google Cloud의 명령줄 도구입니다. Cloud Shell에 사전 설치되어 있으며 명령줄 자동 완성을 지원합니다.
출력:
출력 예시:
출력:
출력 예시:
이 작업에서는 Cloud Shell 환경의 환경 변수를 설정하고 이 실습에서 사용할 관련 Google API를 사용 설정합니다.
실습 사용자 인증 정보로 Google Cloud 콘솔에 로그인하고 Cloud Shell 터미널 창을 엽니다.
Cloud Shell에서 프로젝트 ID 및 리전 환경 변수를 설정하려면 다음 명령어를 실행합니다.
관련 API를 사용 설정하려면 다음 명령어를 실행합니다.
목표를 확인하려면 내 진행 상황 확인하기를 클릭합니다.
이 작업에서는 샘플 Node.js 애플리케이션을 복사합니다. 그런 다음 Cloud Shell 환경에서 로컬로 빌드하고 실행합니다.
app 디렉터리를 만들고 현재 작업 디렉터리로 설정합니다.
Cloud Storage에서 앱을 복사하고 파일을 추출하려면 다음 명령어를 실행합니다.
앱 디렉터리로 변경합니다.
애플리케이션 소스 코드를 보려면 최상위 디렉터리에서 server.js 파일의 콘텐츠를 확인합니다.
앱의 종속 항목 모듈을 로컬로 설치하려면 다음 명령어를 실행합니다.
애플리케이션을 로컬로 실행하려면 다음 명령어를 실행합니다.
다음과 같은 출력이 표시됩니다.
두 번째 Cloud Shell 터미널 창을 열려면 Cloud Shell 탐색 메뉴에서 ()를 클릭합니다.
애플리케이션에 몇 가지 HTTP 요청을 보내 샘플 API를 테스트합니다.
애플리케이션은 제품 목록으로 응답해야 합니다.
ID로 특정 제품을 가져오기 위해 두 번째 API 요청을 합니다.
애플리케이션은 특정 제품에 대한 세부정보로 응답해야 합니다.
애플리케이션을 종료하려면 첫 번째 Cloud Shell 터미널 창에서 Ctrl+C를 입력합니다.
Cloud Build는 Google Cloud에서 빌드를 실행하는 서비스입니다. Cloud Build를 사용하면 지속적 통합 및 배포(CI/CD) 파이프라인을 사용하여 애플리케이션을 지속적으로 빌드, 테스트, 배포할 수 있습니다.
Cloud Build에 지침을 제공하려면 일련의 작업이 포함된 빌드 구성 파일을 만들어야 합니다. 이러한 안내는 종속 항목을 가져오고, 단위 테스트 및 통합 테스트를 실행하고, 정적 분석을 수행하고, docker, gradle, maven 등의 빌드 도구로 아티팩트를 만들도록 빌드를 구성할 수 있습니다.
이 작업에서는 Cloud Build를 사용하여 애플리케이션의 Docker 컨테이너를 빌드하고 결과 컨테이너 이미지를 Artifact Registry의 저장소에 푸시합니다.
Google Cloud 콘솔 제목 표시줄의 검색 필드에 Artifact Registry를 입력하고 검색을 클릭한 다음 Artifact Registry를 클릭합니다.
Artifact Registry 옆에 있는 ( 고정)을 클릭합니다.
저장소 만들기를 클릭합니다.
저장소 만들기 페이지에서 다음 정보를 제공하고 나머지 설정은 기본값으로 둡니다.
|
이름 |
my-repo |
|
형식 |
Docker |
|
위치 유형 |
리전 |
|
리전 |
|
만들기를 클릭하고 저장소가 생성될 때까지 기다립니다.
이미지를 저장소로 푸시하려면 먼저 Artifact Registry의 저장소에 대한 요청을 인증하도록 Docker를 구성해야 합니다.
메시지가 표시되면 Y를 입력합니다.
Cloud Build에 지침을 제공하려면 일련의 작업이 포함된 빌드 구성 파일을 만들어야 합니다. 이러한 안내는 종속 항목을 가져오고, 단위 테스트와 통합 테스트를 실행하고, 정적 분석을 수행하고, docker, gradle, maven 등의 빌더로 아티팩트를 만들도록 빌드를 구성할 수 있습니다.
저장소 이름의 환경 변수를 설정합니다.
빌드 구성 파일을 만듭니다.
cloudbuild.yaml 파일을 봅니다.
Cloud Build로 컨테이너를 빌드하려면 다음 명령어를 실행합니다.
다음은 명령어의 유사한 (부분) 출력입니다.
Cloud Build는 먼저 지정된 디렉터리에서 애플리케이션 소스 코드와 기타 파일을 Cloud Storage에 업로드합니다. 그런 다음 빌드 구성과 Dockerfile에 지정된 안내에 따라 애플리케이션이 포함된 컨테이너 이미지를 빌드하고, 지정된 이미지 이름으로 이미지를 태그하고, Artifact Registry의 저장소에 이미지를 푸시합니다.
Google Cloud 콘솔 제목 표시줄의 검색 필드에 Cloud Build를 입력하고 검색을 클릭한 다음 Cloud Build를 클릭합니다.
리전에서
목록 상단에서 빌드의 빌드 ID를 클릭합니다.
빌드 로그를 비롯한 빌드 세부정보가 표시됩니다.
빌드 명령어가 완료되면 Google Cloud 콘솔의 탐색 메뉴()에서 Artifact Registry > 저장소를 클릭합니다.
my-repo 저장소를 클릭하여 sample-node-app-image 컨테이너 이미지를 표시합니다.
목표를 확인하려면 내 진행 상황 확인하기를 클릭합니다.
컨테이너 이미지가 빌드되었으므로 이제 Cloud Run에 배포할 수 있습니다. Cloud Run에 배포하는 방법에는 두 가지가 있습니다.
관리형 Cloud Run: 전체 컨테이너 수명 주기가 Cloud Run에 의해 관리되는 완전 관리형 서비스 모델입니다. 이 실습에서는 이 접근 방식을 사용합니다.
Anthos의 Cloud Run: 제어 계층이 추가된 Cloud Run으로, GKE에서 자체 클러스터와 포드를 가져올 수 있습니다.
이 작업에서는 컨테이너 이미지를 Google Cloud의 완전 관리형 Cloud Run 서비스에 배포합니다.
컨테이너 이미지를 배포하려면 Cloud Shell에서 다음 명령어를 실행합니다.
명령어가 완료되면 Google Cloud 콘솔의 탐색 메뉴()에서 Cloud Run을 클릭합니다.
Cloud Run 서비스의 세부정보를 표시하려면 sample-node-app 서비스 이름을 클릭합니다.
목표를 확인하려면 내 진행 상황 확인하기를 클릭합니다.
서비스가 실행 중이고 요청을 수락할 수 있는지 확인하려면 Cloud Shell에서 다음 명령어를 실행합니다.
이 명령어 출력은 다음과 비슷합니다.
명령어 출력에서 URL 값을 복사하고 표시된 대로 URL 끝에 service/products를 추가하여 curl 명령어에 붙여넣습니다. 출력을 jq 명령어에 파이핑하고 Enter 키를 누릅니다.
출력은 이전 작업에서 로컬로 실행했을 때 애플리케이션에서 받은 출력과 비슷해야 합니다.
목표를 확인하려면 내 진행 상황 확인하기를 클릭합니다.
이 실습에서 학습할 내용은 다음과 같습니다.
자세한 내용은 다음 문서를 참고하세요.
Copyright 2020 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.
현재 이 콘텐츠를 이용할 수 없습니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
감사합니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
한 번에 실습 1개만 가능
모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.