Cloud Functions에서 MySQL용 Cloud SQL에 연결
Google Cloud 콘솔과 클라이언트 애플리케이션을 사용하여 MySQL 인스턴스에 연결된 Cloud Functions에 샘플 앱을 배포하는 방법을 알아보세요.
모든 단계를 적시에 완료한다면 이 빠른 시작에서 만든 리소스의 비용은 일반적으로 1달러(USD) 미만입니다.
시작하기 전에
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Cloud Functions에서 Cloud SQL 샘플 앱을 실행하는 데 필요한 Cloud API를 사용 설정합니다.
콘솔
API 사용 설정을 클릭하여 빠른 시작에 필요한 API를 사용 설정합니다.
그러면 다음 API가 사용 설정됩니다.
- Cloud Functions API
- Cloud SQL Admin API
- Cloud Run Admin API
- Cloud Build API
- Artifact Registry API
- Eventarc API
- Compute Engine API
- Service Networking API
- Cloud Logging API
gcloud
다음 버튼을 클릭하여 브라우저에서 직접 Google Cloud 리소스에 대해 명령줄 액세스를 제공하는 Cloud Shell을 엽니다. Cloud Shell을 사용하여 이 빠른 시작 전체에 표시된
gcloud
명령어를 실행할 수 있습니다.Cloud Shell을 사용하여 다음
gcloud
명령어를 실행합니다.gcloud services enable cloudfunctions.googleapis.com sqladmin.googleapis.com run.googleapis.com cloudbuild.googleapis.com artifactregistry.googleapis.com eventarc.googleapis.com compute.googleapis.com servicenetworking.googleapis.com pubsub.googleapis.com logging.googleapis.com
이 명령어는 다음 API를 사용 설정합니다.
- Cloud Functions API
- Cloud SQL Admin API
- Cloud Run API
- Cloud Build API
- Artifact Registry API
- Eventarc API
- Compute Engine API
- Service Networking API
- Cloud Logging API
사용자에게 Cloud Functions 호출자 IAM 역할을 추가합니다.
Cloud SQL 설정
Cloud SQL 인스턴스 만들기
데이터베이스 만들기
콘솔
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
quickstart-instance
를 선택합니다.- SQL 탐색 메뉴에서 데이터베이스를 선택합니다.
- 데이터베이스 만들기를 클릭합니다.
- 데이터베이스 만들기 대화상자의 데이터베이스 이름 필드에
quickstart-db
를 입력합니다. 문자 집합과 콜레이션의 값을 그대로 둡니다. - 만들기를 클릭합니다.
gcloud
gcloud
sql databases create
명령어를 실행하여 데이터베이스를 만듭니다.
gcloud sql databases create quickstart-db --instance=quickstart-instance
사용자 만들기
콘솔
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
- 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
- SQL 탐색 메뉴에서 사용자를 선택합니다.
- 사용자 계정 추가를 클릭합니다.
- quickstart-instance의 사용자 계정 추가 페이지에서 다음 정보를 추가합니다.
- 사용자 이름 필드에
quickstart-user
를 입력합니다. - 비밀번호 필드에 데이터베이스 사용자의 비밀번호를 지정합니다. 이 빠른 시작의 이후 단계에서 사용할 수 있도록 기록해 둡니다.
- 사용자 이름 필드에
- 추가를 클릭합니다.
gcloud
다음 명령어를 실행하기 전에 다음을 바꿉니다.
- DB_PASS를 데이터베이스 사용자의 비밀번호로 바꿉니다. 이 빠른 시작의 이후 단계에서 사용할 수 있도록 기록해 둡니다.
gcloud sql users create
명령어를 실행하여 사용자를 만듭니다.
gcloud sql users create quickstart-user \ --instance=quickstart-instance \ --password=DB_PASS
Cloud SQL의 사용자 이름 길이 제한은 온프레미스 MySQL과 동일합니다. MySQL 8.0은 32자(영문 기준), 이전 버전은 16자(영문 기준)입니다.
Cloud Functions 서비스 계정 구성
콘솔
-
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
- Compute Engine 기본 서비스 계정이라는 서비스 계정에서 연필 아이콘을 클릭합니다.
- 다른 역할 추가를 클릭합니다.
- Cloud SQL 클라이언트라는 역할을 추가합니다.
- 저장을 클릭합니다.
gcloud
-
다음
gcloud
명령어를 실행하여 프로젝트의 서비스 계정 목록을 가져옵니다.gcloud iam service-accounts list
- Compute Engine 서비스 계정의 이메일을 복사합니다.
- 다음 명령어를 실행하여 Cloud SQL 클라이언트 역할을 Compute Engine 서비스 계정에 추가합니다.
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role="roles/cloudsql.client"
함수 만들기
-
Google Cloud 콘솔에서 Cloud Functions 페이지로 이동합니다.
- 함수 만들기를 클릭합니다.
- 환경에 2세대를 선택합니다.
- 함수 이름 필드에
quickstart-function
을 입력합니다. - 인증 리전에서 인증되지 않은 호출 허용을 선택합니다.
- 다음을 클릭합니다.
- 런타임 메뉴에서 다음 언어 중 하나를 선택합니다.
- 소스 코드 메뉴에서 인라인 편집기가 선택되었는지 확인합니다. 이 단계에서는 편집기에 제공된 기본 함수를 사용합니다.
언어 | 버전 번호 |
---|---|
Go | 1.20 |
Java | 17 |
Node.js | 18 |
Python | 3.10 |
함수 배포하기
- Cloud Functions 페이지 하단에서 배포를 클릭합니다. Google Cloud 콘솔이 함수의 세부정보 페이지로 사용자를 리디렉션합니다.
- 함수 배포가 완료되면 URL 링크를 클릭하여 웹브라우저에
Hello, World!
메시지가 표시되는지 확인합니다.
Cloud SQL 샘플 앱을 함수로 배포
Cloud SQL 샘플 앱을 Cloud Functions에서 구성하고 함수로 배포합니다. 먼저 Cloud Shell을 사용하여 샘플 앱을 구성하고 빌드합니다. 그런 다음 Cloud Functions를 사용하여 샘플 앱을 배포합니다.
공개 IP 또는 비공개 IP로 MySQL용 Cloud SQL 인스턴스를 만들었는지에 따라 두 가지 방법으로 앱을 구성, 빌드, 배포할 수 있습니다.
Cloud SQL 샘플 앱 구성
샘플 앱 배포
Cloud Functions에 샘플을 배포하는 단계는 Cloud SQL 인스턴스에 할당한 IP 주소 유형에 따라 달라집니다.
삭제
이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
quickstart-instance
인스턴스를 선택하여 인스턴스 세부정보 페이지를 엽니다.- 페이지 상단의 아이콘 표시줄에서 삭제를 클릭합니다.
- 인스턴스 삭제 대화상자에서
quickstart-instance
를 입력한 후 삭제를 클릭하여 인스턴스를 삭제합니다. -
Google Cloud 콘솔에서 Cloud Functions 페이지로 이동합니다.
quickstart-function
서비스 이름 옆의 체크박스를 선택합니다.- Cloud Functions 페이지 상단에 있는 삭제를 클릭합니다.
선택적인 삭제 단계
Compute Engine 서비스 계정에 할당한 Cloud SQL 클라이언트 역할을 사용하지 않을 때는 이를 삭제할 수 있습니다.
-
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
- Compute Engine 기본 서비스 계정이라는 IAM 계정에 대해 수정 아이콘(연필 모양)을 클릭합니다.
- Cloud SQL 클라이언트 역할을 삭제합니다.
- 저장을 클릭합니다.
이 빠른 시작을 진행하는 동안 사용 설정된 API를 사용하지 않을 때는 이를 사용 중지할 수 있습니다.
- 이 빠른 시작 내에서 사용 설정된 API:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Container Registry API
- Cloud Build API
Google Cloud 콘솔에서 API 페이지로 이동합니다.
사용 중지하려는 API를 선택한 후 API 사용 중지 버튼을 클릭합니다.
다음 단계
Cloud SQL 인스턴스 만들기 자세히 알아보기(필요한 경우)Cloud SQL 인스턴스의 MySQL 사용자 및 데이터베이스를 만드는 방법 알아보기
가격 책정에 대한 자세한 내용은 MySQL용 Cloud SQL 가격 책정을 참조하세요.
다음에 대해 자세히 알아보기
또한 다른 Google Cloud 애플리케이션에서 Cloud SQL 인스턴스에 연결하는 방법을 알아보세요.