Enable the necessary APIs

내 진행 상황 확인하기

/ 10

Perform the necessary policy bindings

내 진행 상황 확인하기

/ 5

MCP deploy and test locally

내 진행 상황 확인하기

/ 20

MCP deploy to Cloud Run

내 진행 상황 확인하기

/ 20

Update the agent to use MCP

내 진행 상황 확인하기

/ 5

Deploy the ADK Agent locally

내 진행 상황 확인하기

/ 20

Deploy the ADK Agent on Cloud Run

내 진행 상황 확인하기

/ 10

Verify the deployed ADK Agent

내 진행 상황 확인하기

/ 10

이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.

GSP532

Google Cloud 사용자 주도형 실습

챌린지 개요

챌린지 실습에서는 특정 시나리오와 일련의 작업이 주어집니다. 단계별 안내를 따르는 대신, 과정의 실습에서 배운 기술을 사용하여 스스로 작업을 완료하는 방법을 알아내 보세요. 이 페이지에 표시되어 있는 자동 채점 시스템에서 작업을 올바르게 완료했는지 피드백을 제공합니다.

챌린지 실습을 진행할 때는 새로운 Google Cloud 개념에 대한 정보가 제공되지 않습니다. 학습한 기술을 응용하여 기본값을 변경하거나 오류 메시지를 읽고 조사하여 실수를 바로잡아야 합니다.

100점을 받으려면 시간 내에 모든 작업을 성공적으로 완료해야 합니다.

이 실습은 바이브 코딩으로 스마트 클라우드 애플리케이션 빌드 과정에 등록한 학습자에게 권장됩니다. 챌린지에 도전할 준비가 되셨나요?

테스트 주제

  • API를 사용 설정하고 환경 변수를 설정합니다.
  • IAM 정책 바인딩을 수행합니다.
  • 테스트를 위해 MCP 서버를 로컬에 배포하고 Cloud Run에 배포합니다.
  • 에이전트 개발 키트(ADK)를 사용하여 Python 애플리케이션을 업데이트하고 MCP를 사용합니다.
  • MCP 서버와 ADK 에이전트를 도커화하고 Cloud Run에 배포합니다.

설정 및 요건

실습 시작 버튼을 클릭하기 전에

다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지를 표시합니다.

실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.

이 실습을 완료하려면 다음을 준비해야 합니다.

  • 표준 인터넷 브라우저 액세스 권한(Chrome 브라우저 권장)
참고: 이 실습을 실행하려면 시크릿 모드(권장) 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학습자 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.
  • 실습을 완료하기에 충분한 시간(실습을 시작하고 나면 일시중지할 수 없음)
참고: 이 실습에는 학습자 계정만 사용하세요. 다른 Google Cloud 계정을 사용하는 경우 해당 계정에 비용이 청구될 수 있습니다.

챌린지 시나리오

Cloud Creek 동물원은 최첨단 방문객 참여 시스템을 구현하기 위해 Cymbal Group의 '디지털 경험' 컨설팅 부문과 계약을 맺었습니다. Cloud Creek 동물원의 궁극적인 목표는 방문객의 질문에 대해 심층적이고 맥락에 맞는 답변을 제공할 수 있는 AI 기반의 매우 정확하고 역동적이며 매력적인 투어 가이드를 만드는 것입니다. 시스템 업그레이드의 핵심은 원격 모델 컨텍스트 프로토콜(MCP) 서버인 '동물원 서버'를 통해 동물 정보를 조회할 수 있는 '동물원 투어 가이드' AI 에이전트를 구현하고 업그레이드하는 것입니다.

Cymbal 로고

방문객의 질문에 답할 때 컨텍스트로 Wikipedia를 사용하는 것 외에도 '동물원 투어 가이드' 에이전트는 전용 Google 검색 MCP 서버 도구를 통해 실시간으로 광범위한 정보에 액세스할 수 있어야 합니다. 이렇게 하면 에이전트가 "사자 종에 관한 최근 환경 보전 뉴스를 알려 줘."와 같은 질문에 답할 수 있게 됩니다.

주니어 컨설턴트가 기존 '동물원 서버'를 업그레이드하는 동안 몇 가지 실수를 저질러 약간 망가진, 작동하지 않는 Python 서버가 되었습니다. 또한 Cymbal Group의 엄격한 IAM 정책에 따라 프로젝트의 아키텍처가 아직 최종 확정되지 않은 상태였습니다.

이러한 문제를 해결하기 위해 여러분이 소집되었습니다.

챌린지

