빠른 시작: 로컬 컴퓨터에서 PostgreSQL용 Cloud SQL에 연결

Google Cloud 콘솔과 클라이언트 애플리케이션을 사용하여 PostgreSQL 인스턴스에 연결된 Linux, macOS 또는 Windows 기반 로컬 컴퓨터에 샘플 앱을 배포하는 방법을 알아봅니다.

모든 단계를 적시에 완료한다면 이 빠른 시작에서 만든 리소스의 비용은 일반적으로 1달러(USD) 미만입니다.

시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  6. 로컬 컴퓨터에서 Cloud SQL 샘플 앱을 실행하는 데 필요한 Cloud API를 사용 설정하세요.

    콘솔

    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 주소로 인스턴스 만들기

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. 인스턴스 만들기를 클릭합니다.
  3. PostgreSQL 선택을 클릭합니다.
  4. 인스턴스 IDquickstart-instance를 입력합니다.
  5. postgres 사용자의 비밀번호를 입력합니다. 나중에 사용할 수 있도록 이 비밀번호를 기록해 둡니다.
  6. 리전 및 영역 가용성 선택에 대해 단일 영역 옵션을 클릭합니다.
  7. 구성 옵션 표시 섹션을 클릭하여 펼칩니다.
  8. 머신 유형 드롭다운 메뉴에서 경량을 선택합니다.
  9. 인스턴스 만들기를 클릭하고 인스턴스가 초기화되어 시작할 때까지 기다립니다.

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=POSTGRES_13 --cpu=1 --memory=4GB --region=us-central --root-password=DB_ROOT_PASSWORD

데이터베이스 만들기

콘솔

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. quickstart-instance을 선택합니다.
  3. 데이터베이스 탭을 엽니다.
  4. 데이터베이스 만들기를 클릭합니다.
    1. 새 데이터베이스 대화상자에서 데이터베이스 이름으로 quickstart_db를 입력합니다.
    2. 만들기를 클릭합니다.

gcloud

gcloud sql databases create 명령어를 실행하여 데이터베이스를 만듭니다.

gcloud sql databases create quickstart_db --instance=quickstart-instance

사용자 만들기

콘솔

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  3. SQL 탐색 메뉴에서 사용자를 선택합니다.
  4. 사용자 계정 추가를 클릭합니다.
  5. instance_name 페이지에 새로운 사용자 계정 추가 페이지에서 다음 정보를 추가합니다.
    • 사용자 이름 필드에 quickstart-user를 입력합니다.
    • 비밀번호 필드에 데이터베이스 사용자의 비밀번호를 지정합니다. 이 빠른 시작의 이후 단계에서 사용할 수 있도록 기록해 둡니다.
  6. 추가를 클릭합니다.

gcloud

다음을 바꿉니다.

  1. PASSWORD를 데이터베이스 사용자의 비밀번호로 바꿉니다. 이 빠른 시작의 이후 단계에서 사용할 수 있도록 기록해 둡니다.

gcloud sql users create 명령어를 실행하여 사용자를 만듭니다.

gcloud sql users create quickstart-user --instance=quickstart-instance --password=PASSWORD

Cloud SQL와 온프레미스 PostgreSQL의 사용자 이름 길이 한도는 동일합니다.

서비스 계정 설정

Cloud SQL에 연결할 권한이 있는 Cloud SQL 클라이언트 역할을 가지는 Google Cloud 서비스 계정을 만들고 구성합니다. 서비스 계정을 만든 후 60초 이상 기다려야 서비스 계정을 사용할 수 있습니다.

콘솔

서비스 계정 만들기

  1. Google Cloud 콘솔에서 서비스 계정 만들기 페이지로 이동합니다.
  2. 서비스 계정 만들기로 이동

  3. Google Cloud 프로젝트를 선택합니다.
  4. 서비스 계정 이름으로 quickstart-service-account를 입력합니다.
  5. 선택사항: 서비스 계정에 대한 설명을 입력합니다.
  6. 만들고 계속하기를 클릭하고 다음 단계로 진행합니다.
  7. 프로젝트의 서비스 계정에 부여할 Cloud SQL 클라이언트 역할을 선택합니다.
  8. 계속을 클릭합니다.
  9. 완료를 클릭하여 서비스 계정 만들기를 마칩니다.

서비스 계정 키 파일 만들기 및 다운로드

  1. Google Cloud 콘솔에서 서비스 계정 페이지로 이동합니다.
  2. 서비스 계정으로 이동

  3. 프로젝트를 선택합니다.
  4. 키를 만들려는 quickstart-service-account 서비스 계정의 이메일 주소를 클릭합니다.
  5. 탭을 클릭합니다.
  6. 키 추가 드롭다운 메뉴를 클릭한 후 새 키 만들기를 선택합니다.
  7. JSON으로 JSON을 선택하고 JSON를 클릭합니다.

만들기를 클릭하면 서비스 계정 키 파일이 다운로드됩니다. 키 파일을 다운로드한 후에는 다시 다운로드할 수 없습니다.

키 파일은 서비스 계정으로 인증하는 데 사용될 수 있으므로 안전하게 저장해야 합니다. 원하는 경우 이 파일을 이동하고 이름을 변경할 수 있습니다.

gcloud

