반응형
SQL과 GCP cloudsql을 연결하는 방법에 대해서 포스팅을 하도록 하겠습니다. 그렇게 어렵지는 않지만, 생각보다 쉽지 않은 점이 있기 때문에, 정리를 해두려고 합니다. (chatgpt 활용!)
1. GCP Cloud SQL 인스턴스 준비하기
- Cloud SQL 인스턴스 생성
- GCP 콘솔에서 Cloud SQL 페이지로 이동합니다.
- “인스턴스 생성” 버튼을 클릭한 후, 데이터베이스 유형으로 “MySQL”을 선택합니다.
- 인스턴스 이름, 비밀번호, 지역 등을 설정한 뒤 인스턴스를 생성합니다.
- 네트워크 설정 확인
- 생성된 Cloud SQL 인스턴스의 “연결” 탭으로 이동합니다.
- “공개 IP”를 활성화하고, 연결할 클라이언트의 IP 주소를 허용 목록(Authorized Networks)에 추가합니다.
- 본인의 IP 주소를 확인하려면 What is My IP와 같은 서비스를 이용하세요.
- 사용자 및 데이터베이스 생성
- Cloud Shell이나 GCP Console을 통해 MySQL CLI에 접속합니다.
- 원하는 데이터베이스와 사용자를 생성합니다.
cloud shell을 이용해서 만들기
CREATE DATABASE my_database;
CREATE USER 'my_user'@'%' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON my_database.* TO 'my_user'@'%';
FLUSH PRIVILEGES;
2. MySQL Workbench 설정하기
- MySQL Workbench 설치
- MySQL Workbench를 설치하지 않았다면 MySQL 공식 웹사이트에서 다운로드하여 설치합니다.
- 새 연결 설정
- MySQL Workbench를 실행하고, “+ New Connection” 버튼을 클릭합니다.
- 다음과 같은 정보를 입력합니다:
- Connection Name: 원하는 연결 이름 입력
- Connection Method: Standard (TCP/IP)
- Hostname: Cloud SQL의 공개 IP 주소 입력
- Port: 3306 (기본 포트)
- Username: Cloud SQL에서 생성한 사용자 이름 입력
- 연결 테스트
- “Test Connection” 버튼을 눌러 연결 상태를 확인합니다.
- 비밀번호를 입력하라는 창이 뜨면 Cloud SQL 사용자 비밀번호를 입력합니다.
- 연결이 성공하면 설정을 저장하고 “OK”를 클릭합니다.
3. 연결 시 발생할 수 있는 문제 및 해결 방법
- 방화벽 문제
- GCP에서 연결을 허용하지 않은 IP 주소는 접근할 수 없습니다. 허용 네트워크에 자신의 IP를 추가했는지 확인하세요.
- 공개 IP 비활성화
- Cloud SQL 인스턴스에서 “공개 IP”를 활성화하지 않았다면 연결이 불가능합니다. 공개 IP를 활성화하세요.
- SSL 인증서 사용
- 보안을 강화하려면 SSL 인증서를 사용해 연결할 수 있습니다. “연결” 탭에서 SSL 인증서를 다운로드하고, MySQL Workbench의 SSL 옵션에 추가합니다.
- Cloud SQL의 시간이 오래 걸리는 문제
- GCP Cloud SQL은 기본적으로 지역 내에서 최적화되지만, 네트워크 지연이나 지역 간 연결 시 시간이 오래 걸릴 수 있습니다. 가까운 지역에 인스턴스를 생성하거나 프록시를 사용할 수 있습니다.
4. Check from mysqlworkbench
show databases; # database들 보기
use my_db; # my_db가 있을 경우
show tables; # table 보기
select * from my_table;
반응형
'Cloud' 카테고리의 다른 글
aws Lex, Lambda, Bedrock을 이용해서 RAG chatbot 만들기(1. Lambda code) (0) | 2025.01.21 |
---|