이 실습에서는 Cymbal Group의 수석 AI 통합 전문가로서 다음과 같은 임무를 수행합니다.

  • 프로젝트를 설정하고 필요한 API와 서비스를 사용 설정합니다.
  • 기업 IAM 정책을 적용합니다.
  • 고장 난 MCP 서버의 코드를 수정하고 서버를 Cloud Run에 배포하여 테스트합니다.
  • '동물원 투어 가이드' ADK AI 에이전트의 기능과 워크플로를 통합 및 업그레이드하여 Google 검색을 지원합니다.
  • ADK 에이전트 패키지를 도커화하고 Cloud Run에 배포하여 프로덕션 준비 상태를 완료합니다.

작업 1. 환경 설정 및 필요한 API 사용 설정

이 작업에서는 대규모 AI 배포를 지원하기 위해 Google Cloud에서 프로젝트별 기반을 만듭니다.

필요한 서비스가 효과적으로 작동하고 통신할 수 있도록 Google Cloud 프로젝트가 구성되어 있는지 확인합니다.

코드 파일 다운로드

  1. Cloud Shell에서 편집기 열기를 클릭하여 Cloud Shell 편집기를 홈 디렉터리로 엽니다.

  2. Cloud Shell 편집기 작업 모음에서 보기 > 터미널을 클릭합니다.

    참고: 보기 메뉴 옵션을 보려면 브라우저 창을 늘리거나 옵션 더보기(옵션 더보기 아이콘)를 클릭해야 할 수 있습니다.

이 실습의 나머지 부분에서는 이 창을 Cloud Shell 편집기(상단)와 Cloud Shell 터미널(하단)이 모두 있는 IDE로 사용합니다.

화면 오른쪽에 표시되는 추가 튜토리얼 또는 Gemini 패널을 닫아 코드 편집기에 더 많은 공간을 확보합니다.

  1. 터미널에서 다음 명령어를 입력하여 프로젝트를 설정합니다.

    gcloud config set project {{{primary_project.project_id | filled in at lab start}}}

    예상 출력: 업데이트된 속성을 확인하는 출력 메시지가 표시됩니다.

  2. 터미널에서 다음 명령어를 실행하여 상용구 코드 파일을 다운로드하고 추출합니다.

    gcloud storage cp gs://{{{primary_project.project_id | filled in at lab start}}}-labconfig-bucket/labs_code.zip . unzip labs_code.zip
  3. 다음을 실행하여 환경 변수를 만듭니다.

    cd ~/zoo_guide_agent cat <<EOF > .env MODEL="{{{primary_project.startup_script.gemini_flash_model_id |filled in at lab start}}}" SERVICE_ACCOUNT="{{{primary_project.startup_script.project_number | filled in at lab start}}}-compute@developer.gserviceaccount.com" MCP_SERVER_URL="https://{{{primary_project.startup_script.mcp_server_name | filled in at lab start}}}-{{{primary_project.startup_script.project_number | filled in at lab start}}}.{{{primary_project.default_region | filled in at lab start}}}.run.app/mcp/" GOOGLE_GENAI_USE_ENTERPRISE=1 GOOGLE_CLOUD_PROJECT={{{primary_project.project_id | filled in at lab start}}} PROJECT_NUMBER={{{primary_project.startup_script.project_number | filled in at lab start}}} GOOGLE_CLOUD_LOCATION={{{primary_project.default_region | filled in at lab start}}} EOF

    최종 디렉터리 구조는 다음과 유사합니다.

    출력:

    . ├── mcp-on-cloudrun │ ├── Dockerfile │ ├── local_mcp_call.py │ ├── pyproject.toml │ ├── server.py │ └── uv.lock └── zoo_guide_agent ├── agent.py ├── __init__.py ├── .env └── requirements.txt
  4. 마지막으로 필요한 API인 Agent Platform API, Artifact Registry API, Compute Engine API, Cloud Build API, Cloud Run Admin API를 사용 설정합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 필요한 API 사용 설정

작업 2. 필요한 정책 바인딩 수행(IAM 설정)

자동화된 서비스(Cloud Build 및 Cloud Run)는 서로 및 AI Platform과 상호작용하기 위해 특정 권한이 필요합니다.

이 작업에서는 사용자/서비스 계정에 Cloud Run을 호출하고 AI Platform을 사용할 수 있는 권한을 부여하는 데 필요한 정책 바인딩을 수행해야 합니다.

각 서비스 계정에 다음 IAM 역할을 부여해야 합니다.

  • 사용자에게 Cloud Run AdminAgent Platform User 역할을 부여하여 Cloud Run에 서비스를 배포할 수 있도록 합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 필요한 정책 바인딩 수행

