로컬 컴퓨터에서 MySQL용 Cloud SQL에 연결
Google Cloud 콘솔과 클라이언트 애플리케이션을 사용하여 MySQL 인스턴스에 연결된 Linux, macOS 또는 Windows 기반 로컬 컴퓨터에 샘플 앱을 배포하는 방법을 알아봅니다.
모든 단계를 적시에 완료한다면 이 빠른 시작에서 만든 리소스의 비용은 일반적으로 1달러(USD) 미만입니다.
시작하기 전에
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
로컬 컴퓨터에서 Cloud SQL 샘플 앱을 실행하는 데 필요한 Cloud API를 사용 설정하세요.
콘솔
API 사용 설정 버튼을 클릭하여 이 빠른 시작에 필요한 API를 사용 설정합니다.
그러면 다음 API가 사용 설정됩니다.
- Cloud SQL Admin API
- IAM API
gcloud
Google Cloud 리소스에 대한 명령줄 액세스를 제공하는 gcloud CLI를 설치합니다. gcloud CLI는 이 빠른 시작에 나온
gcloud CLI
명령어를 실행하는 데 사용됩니다. 모든 명령어는 Linux/macOS 터미널 또는 Windows Powershell에서 실행되도록 형식이 지정됩니다.터미널을 열고 다음
gcloud
명령어를 실행합니다.gcloud services enable sqladmin.googleapis.com iam.googleapis.com
이 명령어는 다음 API를 사용 설정합니다.
- Cloud SQL Admin API
- IAM API
Cloud SQL 설정
Cloud SQL 인스턴스 만들기
콘솔
공개 IP 주소로 인스턴스 만들기
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
- 인스턴스 만들기를 클릭합니다.
- MySQL 선택을 클릭합니다.
- 인스턴스 ID에
quickstart-instance
를 입력합니다. - 루트 사용자의 비밀번호를 입력합니다. 나중에 사용할 수 있도록 이 비밀번호를 기록해 둡니다.
- 리전 및 영역 가용성 선택에 대해 단일 영역 옵션을 클릭합니다.
- 구성 옵션 표시 섹션을 클릭하여 펼칩니다.
- 머신 유형 드롭다운 메뉴에서 경량을 선택합니다.
인스턴스 만들기를 클릭하고 인스턴스가 초기화되어 시작할 때까지 기다립니다.
gcloud
공개 IP 주소로 인스턴스 만들기
다음과 같이 gcloud
sql instances create
명령어를 실행하기 전에 DB_ROOT_PASSWORD를 데이터베이스 사용자의 비밀번호로 바꿉니다.
선택적으로 다음 매개변수에 대해 값을 수정합니다.
- --database_version: 데이터베이스 엔진 유형 및 버전입니다. 지정하지 않으면 API 기본값이 사용됩니다. 현재 사용 가능한 버전을 보려면 gcloud 데이터베이스 버전 문서를 참조하세요.
- --cpu: 머신에 설정할 코어 수입니다.
- --memory: 머신에 설정할 메모리 양을 나타내는 정수 값입니다. 크기 단위를 제공해야 합니다(예: 3072MB 또는 9GB). 단위를 지정하지 않으면 GB로 간주됩니다.
- --region: 인스턴스의 리전 위치입니다(예: asia-east1, us-east1). 지정되지 않은 상태로 두면 기본값
us-central
이 사용됩니다. 리전의 전체 목록을 참조하세요.
gcloud
sql instances create
명령어를 사용하여 Cloud SQL 인스턴스를 만듭니다.
gcloud sql instances create quickstart-instance --database-version=MYSQL_8_0 --cpu=1 --memory=4GB --region=us-central1 --root-password=DB_ROOT_PASSWORD
데이터베이스 만들기
콘솔
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
quickstart-instance
을 선택합니다.- 데이터베이스 탭을 엽니다.
- 데이터베이스 만들기를 클릭합니다.
- 데이터베이스 만들기 대화상자에서 데이터베이스 이름으로
quickstart_db
를 입력하고 선택적으로 문자 집합 및 콜레이션을 입력합니다. - 만들기를 클릭합니다.
gcloud
gcloud
sql databases create
명령어를 실행하여 데이터베이스를 만듭니다.
gcloud sql databases create quickstart_db --instance=quickstart-instance
사용자 만들기
콘솔
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
- 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
- SQL 탐색 메뉴에서 사용자를 선택합니다.
- 사용자 계정 추가를 클릭합니다.
- instance_name 인스턴스에 사용자 계정 추가 페이지에서 다음 정보를 추가합니다.
- 사용자 이름:
quickstart-user
로 설정합니다. - 비밀번호: 데이터베이스 사용자의 비밀번호를 지정합니다. 이 빠른 시작의 이후 단계에서 사용할 수 있도록 기록해 둡니다.
- 호스트 이름 섹션에서 기본값은 모든 호스트 허용입니다. 즉, 사용자가 모든 IP 주소로부터 연결할 수 있습니다.
필요한 경우 IP 주소 또는 주소 범위로 호스트 제한을 선택하고 호스트 섹션에서 IP 주소 또는 주소 범위를 입력합니다. 그러면 사용자가 지정된 IP 주소로만 연결할 수 있습니다.
- 사용자 이름:
- 추가를 클릭합니다.
gcloud
다음을 바꿉니다.
- PASSWORD를 데이터베이스 사용자의 비밀번호로 바꿉니다. 이 빠른 시작의 이후 단계에서 사용할 수 있도록 기록해 둡니다.
gcloud sql users create
명령어를 실행하여 사용자를 만듭니다.
gcloud sql users create quickstart-user --instance=quickstart-instance --password=PASSWORD
Cloud SQL의 사용자 이름 길이 제한은 온프레미스 MySQL과 동일합니다. MySQL 8.0은 32자(영문 기준), 이전 버전은 16자(영문 기준)입니다.
서비스 계정 설정
콘솔
서비스 계정 만들기
- Google Cloud 콘솔에서 서비스 계정 만들기 페이지로 이동합니다.
- Google Cloud 프로젝트를 선택합니다.
- 서비스 계정 이름으로
quickstart-service-account
를 입력합니다. - 선택사항: 서비스 계정에 대한 설명을 입력합니다.
- 만들고 계속하기를 클릭하고 다음 단계로 진행합니다.
- 프로젝트의 서비스 계정에 부여할 Cloud SQL 클라이언트 역할을 선택합니다.
- 계속을 클릭합니다.
- 완료를 클릭하여 서비스 계정 만들기를 마칩니다.
서비스 계정 키 파일 만들기 및 다운로드
- Google Cloud 콘솔에서 서비스 계정 페이지로 이동합니다.
- 프로젝트를 선택합니다.
- 키를 만들려는
quickstart-service-account
서비스 계정의 이메일 주소를 클릭합니다. - 키 탭을 클릭합니다.
- 키 추가 드롭다운 메뉴를 클릭한 후 새 키 만들기를 선택합니다.
- JSON으로 JSON을 선택하고 JSON를 클릭합니다.
만들기를 클릭하면 서비스 계정 키 파일이 다운로드됩니다. 키 파일을 다운로드한 후에는 다시 다운로드할 수 없습니다.
키 파일은 서비스 계정으로 인증하는 데 사용될 수 있으므로 안전하게 저장해야 합니다. 원하는 경우 이 파일을 이동하고 이름을 변경할 수 있습니다.
gcloud
서비스 계정 만들기
- 서비스 계정을 만들려면
gcloud iam service-accounts create
명령어를 실행합니다. DESCRIPTION
: 서비스에 대한 선택적인 설명입니다- 프로젝트에서 서비스 계정에 Cloud SQL 클라이언트 역할을 부여하려면
gcloud projects add-iam-policy-binding
명령어를 실행합니다. PROJECT_ID를 Google Cloud 프로젝트 ID로 바꿉니다.gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:quickstart-service-account@PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudsql.client"
gcloud iam service-accounts create quickstart-service-account --description="DESCRIPTION" --display-name="quickstart-service-account"
다음 값을 바꿉니다.
서비스 계정 키 파일 만들기 및 다운로드
로컬 컴퓨터에서 방금 만든 서비스 계정을 사용하려면 샘플 애플리케이션을 서비스 계정으로 인증하기 위한 서비스 계정 키 파일이 필요합니다. 서비스 계정 키 파일을 만들고 다운로드하려면 gcloud iam service-accounts keys create
명령어를 실행합니다.
gcloud iam service-accounts keys create KEY_FILE --iam-account=quickstart-service-account@PROJECT_ID.iam.gserviceaccount.com
다음 값을 바꿉니다.
-
KEY_FILE
: 비공개 키의 새 출력 파일 경로입니다(예:~/sa-private-key.json
). -
PROJECT_ID
: Google Cloud 프로젝트 ID입니다.
이제 서비스 계정 키 파일이 로컬 컴퓨터에 다운로드됩니다. 키 파일을 다운로드한 후에는 다시 다운로드할 수 없습니다.
누구나 키 파일을 사용하여 서비스 계정으로 인증할 수 있으므로 키 파일을 안전하게 저장해야 합니다. 원하는 경우 이 파일을 이동하고 이름을 변경할 수 있습니다.
프로그래밍 언어를 위한 개발 환경 설정
원하는 프로그래밍 언어에 맞게 로컬 컴퓨터의 개발 환경을 설정합니다.
Go
Go 샘플 앱을 실행하기 위한 개발 환경을 설정하려면 다음 단계를 완료합니다.
- Go 개발 환경 설정 가이드로 이동합니다.
- Go 설치 섹션의 안내를 완료합니다.
자바
자바 샘플 앱을 실행하기 위한 개발 환경을 설정하려면 다음 단계를 완료합니다.
- 자바 개발 환경 설정 가이드로 이동합니다.
- JDK(자바 개발 키트) 설치 섹션의 안내를 완료합니다.
- 빌드 자동화 도구 설치의 안내에 따라 Apache Maven을 설정하세요.
Node.js
Node.js 샘플 앱을 실행하기 위한 개발 환경을 설정하려면 다음 단계를 완료합니다.
- Node.js 개발 환경 설정 가이드로 이동합니다.
- Node.js 및 npm 설치 섹션의 안내를 완료합니다.
Python
Python 샘플 앱을 실행하기 위한 개발 환경을 설정하려면 다음 단계를 완료합니다.
- Python 개발 환경 설정 가이드로 이동합니다.
- Python 설치 섹션의 안내를 완료합니다.
Git 설치
오픈소스 버전 제어 시스템인 Git을 설치합니다.
샘플 앱 클론
git clone
명령어를 사용하여 샘플 앱을 로컬 컴퓨터에 클론합니다.
Go
다음 명령어를 실행하여 Go 샘플 앱을 로컬 컴퓨터에 클론하고 디렉터리를 샘플 앱이 있는 디렉터리로 변경합니다.
-
샘플 앱을 클론합니다.
git clone https://github.com/GoogleCloudPlatform/golang-samples
-
디렉터리를 샘플 앱이 있는 디렉터리로 변경합니다.
cd golang-samples/cloudsql/mysql/database-sql
자바
다음 명령어를 실행하여 자바 샘플 앱을 로컬 컴퓨터에 클론하고 디렉터리를 샘플 앱이 있는 디렉터리로 변경합니다.
-
샘플 앱을 클론합니다.
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
-
디렉터리를 샘플 앱이 있는 디렉터리로 변경합니다.
cd java-docs-samples/cloud-sql/mysql/servlet
Node.js
다음 명령어를 실행하여 Node.js 샘플 앱을 로컬 컴퓨터에 클론하고 디렉토리를 샘플 앱이 있는 디렉토리로 변경합니다.
-
샘플 앱을 클론합니다.
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
-
디렉터리를 샘플 앱이 있는 디렉터리로 변경합니다.
cd nodejs-docs-samples/cloud-sql/mysql/mysql
Python
다음 명령어를 실행하여 Python 샘플 앱을 로컬 컴퓨터에 클론하고 디렉터리를 샘플 앱이 있는 디렉터리로 변경합니다.
-
샘플 앱을 클론합니다.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
-
디렉터리를 샘플 앱이 있는 디렉터리로 변경합니다.
cd python-docs-samples/cloud-sql/mysql/sqlalchemy
샘플 앱 구성 및 실행
샘플 앱을 구성하고 실행합니다.
삭제
이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
quickstart-instance
인스턴스를 선택하여 인스턴스 세부정보 페이지를 엽니다.- 페이지 상단의 아이콘 표시줄에서 삭제를 클릭합니다.
- 인스턴스 삭제 대화상자에서
quickstart-instance
를 입력한 후 삭제를 클릭하여 인스턴스를 삭제합니다.
선택적인 삭제 단계
quickstart-service-account
서비스 계정에 할당한 Cloud SQL 클라이언트 역할을 사용하지 않을 때는 이를 삭제할 수 있습니다.
-
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
- quickstart-service-account라는 IAM 계정의 수정 아이콘(연필 모양)을 클릭합니다.
- Cloud SQL 클라이언트 역할을 삭제합니다.
- 저장을 클릭합니다.
이 빠른 시작을 진행하는 동안 사용 설정된 API를 사용하지 않을 때는 이를 사용 중지할 수 있습니다.
- 이 빠른 시작 내에서 사용 설정된 API:
- Cloud SQL Admin API
- Identity and Access Management API
Google Cloud 콘솔에서 API 페이지로 이동합니다.
사용 중지하려는 API를 선택한 후 API 사용 중지 버튼을 클릭합니다.
다음 단계
Cloud SQL 인스턴스 만들기 자세히 알아보기(필요한 경우)Cloud SQL 인스턴스의 MySQL 사용자 및 데이터베이스를 만드는 방법 알아보기
가격 책정에 대한 자세한 내용은 MySQL용 Cloud SQL 가격 책정을 참조하세요.
다음에 대해 자세히 알아보기
또한 다른 Google Cloud 애플리케이션에서 Cloud SQL 인스턴스에 연결하는 방법을 알아보세요.