Cloud Shell로 함수 만들기 및 배포

Cloud Shell 편집기에서 Cloud Code와 함께 Cloud Functions를 사용하여 2세대 HTTP 함수를 생성, 배포, 호출, 다운로드하는 방법을 알아봅니다.


Cloud Shell 편집기에서 이 태스크의 단계별 안내를 직접 수행하려면 둘러보기를 클릭합니다.

둘러보기


  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  4. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  5. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

Google Cloud에 연결

이 섹션에서는 Cloud Shell 편집기를 실행하고 Google Cloud에 연결하고 Google Cloud 프로젝트를 선택합니다.

Google Cloud에 연결하려면 다음 단계를 수행합니다.

  1. Cloud Shell 편집기를 실행합니다.

  2. Cloud Code에서 사용자 인증 정보를 사용하여 Google Cloud API를 호출할 수 있도록 승인하라는 메시지가 표시되면 약관에 동의하는 경우 승인을 클릭합니다.

  3. 아직 Google Cloud에 연결되지 않았으면 Cloud Code 상태 표시줄에서 Google Cloud에 연결을 클릭합니다.

    상태 표시줄의 Google Cloud에 연결 버튼

  4. Cloud Code에서 사용자 인증 정보를 사용하여 Google Cloud API를 호출할 수 있도록 승인하라는 메시지가 표시되면 이러한 약관에 동의하는 경우 승인을 클릭합니다.

  5. Google Cloud 프로젝트를 선택하지 않은 경우 Cloud Code 상태 표시줄에서 Google Cloud 프로젝트 선택을 클릭합니다.

    Google Cloud 프로젝트를 이미 선택했으면 Cloud Code 상태 표시줄에 프로젝트 이름이 표시되며 함수 만들기를 진행할 수 있습니다.

  6. Google Cloud 프로젝트 선택 빠른 선택 메뉴가 표시되면 Google Cloud 프로젝트를 선택합니다.

    프로젝트가 로드되고 Cloud Shell 편집기에서 활성 프로젝트가 됩니다. 언제든지 Cloud Code 상태 표시줄에서 활성 프로젝트 이름을 클릭하고 다른 프로젝트를 선택하여 이 프로젝트를 전환할 수 있습니다.

함수 만들기

Cloud Shell 편집기를 함수 생성 및 배포를 위한 환경으로 사용합니다. 편집기에는 Cloud 개발에 필요한 도구가 미리 로드되어 있습니다.

샘플을 사용하여 새 함수를 만들려면 다음 단계를 따르세요.

  1. Cloud Code 상태 표시줄에서 Cloud Code를 클릭합니다.

    Cloud Code 상태 표시줄 버튼

  2. 빠른 선택 메뉴가 표시되면 새 애플리케이션을 선택합니다.

  3. 샘플 애플리케이션 유형으로 Cloud Functions 애플리케이션을 선택합니다.

  4. 샘플 Cloud Functions 앱 목록에서 Node.js: Hello World를 선택합니다.

  5. 앱 위치의 폴더를 선택한 다음 새 애플리케이션 만들기를 클릭합니다.

    Cloud Shell 편집기에서 앱이 새로운 작업공간에 로드됩니다. 새로고침하면 탐색기 뷰에서 앱에 액세스할 수 있습니다.

    .vscode 폴더에 있는 launch.json 파일에는 함수에 필요한 구성이 포함되어 있습니다.

    {
    "configurations": [
        {
        "name": "Deploy Cloud Function",
        "type": "cloudcode.cloudfunctions",
        "request": "launch",
        "functionName": "function-hello-world",
        "gen": "GEN_2",
        "entryPoint": "helloHttp",
        }
    ]
    }
    

단일 작업공간에서 여러 함수를 만드는 방법에 대한 자세한 내용은 셸 작업공간에서 함수 관리를 참조하세요.

함수 배포