작업 3. MCP 서버를 수정하고 Cloud Run에 배포

이 작업에서는 Gemini CLI를 사용하여 애플리케이션의 백본 역할을 하고 AI 도구 사용을 조정하는 MCP 서버를 문제 해결하고 활성화해야 합니다.

코드에서 문제를 해결한 후에는 Gemini CLI에서 관련 Cloud Build 통합 명령어를 사용하여 기존의 원격 MCP 서버를 테스트를 위해 Gemini CLI 저장소에 배포해야 합니다.

로컬에서 배포 및 테스트

  1. 터미널에서 다음 명령어를 실행하여 ~/mcp-on-cloudrun/server.py를 실행합니다.

    cd ~/mcp-on-cloudrun uv run server.py

    오류가 발생합니다. Cloud ShellGemini를 사용하여 오류를 수정해야 합니다.

    참고: Gemini CLI가 업데이트되고 실제 Python 파일에서 코드 변경사항을 적용하는 데 시간이 걸릴 수 있습니다. Gemini CLI가 수정된 Python 파일을 실행할 수 있는 권한을 요청하면 ESC 키를 눌러 취소하고 Gemini CLI를 종료하여 터미널로 돌아갑니다. 그런 다음 실습을 진행하기 위해 다음 실습 단계를 수행합니다.
  2. 오류가 수정되면 이전 명령어를 다시 실행합니다. MCP server가 로컬에서 시작되고 이를 확인하는 출력이 표시됩니다.

  3. 다른 terminal 인스턴스를 열고 ~/mcp-on-cloudrun/local_mcp_call.py를 실행하여 로컬에 배포된 에이전트를 테스트합니다.

    참고: google.logging.v2.WriteLogEntriesPartialErrors 오류가 발생하면 gcloud config set project 명령어를 사용하여 프로젝트를 설정합니다. cd ~/mcp-on-cloudrun uv run local_mcp_call.py

    예상 출력: CallToolResult로 표시되는 결과 출력은 바다코끼리 종에 대한 구조화된 데이터가 성공적으로 검색되었음을 보여줍니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 로컬에서 MCP 배포 및 테스트

Cloud Run에 배포

참고: 배포 과정에서 메시지가 표시되면 Cloud Shell을 승인해야 합니다.
  • 다음 gcloud 명령어를 실행하여 애플리케이션을 Cloud Run에 배포합니다.

    cd ~/mcp-on-cloudrun gcloud run deploy {{{primary_project.startup_script.mcp_server_name | filled in at lab start}}} \ --no-allow-unauthenticated \ --region={{{primary_project.default_region | filled in at lab start}}} \ --source=. \ --min=1 \ --project={{{primary_project.project_id | filled in at lab start}}} \ --labels=lab-dev=mcp-zoo-cloud-run-service
참고: 배포에 최대 10분이 걸릴 수 있습니다. Cloud Run 배포 중에 Quota exceeded for total allowable CPU per project per region 오류가 발생하면 잠시 기다렸다가 명령어를 다시 시도하세요.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. Cloud Run에 MCP 배포

작업 4. MCP를 사용하도록 에이전트 업데이트

이 작업에서는 Python 에이전트 코드를 배포하고 새로 배포된 MCP 서버에 연결합니다.

Gemini CLI 내에서 ADK 명령어를 사용하여 로컬(업데이트된) agent.py 파일을 배포합니다. 이 배포를 구성하여 작업 3에서 배포된 MCP 서버를 사용하면 로컬 CLI 환경 내에서 동물원 투어 가이드를 운영할 수 있습니다.

토큰 생성 및 settings.json 파일 구성

  1. Gemini 설정 파일에서 사용할 수 있도록 Google Cloud 사용자 인증 정보와 프로젝트 번호를 환경 변수에 저장합니다.

    export PROJECT_NUMBER=$(gcloud projects describe $GOOGLE_CLOUD_PROJECT --format="value(projectNumber)") export ID_TOKEN=$(gcloud auth print-identity-token)
참고: Gemini CLI에서 인증 오류가 발생하면 ID_TOKEN이 만료되었을 수 있습니다. /quit로 종료하고 gcloud config set project 명령어를 사용하여 프로젝트를 설정합니다.
  1. Cloud Shell 편집기에서 보기 > 숨은 파일 전환을 선택하고 ~/.gemini/settings.json 파일을 열거나 생성하여 업데이트할 수 있도록 합니다. 파일 콘텐츠를 다음 Gemini CLI 설정으로 채워 Cloud Run MCP 서버를 추가합니다.

    { "mcpServers": { "zoo-remote": { "httpUrl": "https://{{{primary_project.startup_script.mcp_server_name | filled in at lab start}}}-{{{primary_project.startup_script.project_number | filled in at lab start}}}.{{{primary_project.default_region | filled in at lab start}}}.run.app/mcp/", "headers": { "Authorization": "Bearer $ID_TOKEN" } } }, "selectedAuthType": "cloud-shell", "hasSeenIdeIntegrationNudge": true }

