1. 시작하기 전에
이 Codelab에서는 Google Cloud 프로젝트를 만든 다음 해당 프로젝트에서 Google Cloud API를 호출하는 방법을 보여줍니다.
기본 요건
- Google Cloud 콘솔을 탐색할 수 있어야 합니다.
학습할 내용
- Google Cloud 프로젝트를 만드는 방법
- 결제 계정을 설정하는 방법
- Cloud Shell 설정 방법
- API를 사용 설정하는 방법
- API 키로 API를 승인하는 방법
- 서비스 계정으로 API를 승인하는 방법
필요한 항목
- Google 계정(예: Gmail 계정 또는 Google Workspace 계정)
- 무료 체험 프로그램에 가입하는 데 사용할 Cloud Billing 계정 또는 신용카드에 대한 액세스 권한
2. 설정
이 섹션에서는 Google Cloud 프로젝트를 만들고, 결제 계정을 설정하고, Cloud Shell을 설정하는 방법을 보여줍니다.
Google Cloud 프로젝트를 만들고 결제 계정 설정
- Cloud 콘솔에 로그인하고 프로젝트를 선택하거나 만듭니다.



프로젝트 이름 필드에 표시되는 프로젝트 ID를 기억합니다. ID는 모든 Google Cloud 프로젝트에서 고유한 이름이며 (위의 이름은 이미 사용됨) 이 Codelab에서 나중에 PROJECT_ID로 언급됩니다.
- 그런 후 Google Cloud 리소스를 사용할 수 있도록 Cloud 콘솔에서 결제를 사용 설정해야 합니다.
이 Codelab에는 많은 비용이 들지 않지만 삭제 섹션의 안내에 따라 리소스를 종료하고 이 Codelab을 마친 후 비용이 청구되지 않도록 하세요. Google Cloud 신규 사용자는 미화$300 상당의 무료 체험판을 사용할 수 있습니다.
Cloud Shell 설정
이 Codelab에서는 Google Cloud에서 실행되는 명령줄 환경인 Cloud Shell을 사용합니다. Cloud Shell은 필요한 모든 개발 도구가 로드된 Debian 기반 가상 머신입니다. 영구적인 5GB 홈 디렉터리를 제공하므로 네트워크 성능과 인증이 크게 개선됩니다. 즉, 이 Codelab에 필요한 것은 브라우저뿐입니다.
Cloud 콘솔에서 Cloud Shell을 활성화하려면 다음 단계를 따르세요.
Cloud Shell 활성화를 클릭합니다.
환경을 프로비저닝하고 연결하는 데 몇 분 정도 소요될 수 있습니다.


Cloud Shell에 연결되면 인증이 완료되었고 프로젝트가 내 PROJECT_ID로 설정되어 있음을 확인할 수 있습니다.
- 인증된 계정 목록을 생성합니다.
gcloud auth list
다음과 같은 출력이 표시됩니다.
Credentialed accounts:
- <MY_ACCOUNT>@<MY_DOMAIN>.com (active)
- 프로젝트 목록을 보려면 다음 명령어를 입력합니다.
gcloud config list project
다음과 같은 출력이 표시됩니다.
[core]
project = <PROJECT_ID>
어떤 이유로 프로젝트가 설정되지 않은 경우 다음 명령어를 실행하여 프로젝트를 설정합니다.
gcloud config set project <PROJECT_ID>
PROJECT_ID은 설정 단계에서 사용한 ID입니다. Cloud 콘솔 대시보드에서 확인할 수도 있습니다.

또한 Cloud Shell은 기본적으로 이후 명령어를 실행할 때 유용할 수 있는 몇 가지 환경 변수를 설정합니다.
- 프로젝트 ID를 확인하려면 다음 명령어를 입력합니다.
echo $GOOGLE_CLOUD_PROJECT
다음과 같은 출력이 표시됩니다.
<PROJECT_ID>
- 마지막으로 기본 영역 및 프로젝트 구성을 설정합니다.
gcloud config set compute/zone us-central1-f
다양한 영역을 선택할 수 있습니다. 자세한 내용은 리전 및 영역을 참고하세요.
3. 프로젝트에서 API 호출
이 Codelab에서는 예시 API (Natural Language API)를 사용하여 텍스트에서 항목 (예: 사람, 장소, 이벤트)을 찾고 텍스트의 감정 (호감도 수준)을 대략적으로 파악하는 방법을 보여줍니다. 다음 작업을 수행하는 방법을 알아봅니다.
- Google Cloud APIs를 사용 설정합니다.
- API 키와 서비스 계정으로 API에 대한 승인을 받습니다.
curl및 클라이언트 라이브러리를 사용하여 API를 호출합니다.
API 사용 설정
- Cloud Console의 기본 메뉴에서 API 및 서비스를 선택합니다.

- 화면 상단에서 + API 및 서비스 사용 설정을 선택합니다.

- 이때 API를 필터링하고 탐색하거나 검색 상자를 사용하여 API로 바로 이동할 수 있습니다.
Natural Language를 검색하고 Cloud Natural Language API를 선택합니다.

