의견 보내기
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Cloud Run에서 PostgreSQL용 Cloud SQL에 연결
Google Cloud 콘솔과 클라이언트 애플리케이션을 사용하여 PostgreSQL 인스턴스에 연결된 Cloud Run 에 샘플 앱을 배포하는 방법을 알아보세요.
모든 단계를 적시에 완료한다면 이 빠른 시작에서 만든 리소스의 비용은 일반적으로 1달러(USD) 미만입니다.
Google Cloud 콘솔에서 이 태스크에 대한 단계별 안내를 직접 수행하려면 둘러보기 를 클릭합니다.
둘러보기
시작하기 전에
참고: 프로젝트 이름은 4~30자(영문 기준)여야 합니다. 이름을 입력하면 추천 프로젝트 ID가 양식에 표시됩니다. 이 ID는 수정 가능합니다. 프로젝트 ID는 6~30자(영문 기준)여야 하고, 첫 번째 문자는 소문자여야 합니다. 첫 번째 문자를 제외하고는 대시, 소문자 또는 숫자를 사용할 수 있지만 마지막 문자에는 대시를 사용할 수 없습니다.
Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
In the Google Cloud console, on the project selector page,
select or create a Google Cloud project.
Note : If you don't plan to keep the
resources that you create in this procedure, create a project instead of
selecting an existing project. After you finish these steps, you can
delete the project, removing all resources associated with the project.
Go to project selector
Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다 .
In the Google Cloud console, on the project selector page,
select or create a Google Cloud project.
Note : If you don't plan to keep the
resources that you create in this procedure, create a project instead of
selecting an existing project. After you finish these steps, you can
delete the project, removing all resources associated with the project.
Go to project selector
Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다 .
Cloud Run에서 Cloud SQL 샘플 앱을 실행하는 데 필요한 Cloud API를 사용 설정합니다.
콘솔
API 사용 설정 을 클릭하여 빠른 시작에 필요한 API를 사용 설정합니다.
API 사용 설정
그러면 다음 API가 사용 설정됩니다.
Compute Engine API
Cloud SQL Admin API
Cloud Run API
Container Registry API
Cloud Build API
Service Networking API
gcloud
다음 버튼을 클릭하여 브라우저에서 직접 Google Cloud 리소스에 대해 명령줄 액세스를 제공하는 Cloud Shell을 엽니다.
Cloud Shell을 사용하여 이 빠른 시작 전체에 표시된 gcloud
명령어를 실행할 수 있습니다.
Cloud Shell 열기
Cloud Shell을 사용하여 다음 gcloud
명령어를 실행합니다.
gcloud services enable compute.googleapis.com sqladmin.googleapis.com run.googleapis.com \
containerregistry.googleapis.com cloudbuild.googleapis.com servicenetworking.googleapis.com
이 명령어는 다음 API를 사용 설정합니다.
Compute Engine API
Cloud SQL Admin API
Cloud Run API
Container Registry API
Cloud Build API
Service Networking API
Cloud SQL 설정
Cloud SQL 인스턴스 만들기
공개 IP
콘솔
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
Cloud SQL 인스턴스로 이동
인스턴스 만들기 를 클릭합니다.
PostgreSQL 선택 을 클릭합니다.
인스턴스 ID 필드에 quickstart-instance
를 입력합니다.
비밀번호 필드에 postgres 사용자의 비밀번호를 입력합니다. 나중에 사용할 수 있도록 이 비밀번호를 기록해 둡니다.
리전 및 영역 가용성 선택 섹션에서 단일 영역 을 선택합니다.
구성 옵션 표시 메뉴를 클릭합니다.
머신 유형 드롭다운 목록에서 경량 을 선택합니다.
인스턴스 만들기 를 클릭한 후 인스턴스가 초기화되고 시작될 때까지 기다립니다.
gcloud
다음과 같이 명령어를 실행하기 전에 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_14 \
--cpu= 1 \
--memory= 4GB \
--region= us-central \
--root-password= DB_ROOT_PASSWORD
비공개 IP
콘솔
Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.
VPC 네트워크로 이동
default
VPC 네트워크를 선택합니다.
비공개 서비스 연결 탭을 선택합니다.
서비스에 할당된 IP 범위 탭을 선택합니다.
IP 범위 할당 을 클릭합니다.
할당된 범위의 이름 에 google-managed-services-default
를 지정합니다.
IP 범위에 자동 옵션을 선택하고 프리픽스 길이를 16
으로 지정합니다.
할당 을 클릭하여 할당된 범위를 만듭니다.
default
VPC 네트워크의 서비스에 대한 비공개 연결 탭을 선택합니다.
연결 만들기 를 클릭하여 네트워크와 서비스 프로듀서 간에 비공개 연결을 만듭니다.
지정된 할당 으로 google-managed-services-default
를 선택합니다.
연결 을 클릭하여 연결을 만듭니다.
비공개 IP 주소 및 SSL을 사용 설정하여 인스턴스 만들기
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
Cloud SQL 인스턴스로 이동
인스턴스 만들기 를 클릭합니다.
PostgreSQL 을 클릭합니다.
인스턴스 ID 에 quickstart-instance
를 입력합니다.
postgres 사용자의 비밀번호를 입력합니다. 나중에 사용할 수 있도록 이 비밀번호를 기록해 둡니다.
리전 및 영역 가용성 선택 에 대해 단일 영역 옵션을 클릭합니다.
구성 옵션 표시 를 클릭하여 펼칩니다.
머신 유형 으로 경량 을 선택합니다.
연결 에서 비공개 IP 를 선택합니다.
네트워크 드롭다운 메뉴에서 기본값 을 선택합니다.
비공개 IP만 있는 인스턴스를 만들려면 공개 IP 체크박스를 선택 해제합니다.
인스턴스 만들기 를 클릭한 후 인스턴스가 초기화 및 시작될 때까지 기다립니다.
연결 을 클릭합니다.
보안 섹션에서 SSL 연결만 허용 을 선택하여 SSL 연결을 사용 설정합니다.
SSL 연결만 허용 대화상자에서 저장 을 클릭하고 인스턴스가 다시 시작될 때까지 기다립니다.
gcloud
gcloud compute addresses create
명령어를 실행하여 IP 주소 범위를 할당합니다.
gcloud compute addresses create google-managed-services-default \
--global --purpose= VPC_PEERING --prefix-length= 16 \
--description= "peering range for Google" --network= default
gcloud services vpc-peerings connect
명령어를 실행하여 할당된 IP 주소 범위에 대한 비공개 연결을 만듭니다. YOUR_PROJECT_ID를 프로젝트의 프로젝트 ID로 바꿉니다.
gcloud services vpc-peerings connect --service= servicenetworking.googleapis.com \
--ranges= google-managed-services-default --network= default \
--project= YOUR_PROJECT_ID
비공개 IP 주소 및 SSL을 사용 설정하여 인스턴스 만들기
다음과 같이 명령어를 실행하기 전에 DB_ROOT_PASSWORD 를 데이터베이스 사용자의 비밀번호로 바꿉니다.
선택적으로 다음 매개변수에 대해 값을 수정합니다.
--database-version : 데이터베이스 엔진 유형 및 버전입니다.
지정하지 않으면 API 기본값이 사용됩니다.
현재 사용 가능한 버전을 보려면 gcloud 데이터베이스 버전 문서를 참조하세요.
--cpu : 머신의 코어 수입니다.
--memory : 머신에 포함하려는 메모리 양을 나타내는 정수 숫자 값입니다. 크기 단위를 제공할 수 있습니다(예: 3072MB 또는 9GB). 단위를 지정하지 않으면 GB로 간주됩니다.
--region : 인스턴스의 리전 위치입니다(예: asia-east1, us-east1). 지정하지 않으면 기본값 us-central1
이 사용됩니다.
리전 의 전체 목록을 참조하세요.
gcloud
sql instances create
명령어를 실행하여 비공개 IP 주소로 Cloud SQL 인스턴스를 만듭니다.
gcloud sql instances create quickstart-instance \
--database-version= POSTGRES_14 \
--cpu= 1 \
--memory= 4GB \
--region= us-central \
--root-password= DB_ROOT_PASSWORD \
--no-assign-ip \
--network= default
gcloud sql instances patch
명령어를 실행하여 인스턴스에 대해 SSL 연결만 허용 합니다.
gcloud sql instances patch quickstart-instance --require-ssl
데이터베이스 만들기
콘솔
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
Cloud SQL 인스턴스로 이동
quickstart-instance
를 선택합니다.
SQL 탐색 메뉴에서 데이터베이스 를 선택합니다.
데이터베이스 만들기 를 클릭합니다.
새 데이터베이스 대화상자의 데이터베이스 이름 필드에 quickstart-db
를 입력합니다.
만들기 를 클릭합니다.
사용자 만들기
콘솔
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
Cloud SQL 인스턴스로 이동
인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
SQL 탐색 메뉴에서 사용자 를 선택합니다.
사용자 계정 추가 를 클릭합니다.
instance_name 페이지에 새로운 사용자 계정 추가 페이지에서 다음 정보를 추가합니다.사용자 이름 필드에 quickstart-user
를 입력합니다.
비밀번호 필드에 데이터베이스 사용자의 비밀번호를 지정합니다.
이 빠른 시작의 이후 단계에서 사용할 수 있도록 기록해 둡니다.
추가 를 클릭합니다.
gcloud
다음 명령어를 실행하기 전에 다음을 바꿉니다.
PASSWORD 를 데이터베이스 사용자의 비밀번호로 바꿉니다.
이 빠른 시작의 이후 단계에서 사용할 수 있도록 기록해 둡니다.
gcloud sql users create
명령어를 실행하여 사용자를 만듭니다.
gcloud sql users create quickstart-user \
--instance= quickstart-instance \
--password= PASSWORD
Cloud SQL와 온프레미스 PostgreSQL의 사용자 이름 길이 한도는 동일합니다.
Cloud Run에 샘플 앱 배포
Cloud SQL 연결 권한이 있는
Cloud SQL 클라이언트 역할을 포함하도록 Cloud Run에서 사용되는 서비스 계정을 구성합니다.
이제 클라이언트 권한이 있는 Cloud SQL 인스턴스, 데이터베이스, 서비스 계정을 사용하여 Cloud SQL 인스턴스에 연결되도록 샘플 애플리케이션을 구성할 수 있습니다.
공개 IP
공개 IP 경로의 경우 Cloud Run은 암호화를 제공하고 Unix 소켓을 통해 Cloud SQL 인증 프록시를 사용하여 연결합니다.
비공개 IP
비공개 IP 경로의 경우 애플리케이션은 서버리스 VPC 액세스를 통해 인스턴스에 직접 연결됩니다. 이 메서드는 Cloud SQL 인증 프록시를 사용하지 않고 TCP 소켓을 사용하여 Cloud SQL 인스턴스에 직접 연결합니다.
샘플 앱 배포
Cloud Run에 샘플을 배포하는 단계는 Cloud SQL 인스턴스에 할당한 IP 주소 유형에 따라 달라집니다.
삭제
이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
Cloud SQL 인스턴스로 이동
quickstart-instance
인스턴스를 선택하여 인스턴스 세부정보 페이지를 엽니다.
페이지 상단의 아이콘 표시줄에서 삭제 를 클릭합니다.
인스턴스 삭제 대화상자에서 quickstart-instance
를 입력한 후 삭제 를 클릭하여 인스턴스를 삭제합니다.
Google Cloud 콘솔에서 Cloud Run 페이지로 이동합니다.
Cloud Run으로 이동
quickstart-service
서비스 이름 옆의 체크박스를 선택합니다.
Cloud Run 페이지 상단에 있는 삭제 를 클릭합니다.
선택적인 삭제 단계
Compute Engine 서비스 계정에 할당한 Cloud SQL 클라이언트 역할을 사용하지 않을 때는 이를 삭제할 수 있습니다.
Google Cloud 콘솔에서 IAM 페이지로 이동합니다.
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를 선택한 후 API 사용 중지 버튼을 클릭합니다.
의견 보내기
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스 에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스 에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책 을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2024-10-03(UTC)
의견을 전달하고 싶나요?
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2024-10-03(UTC)"],[],[]]