Gemini CLI 열기

다음 단계를 수행하여 Gemini CLI를 엽니다.

  1. 터미널에서 명령어를 실행하여 Gemini CLI를 실행합니다.

    일부 기본 설정을 수락하려면 Enter 키를 눌러야 할 수 있습니다. gemini-cli-landing-screen.png

  2. 관련 슬래시 명령어를 사용하여 Gemini가 컨텍스트 내에서 사용할 수 있는 MCP 도구를 나열하도록 합니다.

  3. Gemini에게 동물원에서 무언가를 찾아 달라고 요청합니다.

    Where can I find penguins?

    Gemini CLI는 zoo-remote MCP 서버를 사용해야 하며 MCP 도구 실행을 허용할지 묻습니다.

  4. zoo-remote MCP 서버에서 모든 도구를 항상 허용하도록 선택합니다.

    예상 출력: 출력에는 정답과 MCP 서버가 사용되었음을 보여주는 표시 상자가 표시되어야 합니다.

  1. Gemini CLI에 다음과 같이 입력하여 새로 만든 커스텀 명령어를 사용합니다.

    /find --animal="lion"

    예상 출력: Gemini CLI가 fetch_animals_by_species 도구를 호출하고 MCP 프롬프트의 지시에 따라 대답 형식을 지정하는 것을 확인할 수 있습니다.

  1. 세션을 종료할 준비가 되면 관련 명령어 또는 단축키를 사용하여 Gemini CLI를 종료합니다.

서버 로그 확인

  • 터미널에서 다음을 입력하여 서버 로그를 확인합니다.

    gcloud run services logs read {{{primary_project.startup_script.mcp_server_name | filled in at lab start}}} --region {{{primary_project.default_region| filled in at lab start}}} --limit=5

    예상 출력: 도구 호출이 이루어졌음을 확인하는 출력 로그가 표시됩니다. 🛠️

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. MCP를 사용하도록 에이전트를 업데이트하고 확인

작업 5. ADK 에이전트를 도커화하고 Cloud Run에 배포

마지막 작업에서는 전체 시스템을 로컬 테스트 환경에서 확장 가능한 프로덕션 레디 서버리스 환경으로 이전해야 합니다.

MCP 서버와 Google 검색이 통합된 동물원 투어 가이드 에이전트를 포함한 전체 ADK 애플리케이션을 컨테이너화하고 생성된 컨테이너 이미지를 Google Cloud Run에 배포해야 합니다. 서비스가 공개 호출을 위해 구성되어 있는지 확인하고 에이전트가 공개 URL에서 응답하는지 확인해야 합니다.

로컬에서 배포 및 테스트

  1. ~/zoo_guide_agent/agent.py를 열고 TODO 주석을 검토한 다음, 그에 따라 코드를 업데이트하여 에이전트 설정을 완료합니다.

  2. 다음 명령어를 실행하여 zoo_guide_agent 패키지를 설치합니다.

    gcloud config set project {{{primary_project.project_id | filled in at lab start}}} cd ~/zoo_guide_agent python -m venv .venv source .venv/bin/activate pip install --no-cache-dir -r requirements.txt
  3. 다음을 실행하여 ADK 에이전트를 로컬로 배포합니다.

    cd ~ adk web
  4. Cloud Shell에서 http://localhost:8000 또는 http://127.0.0.1:8000 링크를 Ctrl+클릭하여 새 브라우저 탭에서 ADK 개발 UI를 엽니다.

  5. ADK 개발 UI에서 zoo_guide_agent를 선택하고 다음 쿼리를 요청합니다.

    Where can I find bears?

    예상 출력: 모든 함수 호출에 대한 이벤트와 모든 소스의 정보를 결합한 쿼리 해결 방법이 표시됩니다. 또한 에이전트는 전 세계적으로 존재하는 종의 수를 대략 제공합니다.

참고: 실제 에이전트 대답을 통합하는 데 다소 시간이 걸릴 수 있습니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. ADK 에이전트를 로컬에 배포

