์ด ํ์ด์ง์์๋ Cloud SQL ํ๋ก์ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ Cloud SQL ์ธ์คํด์ค์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. Cloud SQL ํ๋ก์ ์ฐ์ฐ์์ ์๋ ๋ฐฉ์์ ๋ํ ์์ธํ ๋ด์ฉ์ Cloud SQL ํ๋ก์ ์ฐ์ฐ์ ์ ๋ณด๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ฐ์
Cloud SQL ํ๋ก์ ์ฐ์ฐ์๋ Cloud SQL ์ธ์ฆ ํ๋ก์๋ฅผ ์ฌ์ฉํ์ฌ Cloud SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค์ ์ฐ๊ฒฐํ๋๋ก Google Kubernetes Engine(GKE)์ ๋ฐฐํฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํฉ๋๋ค. Cloud SQL ์ธ์คํด์ค์ ์ฐ๊ฒฐํ ๋๋ Cloud SQL ์ธ์ฆ ํ๋ก์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. Cloud SQL ์ธ์ฆ ํ๋ก์์ ๋ํด ์์ธํ ์์๋ณด๋ ค๋ฉด Cloud SQL ์ธ์ฆ ํ๋ก์ ์ ๋ณด๋ฅผ ์ฐธ์กฐํ์ธ์.
GKE์์ ์คํ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ Cloud SQL ์ธ์ฆ ํ๋ก์๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
์์ํ๊ธฐ ์ ์
Cloud SQL ์ธ์คํด์ค์ ์ฐ๊ฒฐํ๋ ค๋ฉด ๋จผ์ ๋ค์์ ์ํํ์ธ์.
-
์ฌ์ฉ์๋ ์๋น์ค ๊ณ์ ์ ๊ฒฝ์ฐ ๊ณ์ ์ Cloud SQL ํด๋ผ์ด์ธํธ ์ญํ ์ด ์๋์ง ํ์ธํฉ๋๋ค. ์ด ์ญํ ์๋ ์ฃผ ๊ตฌ์ฑ์์ด ํ๋ก์ ํธ์ ๋ชจ๋ Cloud SQL ์ธ์คํด์ค์ ์ฐ๊ฒฐํ๋๋ก ์น์ธํ๋
cloudsql.instances.connect
๊ถํ์ด ํฌํจ๋ฉ๋๋ค.์ํ๋ ๊ฒฝ์ฐ ํน์ Cloud SQL ์ธ์คํด์ค ํ๋๋ง ์ฐ๊ฒฐํ ์ ์๋ ๊ถํ์ ๊ณ์ ์ ๋ถ์ฌํ๋ IAM ์กฐ๊ฑด์ IAM ์ ์ฑ ๋ฐ์ธ๋ฉ์ ํฌํจํ ์ ์์ต๋๋ค.
-
Enable the Cloud SQL Admin API.
- gcloud CLI๋ฅผ ์ค์นํ๊ณ ์ด๊ธฐํํฉ๋๋ค.
Cloud SQL ํ๋ก์ ์ฐ์ฐ์ ์ค์น
Cloud SQL ํ๋ก์ ์ฐ์ฐ์๋ฅผ ์ค์นํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
kubectl
์ GKE ํด๋ฌ์คํฐ์ ์ฐ๊ฒฐํ ์ ์๋์ง ํ์ธํฉ๋๋ค. Google Kubernetes Engine์ Cloud SQL์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ Google Kubernetes Engine์์ ์ฐ๊ฒฐ์ ์ฐธ์กฐํ์ธ์.kubectl cluster-info
- helm์ ์ฌ์ฉํ์ฌ
cert-manager
๋ฅผ ์ค์นํฉ๋๋ค. GKE ํด๋ฌ์คํฐ์์cert-manager
๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ฌ๊ธฐ์ ์ง์ ๋ ๋ฒ์ ๋ฐ CLI ์ธ์๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.helm repo add jetstack https://charts.jetstack.io helm repo update helm install \ cert-manager jetstack/cert-manager \ --namespace cert-manager \ --version "v1.9.1" \ --create-namespace \ --set global.leaderElection.namespace=cert-manager \ --set installCRDs=true
- Kubernetes ํด๋ฌ์คํฐ์ Cloud SQL ํ๋ก์ ์ฐ์ฐ์๋ฅผ ์ค์นํฉ๋๋ค.
kubectl apply -f https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy-operator/v1.6.1/cloud-sql-proxy-operator.yaml
- Cloud SQL ํ๋ก์ ์ฐ์ฐ์๊ฐ ์์๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค.
kubectl rollout status deployment -n cloud-sql-proxy-operator-system cloud-sql-proxy-operator-controller-manager --timeout=90s
- Cloud SQL ํ๋ก์ ์ฐ์ฐ์๊ฐ ์ค์น๋์ด ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค.
kubectl get pods -n cloud-sql-proxy-operator-system
๋ค์ ๋จ๊ณ
- Cloud SQL ์ธ์ฆ ํ๋ก์ ์์ธํ ์์๋ณด๊ธฐ
- Identity and Access Management(IAM) ์์ธํ ์์๋ณด๊ธฐ
- ์๋น์ค ๊ณ์ ์์ธํ ์์๋ณด๊ธฐ
- Cloud SQL ์ธ์คํด์ค์ ๋ ๊ฐ์ง ์ก์ธ์ค ์ ์ด ์์ค ์์๋ณด๊ธฐ
- ์ฌ์ฉ์ ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ
- ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ธ์คํด์ค๋ก ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ
- psql ํด๋ผ์ด์ธํธ ์์๋ณด๊ธฐ
- ์ง์ ์ต์ ์์๋ณด๊ธฐ