서비스 계정 만들기

  1. 서비스 계정을 만들려면 gcloud iam service-accounts create 명령어를 실행합니다.
  2. gcloud iam service-accounts create quickstart-service-account --description="DESCRIPTION" --display-name="quickstart-service-account"

    다음 값을 바꿉니다.

    • DESCRIPTION: 서비스에 대한 선택적인 설명입니다
  3. 프로젝트에서 서비스 계정에 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 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 샘플 앱을 실행하기 위한 개발 환경을 설정하려면 다음 단계를 완료합니다.

  1. Go 개발 환경 설정 가이드로 이동합니다.
  2. Go 설치 섹션의 안내를 완료합니다.

자바

자바 샘플 앱을 실행하기 위한 개발 환경을 설정하려면 다음 단계를 완료합니다.

  1. 자바 개발 환경 설정 가이드로 이동합니다.
  2. JDK(자바 개발 키트) 설치 섹션의 안내를 완료합니다.
  3. 빌드 자동화 도구 설치의 안내에 따라 Apache Maven을 설정하세요.

Node.js

Node.js 샘플 앱을 실행하기 위한 개발 환경을 설정하려면 다음 단계를 완료합니다.

  1. Node.js 개발 환경 설정 가이드로 이동합니다.
  2. Node.js 및 npm 설치 섹션의 안내를 완료합니다.

Python

Python 샘플 앱을 실행하기 위한 개발 환경을 설정하려면 다음 단계를 완료합니다.

  1. Python 개발 환경 설정 가이드로 이동합니다.
  2. Python 설치 섹션의 안내를 완료합니다.

Git 설치

오픈소스 버전 제어 시스템인 Git을 설치합니다.

샘플 앱 클론

git clone 명령어를 사용하여 샘플 앱을 로컬 컴퓨터에 클론합니다.

Go

다음 명령어를 실행하여 Go 샘플 앱을 로컬 컴퓨터에 클론하고 디렉터리를 샘플 앱이 있는 디렉터리로 변경합니다.

  1. 샘플 앱을 클론합니다.
    git clone https://github.com/GoogleCloudPlatform/golang-samples
  2. 디렉터리를 샘플 앱이 있는 디렉터리로 변경합니다.
    cd golang-samples/cloudsql/postgres/database-sql

자바

다음 명령어를 실행하여 자바 샘플 앱을 로컬 컴퓨터에 클론하고 디렉터리를 샘플 앱이 있는 디렉터리로 변경합니다.

  1. 샘플 앱을 클론합니다.
    git clone https://github.com/GoogleCloudPlatform/java-docs-samples
  2. 디렉터리를 샘플 앱이 있는 디렉터리로 변경합니다.
    cd java-docs-samples/cloud-sql/postgres/servlet

Node.js

다음 명령어를 실행하여 Node.js 샘플 앱을 로컬 컴퓨터에 클론하고 디렉토리를 샘플 앱이 있는 디렉토리로 변경합니다.

  1. 샘플 앱을 클론합니다.
    git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
  2. 디렉터리를 샘플 앱이 있는 디렉터리로 변경합니다.
    cd nodejs-docs-samples/cloud-sql/postgres/knex

Python

다음 명령어를 실행하여 Python 샘플 앱을 로컬 컴퓨터에 클론하고 디렉터리를 샘플 앱이 있는 디렉터리로 변경합니다.

  1. 샘플 앱을 클론합니다.
    git clone https://github.com/GoogleCloudPlatform/python-docs-samples
  2. 디렉터리를 샘플 앱이 있는 디렉터리로 변경합니다.
    cd python-docs-samples/cloud-sql/postgres/sqlalchemy

샘플 앱 구성 및 실행

샘플 앱을 구성하고 실행합니다.

삭제

이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. quickstart-instance 인스턴스를 선택하여 인스턴스 세부정보 페이지를 엽니다.
  3. 페이지 상단의 아이콘 표시줄에서 삭제를 클릭합니다.
  4. 인스턴스 삭제 대화상자에서 quickstart-instance를 입력한 후 삭제를 클릭하여 인스턴스를 삭제합니다.

선택적인 삭제 단계

quickstart-service-account 서비스 계정에 할당한 Cloud SQL 클라이언트 역할을 사용하지 않을 때는 이를 삭제할 수 있습니다.

  1. Google Cloud 콘솔에서 IAM 페이지로 이동합니다.

    IAM으로 이동

  2. quickstart-service-account라는 IAM 계정의 수정 아이콘(연필 모양)을 클릭합니다.
  3. Cloud SQL 클라이언트 역할을 삭제합니다.
  4. 저장을 클릭합니다.

이 빠른 시작을 진행하는 동안 사용 설정된 API를 사용하지 않을 때는 이를 사용 중지할 수 있습니다.

  • 이 빠른 시작 내에서 사용 설정된 API:
    • Cloud SQL Admin API
    • Identity and Access Management API
  1. Google Cloud 콘솔에서 API 페이지로 이동합니다.

    API로 이동

  2. 사용 중지하려는 API를 선택한 후 API 사용 중지 버튼을 클릭합니다.

다음 단계

Cloud SQL 인스턴스 만들기 자세히 알아보기(필요한 경우)

Cloud SQL 인스턴스의 PostgreSQL 사용자데이터베이스를 만드는 방법 알아보기

가격 책정에 대한 자세한 내용은 PostgreSQL용 Cloud SQL 가격 책정을 참조하세요.

다음에 대해 자세히 알아보기

  • 공개 IP 주소로 Cloud SQL 인스턴스 구성하기
  • 비공개 IP 주소로 Cloud SQL 인스턴스 구성하기

또한 다른 Google Cloud 애플리케이션에서 Cloud SQL 인스턴스에 연결하는 방법을 알아보세요.