이제 함수를 만들었으므로 다음 단계에 따라 Cloud Shell에 배포할 수 있습니다.

  1. Cloud Code를 클릭한 다음 Cloud Functions 탐색기를 펼칩니다.

  2. 함수를 클릭한 다음 함수 배포를 클릭합니다.

  3. 빠른 선택 메뉴에서 함수를 배포할 Google Cloud 프로젝트를 선택합니다.

  4. 함수를 배포할 리전을 선택합니다.

  5. Node.js 20을 선택합니다.

    함수 배포에 몇 분 정도 걸릴 수 있습니다. 아직 진행 중이면 진행 상태 아이콘이 표시됩니다. 작업이 완료되면 성공한 경우 성공 아이콘이 표시되고 실패한 경우 오류 아이콘이 표시되거나 배포 아이콘이 표시되고 이전에 성공한 배포로 되돌아갑니다.

    배포에 실패하면 오류 메시지의 출력(보기 > 출력) 보기를 참조하세요. 링크를 클릭하면 Google Cloud 콘솔의 빌드 로그로 이동하여 오류에 대한 세부정보를 제공합니다.

  6. (선택사항) 함수가 배포되면 다음 작업을 수행할 수 있습니다.

    • 배포된 함수의 읽기 전용 파일을 보려면 함수를 펼친 후 소스 코드 폴더를 펼칩니다. .vscode, 배포된 코드, package.json에서 launch.json을 볼 수 있습니다.

    • Google Cloud 콘솔에서 함수를 보려면 함수를 마우스 오른쪽 버튼으로 클릭하고 Cloud 콘솔에서 열기를 선택한 후 메시지가 표시되면 열기를 선택합니다.

    • 함수의 메타데이터를 수정하려면 함수를 마우스 오른쪽 버튼으로 클릭하고 Cloud 콘솔에서 메타데이터 수정을 선택합니다.

    • 배포된 함수의 로그를 보려면 함수를 마우스 오른쪽 버튼으로 클릭하고 로그 보기를 선택합니다.

함수 호출

함수를 호출하면 Cloud Shell 편집기 터미널에서 Google Cloud 콘솔의 배포된 함수를 실행할 수 있습니다. 함수를 호출하려면 다음 단계를 따르세요.

  1. 함수를 마우스 오른쪽 버튼으로 클릭하고 HTTP를 통해 함수 호출을 선택합니다.

  2. HTTP를 통한 함수 트리거 빠른 선택 메뉴가 표시되면 인수 없이 호출을 선택합니다.

    IDE에서 터미널이 열리고 명령어를 실행하여 Google Cloud에서 함수를 실행합니다.

선택사항: 기존 함수를 새 작업공간으로 다운로드

기존 함수를 새 작업공간으로 다운로드하려면 다음 단계를 따르세요.

  1. Cloud Code를 클릭한 다음 Cloud Functions 탐색기를 펼칩니다.

  2. Google Cloud 프로젝트 스니펫을 펼치고 다운로드할 함수를 마우스 오른쪽 버튼으로 클릭한 다음 새 작업공간에 다운로드를 선택합니다.

  3. 메시지가 표시되면 새 애플리케이션 이름을 입력하고 새 애플리케이션 만들기를 클릭합니다.

    그러면 함수가 로컬 머신으로 다운로드되고 Cloud Shell 편집기의 새 작업공간에서 열립니다.

삭제

이 빠른 시작에서 만든 함수만 삭제하려면 다음 안내를 따르세요.

  1. Cloud Functions 탐색기에서 함수 이름을 마우스 오른쪽 버튼으로 클릭한 다음 Cloud 콘솔에서 열기를 선택합니다.

  2. 삭제를 클릭한 다음 삭제를 클릭합니다.

프로젝트 및 연결된 리소스를 삭제하려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔의 프로젝트 페이지로 이동합니다.

    프로젝트 페이지로 이동

  2. 이 빠른 시작에서 만든 프로젝트를 선택한 후 삭제를 클릭합니다.

  3. 확인할 프로젝트 ID를 입력한 후 종료를 클릭합니다.

    그러면 프로젝트가 종료되고 삭제 일정이 예약됩니다.

다음 단계