๊ฐ์
์ด ํ์ด์ง์์๋ ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ํ๋ผ์ด๋น ํด๋ผ์ฐ๋(VPC) ๋คํธ์ํฌ์ ํด๋ผ์ด์ธํธ์์ ๋น๊ณต๊ฐ ์๋น์ค ์ก์ธ์ค(PSA)๋ฅผ ํตํด Cloud SQL ์ธ์คํด์ค์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ ํ์ฌ ๊ธฐ๋ณธ ์ธ์คํด์ค์ IP ์ฃผ์๋ก ์๋ ํ์ธ๋๋ ์ ์ญ ๋๋ฉ์ธ ์ด๋ฆ ์๋น์ค(DNS) ์ด๋ฆ์ ๋๋ค. ๋ณต์ ๋ณธ ์ฅ์ ์กฐ์น ๋๋ ์ ํ ์์ ์ ๊ฒฝ์ฐ ์ด ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ ๋ค์ด์ค๋ ์ฐ๊ฒฐ์ ์ ๊ธฐ๋ณธ ์ธ์คํด์ค๋ก ์๋์ผ๋ก ๋ฆฌ๋๋ ์ ํฉ๋๋ค. IP ์ฃผ์๋ฅผ ์ฌ์ฉํ๋ ๋์ Cloud SQL ์ธ์คํด์ค์ ๋ํ SQL ์ฐ๊ฒฐ ๋ฌธ์์ด์์ ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฆฌ์ ์๋น์ค ์ค๋จ ๋ณต๊ตฌ ๋๋ ์ฌํด ๋ณต๊ตฌ ๋๋ฆด์ ์ํด ๋ณต์ ๋ณธ ์ฅ์ ์กฐ์น ๋๋ ์ ํ ์์ ์ ์คํํ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฐ๊ฒฐ์ ๋ณ๊ฒฝํ์ง ์์๋ ๋ฉ๋๋ค.
์๊ฑด์ ์ถฉ์กฑํ๋ ๊ฐ Cloud SQL ์ธ์คํด์ค์๋ Cloud SQL์์ ์ด๋ฆ, ์์ฑ, ์ ๋ฐ์ดํธ๋ฅผ ๊ด๋ฆฌํ๋ ๋จ์ผ ๊ธฐ๋ณธ ์ ๊ณต ์ฐ๊ธฐ ์๋ํฌ์ธํธ๊ฐ ์์ต๋๋ค. ๋ค์ ์์๋ ํ์์ ๋ณด์ฌ์ค๋๋ค.
103uufa2svq8u.2rb3qdj9tkf4d.global.sql-psa.goog.
์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ ํญ์ .global.sql-psa.goog.
์ํฝ์ค๋ก ๋๋ฉ๋๋ค.
Cloud SQL์์ ๊ด๋ฆฌํ๋ ์ด ์ฐ๊ธฐ ์๋ํฌ์ธํธ์ ์ด๋ฆ์ด๋ ํ์์ ์์ ํ ์ ์์ต๋๋ค.
์ฝ์ , ์ ๋ฐ์ดํธ, ์ญ์ , DDL ๋ณ๊ฒฝ ๋ฑ ๊ธฐ๋ณธ ์ธ์คํด์ค์ ๋ชจ๋ ์ฐ๊ธฐ ์์ ์ ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฟผ๋ฆฌ์ ๊ฐ์ ์ฝ๊ธฐ ์์ ์ ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. ๋ณต์ ๋ณธ ์ธ์คํด์ค๋ฅผ ์ ๊ธฐ๋ณธ ์ธ์คํด์ค๋ก ์น๊ฒฉํ๊ธฐ ์ํด ๋ณต์ ๋ณธ ์ฅ์ ์กฐ์น ๋๋ ์ ํ ์์ ์ ์ํํ๋ฉด ์ฐ๊ธฐ ์๋ํฌ์ธํธ๊ฐ ๊ฐ๋ฆฌํค๋ ๋น๊ณต๊ฐ IP ์ฃผ์๊ฐ Cloud SQL์ ์ํด ์๋์ผ๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค.
์ฐ๊ธฐ ์๋ํฌ์ธํธ ์์ฑ
์ Cloud SQL ์ธ์คํด์ค๋ฅผ ๋ง๋๋ ๊ฒฝ์ฐ ๋ค์ ๊ธฐ๋ณธ ์๊ฑด์ด ์ถฉ์กฑ๋๋ฉด Cloud SQL์์ ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ์๋์ผ๋ก ๋ง๋ญ๋๋ค.
- Cloud SQL ์ธ์คํด์ค๊ฐ ์๋ Google Cloud ํ๋ก์ ํธ์์ ๋ค์ API๊ฐ ์ฌ์ฉ ์ค์ ๋์ด ์์ด์ผ ํฉ๋๋ค.
ํ๋ก์ ํธ์์ Cloud DNS API๋ฅผ ์ฌ์ฉ ์ค์ ํ์ง ์์ผ๋ฉด ํผ์ด๋ง DNS ์์ญ์ ๋ง๋ค ์ ์์ด DNS ์ด๋ฆ์ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
ํผ์ด๋ง DNS ์์ญ์ด ์์ฑ๋๋ฉด ์ด๋ค ๋ฐฉ์์ผ๋ก๋ ์์ ํ์ง ์๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ญ์ ๋ฅผ ํฌํจํ ์์ ์ฌํญ์ด ์์ผ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ DNS๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
- Cloud SQL ์ธ์คํด์ค๋ Cloud SQL Enterprise Plus ๋ฒ์ ์ด์ด์ผ ํฉ๋๋ค.
- Cloud SQL ์ธ์คํด์ค๊ฐ ๋น๊ณต๊ฐ ์๋น์ค ์ก์ธ์ค(PSA)๊ฐ ์ฌ์ฉ ์ค์ ๋ ๋น๊ณต๊ฐ IP๋ฅผ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑ๋์ด ์์ด์ผ ํฉ๋๋ค.
- ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด ์ ๋คํธ์ํฌ ์ํคํ ์ฒ์ ์ธ์คํด์ค๊ฐ ํ์ํฉ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ ์ธ์คํด์ค๋ ์ ์ํคํ ์ฒ๋ก ์์ฑ๋ฉ๋๋ค. ์ด๋ฅผ ํ์ธํ๋ ค๋ฉด ์ธ์คํด์ค์ ๋คํธ์ํฌ ์ํคํ ์ฒ๋ฅผ ํ์ธํ์ธ์.
๊ธฐ์กด Cloud SQL Enterprise ๋ฒ์ ์ธ์คํด์ค๋ฅผ Cloud SQL Enterprise Plus ๋ฒ์ ์ธ์คํด์ค๋ก ์ ๊ทธ๋ ์ด๋ํ๋ฉด ์ด์ ์ ๋์ด๋ ๊ธฐ๋ณธ ์๊ฑด์ด ์ถฉ์กฑ๋๋ ๊ฒฝ์ฐ Cloud SQL์์ ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค. ๊ธฐ์กด ์ธ์คํด์ค๊ฐ ์ด์ ๋คํธ์ํฌ ์ํคํ ์ฒ์ ์๋ ๊ฒฝ์ฐ ๋จผ์ ์ธ์คํด์ค๋ฅผ ์ ๋คํธ์ํฌ ์ํคํ ์ฒ๋ก ์ ๊ทธ๋ ์ด๋ํด์ผ ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
์ฐ๊ธฐ ์๋ํฌ์ธํธ๊ฐ ์๋ Cloud SQL Enterprise Plus ๋ฒ์ ์ธ์คํด์ค๊ฐ ์ด๋ฏธ ์๊ณ Cloud SQL์์ ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ์๋์ผ๋ก ์์ฑํ๊ฒ ํ๋ ค๋ฉด ๊ณ ๊ธ ์ฌํด ๋ณต๊ตฌ์ ์ฌ์ฉ ์ค์ ๋ ๋ณต์ ๋ณธ์ ๋ง๋ญ๋๋ค.
์ฐ๊ธฐ ์๋ํฌ์ธํธ ๋ณด๊ธฐ
gcloud
์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ์ฐพ์ผ๋ ค๋ฉด ๋ค์ gcloud CLI ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ธ์.
gcloud sql instances describe INSTANCE_NAME \ | grep psaWriteEndpoint
๋ค์์ ๋ฐ๊ฟ๋๋ค.
INSTANCE_NAME
: Cloud SQL ์ธ์คํด์ค์ ์ด๋ฆ.
์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ ํญ์ ๋ค์ ์์์ ๊ฐ์ด .global.sql-psa.goog.
์ํฝ์ค๋ก ๋๋ฉ๋๋ค.
103uufa2svq8u.2rb3qdj9tkf4d.global.sql-psa.goog.
์๊ฒฉ ์๊ฑด์ ์ถฉ์กฑํ๋ ์ธ์คํด์ค์ ์ฐ๊ธฐ ์๋ํฌ์ธํธ๊ฐ ํ์๋์ง ์์ผ๋ฉด ๋ฌธ์ ํด๊ฒฐ์ ์ฐธ์กฐํ์ธ์.
์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ Cloud SQL ์ธ์คํด์ค์ ์ฐ๊ฒฐ
mysql
์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ mysql
ํด๋ผ์ด์ธํธ๋ฅผ Cloud SQL ์ธ์คํด์ค์ ์ฐ๊ฒฐํ๋ ค๋ฉด ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
mysql -u root -h WRITE_ENDPOINT -p
๋ค์์ ๋ฐ๊ฟ๋๋ค.
WRITE_ENDPOINT
: DNS ์ด๋ฆ ๋๋ ์ฐ๊ธฐ ์๋ํฌ์ธํธ์
๋๋ค. ์ด ์์ซ์ ๊ฐ์ ํญ์ .global.sql-psa.goog.
์ํฝ์ค๋ก ๋๋ฉ๋๋ค.
์๋ฅผ ๋ค๋ฉด 103uufa2svq8u.2rb3qdj9tkf4d.global.sql-psa.goog.
์
๋๋ค.
SSL/TLS ์ฐ๊ฒฐ์ ํตํด ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ผ์ด์ธํธ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค์ ์ฐ๊ฒฐ
mysql
SSL/TLS ์ฐ๊ฒฐ์ ํตํด ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํด๋ผ์ด์ธํธ๋ฅผ ์ธ์คํด์ค์ ์ฐ๊ฒฐํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ์ธ์.
mysql -uroot -pcloudsql -h 103uufa2svq8u.2rb3qdj9tkf4d.global.sql-psa.goog. \ --ssl-ca=SERVER_CA_SSL \ --ssl-cert=SSL_CERT \ --ssl-key=SSL_KEY \ --ssl-verify-server-cert
๋ค์์ ๋ฐ๊ฟ๋๋ค.
SERVER_CA_SSL
: ์๋ฒ ์ธ์ฆ ๊ธฐ๊ด SSL ํ์ผ์ ์ด๋ฆ์ ๋๋ค. ์๋ฅผ ๋ค๋ฉดserver-ca.pem
์ ๋๋ค.SSL_CERT
: ํด๋ผ์ด์ธํธ์ SSL ์ธ์ฆ์ ์ด๋ฆ์ ๋๋ค. ์๋ฅผ ๋ค๋ฉดclient-cert.pem
์ ๋๋ค.SSL_KEY
: ํด๋ผ์ด์ธํธ์ SSL ํค ์ด๋ฆ์ ๋๋ค. ์๋ฅผ ๋ค๋ฉดclient-key.pem
์ ๋๋ค.
์ ํ์ฌํญ
- Cloud SQL Enterprise ๋ฒ์ ์ธ์คํด์ค ์์ฑ์๋ ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ ๊ณต๊ฐ IP ์ ์ฉ ์ธ์คํด์ค๋ Private Service Connect ์ ์ฉ ์ธ์คํด์ค์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ Cloud SQL ์ธ์ฆ ํ๋ก์ ๋๋ ์ธ์ด ์ปค๋ฅํฐ์ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฌธ์ ํด๊ฒฐ
๋ค์ ์น์ ์์๋ ์ฐ๊ธฐ ์๋ํฌ์ธํธ์ ์ํคํ ์ฒ๋ฅผ ์ค๋ช ํ๊ณ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ํด๊ฒฐ์ ๋ค๋ฃน๋๋ค.
์ฐ๊ธฐ ์๋ํฌ์ธํธ์ ์ํคํ ์ฒ
์ ๊ฒฉ ์ธ์คํด์ค๋ฅผ ๋ง๋ค๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐ๊ธฐ ์๋ํฌ์ธํธ๊ฐ ์์ฑ๋ฉ๋๋ค.
์ฐ๊ธฐ ์๋ํฌ์ธํธ๋ฅผ ๋ง๋ค๊ธฐ ์ํด Cloud SQL์ ๋ค์ ์ค์ ์ ์คํํฉ๋๋ค.
- ์๋น์ค Cloud SQL ํ๋ก๋์ VPC ๋คํธ์ํฌ์ ๋น๊ณต๊ฐ DNS ์์ญ์ ๋ง๋ญ๋๋ค.
- ๊ณ ๊ฐ VPC ๋คํธ์ํฌ์ ํผ์ด๋ง DNS ์์ญ์ ๋ง๋ญ๋๋ค.
- ์๋น์ค ํ๋ก๋์ ๋คํธ์ํฌ์ ๋น๊ณต๊ฐ DNS ์์ญ์ DNS ๋ ์ฝ๋๋ฅผ ๋ง๋ญ๋๋ค.
๋ค์ ๋ค์ด์ด๊ทธ๋จ์ ์ด ํ๋ก์ธ์ค์ ์๋ ๋ฐฉ์์ ๋ณด์ฌ์ค๋๋ค.