- API 사용해 보기를 클릭합니다.
이 API 사용해보기 버튼이 표시되지 않으면 나열된 메서드 중 하나를 클릭하여 해당 메서드를 사용해 보세요.
API 키 만들기
Natural Language API로 요청을 전송하기 위해 curl을 사용하므로, 요청 URL에 전달할 API 키를 만들어야 합니다.
- Cloud 콘솔에서 탐색 메뉴 > API 및 서비스 > 사용자 인증 정보를 선택합니다.

- 사용자 인증 정보 만들기를 클릭한 후 API 키를 선택합니다.

- 생성된 API 키를 복사한 다음 닫기를 클릭합니다.
API 키를 사용하여 API 호출
- Cloud Shell 명령줄에서 API 키를 내보냅니다.
export API_KEY=<YOUR_API_KEY>
<YOUR_API_KEY>를 이전에 생성한 키로 바꿉니다.
- Cloud Shell 편집기 또는 Vim, Emacs와 같은 Linux 편집기에서 API 요청을 만듭니다. 매개변수의 세부정보는 Method: documents.analyzeEntities에서 확인할 수 있습니다. 출력을
request.json파일에 저장합니다.
{
"document":{
"type":"PLAIN_TEXT",
"content":"Google, headquartered in Mountain View (1600 Amphitheatre Pkwy, Mountain View, CA 940430), unveiled the new Android phone for $799 at the Consumer Electronic Show. Sundar Pichai said in his keynote that users love their new Android phones."
},
"encodingType":"UTF8"
}
- 요청 정보로 API를 호출합니다.
curl "https://language.googleapis.com/v1/documents:analyzeEntities?key=${API_KEY}" \
-s -X POST -H "Content-Type: application/json" --data-binary @request.json
- 명령어를 다시 실행하고 출력을 파일로 리디렉션하여 결과를 검사합니다. JSON 파일 출력의 세부정보도 Method: documents.analyzeEntities에 있습니다.
request.json파일에서 분석할 텍스트를 변경하려면content값을 원하는 텍스트로 바꿉니다.
4. 서비스 계정으로 승인
서비스 계정은 인증과 승인을 모두 제공하므로 API 키보다 선호되는 경우가 많습니다. 서비스 계정은 앱의 이메일 주소로 생각하면 됩니다.
- API 및 서비스 메뉴의 사용자 인증 정보 섹션으로 돌아갑니다.
- 사용자 인증 정보 만들기를 선택하되 이번에는 서비스 계정을 선택합니다.

- 목적을 설명하는 서비스 계정 이름(예: '
Natural Language Service Account')을 입력합니다. 시스템에서 ID를 제안합니다. 설명을 추가할 수도 있습니다. 서비스 계정에 대해 자세히 알아보고 프로젝트에 서비스 계정 액세스 권한을 제공하고 사용자에게 서비스 계정 액세스 권한을 부여할 수 있지만 지금은 완료를 클릭하여 서비스 계정을 만드세요. - 사용할 서비스 계정의 키 쌍을 만들려면
을 클릭하여 서비스 계정을 수정합니다.

서비스 계정의 세부정보가 표시됩니다.

- 서비스 계정의 이메일 주소를 복사하고 Cloud Shell로 돌아갑니다.
- Cloud Shell에서 서비스 계정의 키 쌍을 만들고 이를 가리키도록 환경 변수를 설정합니다.
gcloud iam service-accounts keys create ~/key.json \
--iam-account <your service account email>
export GOOGLE_APPLICATION_CREDENTIALS="/home/$USER/key.json"
Google Cloud는 이 환경 변수를 사용하여 사용자 인증 정보를 찾으므로 API 호출에 포함할 필요가 없습니다.
- 이제 다음 명령어를 사용하여 API를 호출할 수 있습니다.
gcloud ml language analyze-entities --content="Michelangelo Caravaggio, Italian painter, is known for 'The Calling of Saint Matthew'."
결과는 이전과 동일해야 합니다.
많은 API에는 이러한 세부정보를 추출하는 광범위한 클라이언트 라이브러리가 있습니다. 클라이언트 라이브러리에 대해 자세히 알아보려면 Cloud 클라이언트 라이브러리를 참고하세요. 사용하는 API의 문서를 읽고 해당 API에 사용할 수 있는 클라이언트 라이브러리를 확인할 수도 있습니다.
5. 삭제
프로젝트에 제한되지 않은 API 키를 사용하는 것은 좋지 않습니다. 이 키에 액세스할 수 있는 사용자는 추가 인증 없이 이 키를 사용할 수 있습니다.
이 API 키를 삭제하려면 다음 단계를 따르세요.
탐색 메뉴 > API 및 서비스 > 사용자 인증 정보를 클릭합니다.- API 키에서 삭제할 키를 선택한 후
삭제를 클릭합니다. - 마찬가지로 서비스 계정 비공개 키가 보호되지 않는 것에 대해 걱정하는 대신 서비스 계정에서 삭제할 서비스 계정을 선택한 다음
삭제를 클릭합니다.
6. 축하합니다
축하합니다. Google Cloud 프로젝트를 만들고 프로젝트 내에서 API를 호출하는 방법을 알아보았습니다.