Cloud Run에 배포

  • 터미널에서 다른 터미널 인스턴스를 열고 다음 명령어를 실행하여 에이전트를 배포합니다.

    cd ~/zoo_guide_agent uvx --from google-adk \ adk deploy cloud_run \ --project={{{primary_project.project_id | filled in at lab start}}} \ --region={{{primary_project.default_region| filled in at lab start}}} \ --service_name={{{primary_project.startup_script.adk_server_name | filled in at lab start}}} \ --with_ui \ . \ -- \ --labels=lab-dev=cloud-zoo-run-adk-service

uvx 명령어를 사용하면 이러한 도구를 전역으로 설치하지 않고도 Python 패키지로 게시된 명령줄 도구를 실행할 수 있습니다.

참고: 배포가 완료되는 데 평균 15분 정도 걸릴 수 있습니다. 인증되지 않은 호출을 허용할지 묻는 메시지가 표시되면 y를 입력하여 계속합니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. Cloud Run에 ADK 에이전트 배포

배포된 ADK 에이전트 확인

이제 에이전트가 Cloud Run에서 라이브로 실행되므로 테스트를 수행하여 배포가 성공했는지 확인하고 에이전트가 예상대로 작동하는지 검증합니다. 공개 서비스 URL을 사용하여 ADK의 웹 인터페이스에 액세스하고 에이전트와 상호작용합니다.

  1. 에이전트가 Cloud Run에 성공적으로 배포되면 출력에서 서비스 URL을 Ctrl+클릭하여 새 브라우저 탭에서 엽니다.

다음 형식과 유사해야 합니다.

서비스 URL 출력:

https://{{{primary_project.startup_script.adk_server_name | filled in at lab start}}}-{{{primary_project.startup_script.project_number | filled in at lab start}}}.{{{primary_project.default_region | filled in at lab start}}}.run.app/

Cloud Run에 배포하는 동안 --with_ui 플래그를 사용했으므로 ADK 개발자 UI가 표시됩니다.

  1. 오른쪽 상단에서 토큰 스트리밍사용으로 전환합니다.

  2. 동물원 에이전트와 상호작용합니다. 다음 쿼리를 입력하여 새 대화를 시작합니다.

    Where can I find elephants?

    예상 출력: 모든 함수 호출에 대한 이벤트와 모든 소스의 정보를 결합한 쿼리 해결 방법이 표시됩니다. 또한 에이전트는 전 세계적으로 존재하는 종의 수를 대략 제공합니다.

참고: 실제 에이전트 대답을 통합하는 데 다소 시간이 걸릴 수 있습니다.

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. 배포된 ADK 에이전트 확인

수고하셨습니다.

이 실습에서는 Gemini CLI를 Google Cloud Run 및 Cloud Build와 함께 사용하여 향상된 기능의 '동물원 투어 가이드' ADK 에이전트를 구성, 테스트, 배포하는 역량을 입증했습니다. 에이전트가 전용 MCP 서버 및 기본 제공 도구와 상호작용할 수 있도록 함으로써 Cloud Creek 동물원의 디지털 혁신 노력의 일환으로 동물원 방문객의 쿼리 처리 및 동물 조회를 크게 개선하고 간소화할 수 있습니다.

다음 단계/더 학습하기

생성형 AI 및 Gemini Enterprise Agent Platform에 대해 자세히 알아보려면 다음 리소스를 확인하세요.

Google Cloud 교육 및 자격증

Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.

설명서 최종 업데이트: 2025년 10월 16일

실습 최종 테스트: 2025년 10월 16일

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

시작하기 전에

  1. 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
  2. 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
  3. 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.

시크릿 브라우징 사용

  1. 실습에 입력한 사용자 이름비밀번호를 복사합니다.
  2. 비공개 모드에서 콘솔 열기를 클릭합니다.

콘솔에 로그인

    실습 사용자 인증 정보를 사용하여
  1. 로그인합니다. 다른 사용자 인증 정보를 사용하면 오류가 발생하거나 요금이 부과될 수 있습니다.
  2. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
  3. 실습을 완료했거나 다시 시작하려고 하는 경우가 아니면 실습 종료를 클릭하지 마세요. 이 버튼을 클릭하면 작업 내용이 지워지고 프로젝트가 삭제됩니다.

현재 이 콘텐츠를 이용할 수 없습니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

감사합니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

한 번에 실습 1개만 가능

모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.

시크릿 브라우징을 사용하여 실습 실행하기

이 실습을 실행하는 가장 좋은 방법은 시크릿 모드 또는 시크릿 브라우저 창을 사용하는 것입니다. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.

실습을 시작하려면 이 간단한 단계를 완료하세요.