DNS ๋ณํ ๋ฌธ์
DNS ๋ณํ์ด ์๋ํ์ง ์์ผ๋ฉด ๋ค์ ํญ๋ชฉ์ ๊ฐ๊ฐ ํ์ธํ์ธ์.
- ๋ชจ๋ ๊ธฐ๋ณธ ์๊ฑด์ ์ถฉ์กฑํ๋์ง ํ์ธํฉ๋๋ค.
- ํด๊ฒฐ์ด ํ์ํ ํด๋ผ์ด์ธํธ๊ฐ Cloud SQL ์ธ์คํด์ค๊ฐ ์ฐ๊ฒฐ๋ ๋์ผํ ๋คํธ์ํฌ์ ์๋์ง ํ์ธํฉ๋๋ค. ์ด๋ฅผ ํ์ธํ๋ ค๋ฉด
gcloud compute instances list
๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.gcloud compute instances list \ --format="table( name, zone.basename(), networkInterfaces[].network )" \ --project=PROJECT_NAME
PROJECT_NAME
์ DNS ์๋น์ ๋คํธ์ํฌ๊ฐ ์๋ ํ๋ก์ ํธ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค. - ํผ์ด๋ง ์์ญ์ด ์๋์ง ํ์ธํฉ๋๋ค. ์ด ๊ฒฝ์ฐ
gcloud dns managed-zones list
๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ธ์.gcloud dns managed-zones list \ --project=PROJECT_NAME
PROJECT_NAME
์ DNS ์๋น์ ๋คํธ์ํฌ๊ฐ ์๋ ํ๋ก์ ํธ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค. - ํผ์ด๋ง ์์ญ์ด ์์ผ๋ฉด
gcloud beta sql instances patch
๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.gcloud beta sql instances patch INSTANCE_NAME --reconcile-psa-networking
INSTANCE_NAME
์ Cloud SQL ์ธ์คํด์ค ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
์ ์ธ์คํด์ค์ ์ฐ๊ธฐ ์๋ํฌ์ธํธ๊ฐ ์์
์๋ก ๋ง๋ ์ธ์คํด์ค์ ์ฐ๊ธฐ ์๋ํฌ์ธํธ๊ฐ ํฌํจ๋์ด ์์ง ์์ผ๋ฉด ๋ค์ ํญ๋ชฉ์ ๊ฐ๊ฐ ํ์ธํ์ธ์.
- ๋ชจ๋ ๊ธฐ๋ณธ ์๊ฑด์ด ์๋ฃ๋์๋์ง ํ์ธํฉ๋๋ค.
- DNS ์ด๋ฆ์ด
sql-psa.goog.
์ธ ๋จ์ ์๋ ํผ์ด๋ง DNS ์์ญ์ด ์๋์ง ํ์ธํฉ๋๋ค.ํผ์ด๋ง DNS ์์ญ์ DNS ์์ญ๊ณผ ์ฐ๊ฒฐ๋ ๋คํธ์ํฌ์ ํผ์ด๋ง DNS ์์ญ์ ํผ์ด ํ๋ก์ ํธ ID์ VPC ํผ์ด๋ง์ด ์๋ ๊ฒฝ์ฐ ๋จ์ ์๋ DNS ์์ญ์ ๋๋ค.
sql-psa.goog.
์ํฝ์ค๊ฐ ์๋ ๋จ์ ์๋ ํผ์ด๋ง DNS ์์ญ์ด ์์ผ๋ฉด ์ญ์ ํฉ๋๋ค.๋จ์ ์๋ ํผ์ด๋ง DNS ์์ญ์ ํ์ธํ๋ ค๋ฉด
gcloud dns managed-zones list
๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.gcloud dns managed-zones list \ --project=PROJECT_NAME
PROJECT_NAME
์ DNS ์๋น์ ๋คํธ์ํฌ๊ฐ ์๋ ํ๋ก์ ํธ์ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.sql-psa.goog.
์ํฝ์ค๊ฐ ์๋ DNS ์์ญ์ด ์์ผ๋ฉด ํผ์ด๋ง DNS ์์ญ์ด ๋จ์ DNS ์์ญ์ธ์ง ๋ค์ ํ๋ฒ ํ์ธํ ํ DNS ์์ญ์ ์ญ์ ํฉ๋๋ค.DNS ์์ญ์ ์ญ์ ํ๋ ค๋ฉด
gcloud dns managed-zones delete
๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.gcloud dns managed-zones delete ZONE_NAME
ZONE_NAME
์ ์ฐ๊ธฐ ์๋ํฌ์ธํธ์ ์ฐ๊ฒฐ๋ DNS ์์ญ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค. ๊ฐ์ ์์ซ์์ด๋ฉฐcloud-sql-psa-dns-1234567890
ํ์์ ์ฌ์ฉํฉ๋๋ค. gcloud beta sql instances patch
๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ ๊ฒฉ ์ธ์คํด์ค์ ์ฐ๊ธฐ ์๋ํฌ์ธํธ ๋๋ฝ์ ํด๊ฒฐํ ์ ์์ต๋๋ค.gcloud beta sql instances patch INSTANCE_NAME --reconcile-psa-networking
INSTANCE_NAME
์ Cloud SQL ์ธ์คํด์ค ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
๋ค์ ๋จ๊ณ
- Cloud SQL ๋ฌธ์ ํด๊ฒฐ์ ๋ํด ์์ธํ ์์๋ณด์ธ์.