์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ

์ด ํŽ˜์ด์ง€์—์„œ๋Š” SQL Server์šฉ Cloud SQL ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ์ธ์Šคํ„ด์Šค ์„ค์ •์— ๊ด€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ธ์Šคํ„ด์Šค ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ƒˆ๋กœ ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค์—๋Š” sqlserver ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

SQL Server์šฉ Cloud SQL ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“  ํ›„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๋‹จ์ผ ํ”„๋กœ์ ํŠธ์— ๋ณด์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ธ์Šคํ„ด์Šค ์ˆ˜๋Š” ์ธ์Šคํ„ด์Šค์˜ ๋„คํŠธ์›Œํฌ ์•„ํ‚คํ…์ฒ˜์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

  • ์ƒˆ SQL ๋„คํŠธ์›Œํฌ ์•„ํ‚คํ…์ฒ˜: ์ธ์Šคํ„ด์Šค๋ฅผ ํ”„๋กœ์ ํŠธ๋‹น ์ตœ๋Œ€ 1,000๊ฐœ๊นŒ์ง€ ๋ณด์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์ „ SQL ๋„คํŠธ์›Œํฌ ์•„ํ‚คํ…์ฒ˜: ์ธ์Šคํ„ด์Šค๋ฅผ ํ”„๋กœ์ ํŠธ๋‹น ์ตœ๋Œ€ 100๊ฐœ๊นŒ์ง€ ๋ณด์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‘ ์•„ํ‚คํ…์ฒ˜ ๋ชจ๋‘ ์‚ฌ์šฉ: ๋‘ ์•„ํ‚คํ…์ฒ˜์—์„œ์˜ ์ธ์Šคํ„ด์Šค ๋ฐฐํฌ ๋ฐฉ์‹์— ๋”ฐ๋ผ ํ•œ๋„๋Š” 100~1,000๊ฐœ์ž…๋‹ˆ๋‹ค.

์ƒํ–ฅ์„ ์š”์ฒญํ•˜๋ ค๋ฉด ์ง€์› ์ผ€์ด์Šค๋ฅผ ์ ‘์ˆ˜ํ•˜์„ธ์š”. ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์€ ์ธ์Šคํ„ด์Šค๋กœ ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค.

Cloud SQL Enterprise Plus ๋ฒ„์ „๊ณผ Cloud SQL Enterprise ๋ฒ„์ „ ์ค‘์—์„œ ์„ ํƒ

SQL Server์šฉ Cloud SQL ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค ๋•Œ Cloud SQL ๋ฒ„์ „์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ๋จธ์‹  ๊ณ„์—ด์—์„œ ๋จธ์‹  ๊ตฌ์„ฑ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

Cloud SQL Enterprise Plus ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ๋จธ์‹  ๊ณ„์—ด ์ค‘์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์„ฑ๋Šฅ ์ตœ์ ํ™”: ๋ฉ”๋ชจ๋ฆฌ ๋Œ€ ์ปดํ“จํŒ… ๋น„์œจ์ด vCPU 1๊ฐœ:8GB RAM์œผ๋กœ ๋‹ค์–‘ํ•œ SQL Server ์›Œํฌ๋กœ๋“œ์— ๋Œ€ํ•ด ๊ท ํ˜• ์žกํžŒ ๊ฐ€๊ฒฉ ๋Œ€๋น„ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”: ๋ฉ”๋ชจ๋ฆฌ ์ง‘์•ฝ์ ์ธ ์›Œํฌ๋กœ๋“œ๋ฅผ ์œ„ํ•œ ๋†’์€ ๋ฉ”๋ชจ๋ฆฌ ๋Œ€ ์ปดํ“จํŒ… ๋น„์œจ์ธ vCPU 1๊ฐœ:32GB RAM์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™” ๋จธ์‹ ์€ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ค‘์— ๋” ํฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์œ ๋ฆฌํ•œ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ, ๋ถ„์„, ๋น„์ฆˆ๋‹ˆ์Šค ์ธํ…”๋ฆฌ์ „์Šค ๋ณด๊ณ ๊ฐ€ ํ•„์š”ํ•œ SQL Server ์›Œํฌ๋กœ๋“œ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

Cloud SQL Enterprise ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋ฉด vCPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์š”๊ตฌ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ๋จธ์‹  ๊ตฌ์„ฑ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์„น์…˜์—์„œ๋Š” ๊ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฒ„์ „ ๋ฐ ๋จธ์‹  ์œ ํ˜•์˜ vCPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์„ฑ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

SQL Server 2017 Express, SQL Server 2019 Express, SQL Server 2022 Express

๋จธ์‹  ์œ ํ˜• vCPU/๋ฉ”๋ชจ๋ฆฌ
ํ•ด๋‹น ์‚ฌํ•ญ ์—†์Œ
  • vCPU 1๊ฐœ, 3.75GB
  • vCPU 2๊ฐœ, 8GB
  • vCPU 4๊ฐœ, 16GB
  • vCPU 8๊ฐœ, 32GB
์ปค์Šคํ…€ vCPU 1~8๊ฐœ, 3.75~52GB

SQL Server 2017 Web, SQL Server 2019 Web, SQL Server 2022 Web

๋จธ์‹  ์œ ํ˜• vCPU/๋ฉ”๋ชจ๋ฆฌ
ํ•ด๋‹น ์‚ฌํ•ญ ์—†์Œ
  • vCPU 1๊ฐœ, 3.75GB
  • vCPU 2๊ฐœ, 8GB
  • vCPU 4๊ฐœ, 16GB
  • vCPU 8๊ฐœ, 32GB
์ปค์Šคํ…€ vCPU 1~32๊ฐœ, 3.75~208GB

SQL Server 2017 Standard, SQL Server 2019 Standard, SQL Server 2022 Standard

๋จธ์‹  ์œ ํ˜• vCPU/๋ฉ”๋ชจ๋ฆฌ
ํ•ด๋‹น ์‚ฌํ•ญ ์—†์Œ
  • vCPU 1๊ฐœ, 3.75GB
  • vCPU 2๊ฐœ, 8GB
  • vCPU 4๊ฐœ, 16GB
  • vCPU 8๊ฐœ, 32GB
์ปค์Šคํ…€ vCPU 1~48๊ฐœ, 3.75~312GB

SQL Server 2017 Enterprise, SQL Server 2019 Enterprise, SQL Server 2022 Enterprise

๋จธ์‹  ์œ ํ˜• vCPU/๋ฉ”๋ชจ๋ฆฌ
ํ•ด๋‹น ์‚ฌํ•ญ ์—†์Œ
  • vCPU 1๊ฐœ, 3.75GB
  • vCPU 2๊ฐœ, 8GB
  • vCPU 4๊ฐœ, 16GB
  • vCPU 8๊ฐœ, 32GB
์ปค์Šคํ…€ vCPU 2~96๊ฐœ, 3.75~624GB
์„ฑ๋Šฅ ์ตœ์ ํ™”
(Cloud SQL Enterprise Plus๋งŒ ํ•ด๋‹น)
  • vCPU 2๊ฐœ, 16GB
  • vCPU 4๊ฐœ, 32GB
  • vCPU 8๊ฐœ, 64GB
  • vCPU 16๊ฐœ, 128GB
  • vCPU 32๊ฐœ, 256GB
  • vCPU 48๊ฐœ, 384GB
  • vCPU 64๊ฐœ, 512GB
  • vCPU 80๊ฐœ, 640GB
  • vCPU 96๊ฐœ, 768GB
  • vCPU 128๊ฐœ, 864GB
๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”
(Cloud SQL Enterprise Plus๋งŒ ํ•ด๋‹น)
  • vCPU 4๊ฐœ, 128GB
  • vCPU 8๊ฐœ, 256GB
  • vCPU 16๊ฐœ, 512GB

๋™์‹œ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ

SQL Server์šฉ Cloud SQL์˜ ๋™์‹œ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ(SMT)์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•˜๋‚˜์˜ ๋ฌผ๋ฆฌ์  ์ฝ”์–ด์—์„œ 2๊ฐœ์˜ ๊ฐ€์ƒ CPU(vCPU)๋ฅผ ๋…๋ฆฝ์ ์ธ ๊ฐœ๋ณ„ ์Šค๋ ˆ๋“œ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SMT๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ผ์ด์„ ์Šค ๋น„์šฉ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ด๋ฅผ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

SMT๋ฅผ ์‚ฌ์šฉ ์ค‘์ง€ํ•˜๋ฉด ์ธ์Šคํ„ด์Šค ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SMT๋ฅผ ์ค‘์ง€ํ•˜๋ฉด ์ธ์Šคํ„ด์Šค ์„ฑ๋Šฅ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ํŒŒ์•…ํ•˜๋ ค๋ฉด ์ธ์Šคํ„ด์Šค์—์„œ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Install the gcloud CLI.

  5. ์™ธ๋ถ€ ID ๊ณต๊ธ‰์—…์ฒด(IdP)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋จผ์ € ์ œํœด ID๋กœ gcloud CLI์— ๋กœ๊ทธ์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  6. gcloud CLI๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋ ค๋ฉด, ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Verify that billing is enabled for your Google Cloud project.

  9. Install the gcloud CLI.

  10. ์™ธ๋ถ€ ID ๊ณต๊ธ‰์—…์ฒด(IdP)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋จผ์ € ์ œํœด ID๋กœ gcloud CLI์— ๋กœ๊ทธ์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  11. gcloud CLI๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋ ค๋ฉด, ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gcloud init
  12. ์‚ฌ์šฉ์ž ๊ณ„์ •์— Cloud SQL ๊ด€๋ฆฌ์ž ๋ฐ Compute ๋ทฐ์–ด ์—ญํ• ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    IAM ํŽ˜์ด์ง€๋กœ ์ด๋™

    ์—ญํ•  ๋ฐ ๊ถŒํ•œ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ

  13. SQL Server ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ

    ์ฝ˜์†”

    1. Google Cloud ์ฝ˜์†”์—์„œ Cloud SQL ์ธ์Šคํ„ด์Šค ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

      Cloud SQL ์ธ์Šคํ„ด์Šค๋กœ ์ด๋™

    2. ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    3. ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ ํŽ˜์ด์ง€์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„ ์„ ํƒ ํŒจ๋„์—์„œ SQL Server ์„ ํƒ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    4. SQL Server ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ ํŽ˜์ด์ง€์˜ Cloud SQL ๋ฒ„์ „ ์„ ํƒ ์„น์…˜์—์„œ ์ธ์Šคํ„ด์Šค์˜ Cloud SQL ๋ฒ„์ „(Enterprise ๋˜๋Š” Enterprise Plus)์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

      Cloud SQL ๋ฒ„์ „์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Cloud SQL ๋ฒ„์ „ ์†Œ๊ฐœ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

    5. ์ธ์Šคํ„ด์Šค์˜ ๋ฒ„์ „ ์‚ฌ์ „ ์„ค์ •์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์‚ฌ์ „ ์„ค์ •์„ ๋ณด๋ ค๋ฉด ๋ฒ„์ „ ์‚ฌ์ „ ์„ค์ • ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    6. ์ธ์Šคํ„ด์Šค ์ •๋ณด ์„น์…˜์—์„œ ์ธ์Šคํ„ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฒ„์ „์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฒ„์ „์„ ํ™•์ธํ•˜๋ ค๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฒ„์ „ ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    7. ์ธ์Šคํ„ด์Šค ์ •๋ณด ์ฐฝ์˜ ์ธ์Šคํ„ด์Šค ID ํ•„๋“œ์— ์ธ์Šคํ„ด์Šค ID๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

      ์ธ์Šคํ„ด์Šค ์ด๋ฆ„์— ํ”„๋กœ์ ํŠธ ID๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋กœ๊ทธ ํŒŒ์ผ์—์„œ).

    8. ๋น„๋ฐ€๋ฒˆํ˜ธ ํ•„๋“œ์— ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    9. ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ผ๋ฐ˜ ํ…์ŠคํŠธ๋กœ ๋ณด๋ ค๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ ํ‘œ์‹œ ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

      ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ง์ ‘ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ Cloud SQL์—์„œ ์ž๋™์œผ๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋งŒ๋“ค๋„๋ก ์ƒ์„ฑ์„ ํด๋ฆญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    10. ๋ฆฌ์ „ ๋ฐ ์˜์—ญ ๊ฐ€์šฉ์„ฑ ์„ ํƒ ์„น์…˜์—์„œ ์ธ์Šคํ„ด์Šค์˜ ๋ฆฌ์ „๊ณผ ์˜์—ญ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ์ „ ๊ฐ€์šฉ์„ฑ์€ SQL Server์šฉ Cloud SQL ๋ฒ„์ „์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ธ์Šคํ„ด์Šค ์„ค์ • ์ •๋ณด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

      ์ธ์Šคํ„ด์Šค๋ฅผ ์ธ์Šคํ„ด์Šค์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ฆฌ์†Œ์Šค์™€ ๊ฐ™์€ ๋ฆฌ์ „์— ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒํ•œ ๋ฆฌ์ „์€ ๋‚˜์ค‘์— ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์˜์—ญ์„ ์ง€์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

      ์ธ์Šคํ„ด์Šค๋ฅผ ๊ณ ๊ฐ€์šฉ์„ฑ์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์˜์—ญ๊ณผ ๋ณด์กฐ ์˜์—ญ์„ ๋ชจ๋‘ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋™์•ˆ ๋ณด์กฐ ์˜์—ญ์ด ์‚ฌ์šฉ๋˜๋ฉด ๋‹ค์Œ ์กฐ๊ฑด์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

      • ์˜์—ญ์ด ๊ธฐ๋ณธ ์˜์—ญ์€ Any๋กœ ๋ณด์กฐ ์˜์—ญ์€ Any (different from primary)๋กœ ๊ธฐ๋ณธ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
      • ๊ธฐ๋ณธ ์˜์—ญ๊ณผ ๋ณด์กฐ ์˜์—ญ์„ ๋ชจ๋‘ ์ง€์ •ํ•  ๊ฒฝ์šฐ ์„œ๋กœ ๋ณ„๋„์˜ ์˜์—ญ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    11. ์ธ์Šคํ„ด์Šค ๋งž์ถค์„ค์ • ์„น์…˜์—์„œ ์ธ์Šคํ„ด์Šค์˜ ์„ค์ •์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ์˜ต์…˜ ํ‘œ์‹œ๋ฅผ ํด๋ฆญํ•˜์—ฌ ์„ค์ • ๊ทธ๋ฃน์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์„ค์ •์„ ๊ฒ€ํ† ํ•˜๊ณ  ๋งž์ถค์„ค์ •ํ•  ๊ทธ๋ฃน์„ ํŽผ์นฉ๋‹ˆ๋‹ค. ์„ ํƒํ•œ ๋ชจ๋“  ์˜ต์…˜์˜ ์š”์•ฝ์ด ์˜ค๋ฅธ์ชฝ์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ธ์Šคํ„ด์Šค ์„ค์ •์˜ ๋งž์ถค์„ค์ •์€ ์„ ํƒ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ๋งž์ถค์„ค์ •์ด ์ˆ˜ํ–‰๋˜์ง€ ์•Š๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์— ๊ธฐ๋ณธ๊ฐ’์ด ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.

      ๋‹ค์Œ ํ‘œ๋Š” ์ธ์Šคํ„ด์Šค ์„ค์ •์— ๋Œ€ํ•œ ๋น ๋ฅธ ์ฐธ์กฐ์ž…๋‹ˆ๋‹ค. ๊ฐ ์„ค์ •์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ธ์Šคํ„ด์Šค ์„ค์ • ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

      ์„ค์ • ์ฐธ๊ณ 
      ๋จธ์‹  ์œ ํ˜•
      ๋จธ์‹  ์œ ํ˜• ๊ฒฝ๋Ÿ‰, ํ‘œ์ค€(๊ฐ€์žฅ ์ผ๋ฐ˜์ ), ๊ณ ์„ฑ๋Šฅ ๋ฉ”๋ชจ๋ฆฌ ์ค‘์—์„œ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋จธ์‹  ์œ ํ˜•์€ CPU(์ฝ”์–ด) ์ˆ˜์™€ ์ธ์Šคํ„ด์Šค ๋ฉ”๋ชจ๋ฆฌ ์–‘์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜๋ฉ๋‹ˆ๋‹ค.
      ์ฝ”์–ด ์ธ์Šคํ„ด์Šค์˜ vCPU ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ๋ฉ”๋ชจ๋ฆฌ ์ธ์Šคํ„ด์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์–‘(GB)์ž…๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์ปค์Šคํ…€ ์ „์šฉ ์ฝ”์–ด ๋จธ์‹  ์œ ํ˜•์˜ ๊ฒฝ์šฐ ์‚ฌ์ „ ์ •์˜๋œ ๊ตฌ์„ฑ์„ ์„ ํƒํ•˜๋Š” ๋Œ€์‹  ์ปค์Šคํ…€ ๋ฒ„ํŠผ์„ ์„ ํƒํ•˜์—ฌ ์ปค์Šคํ…€ ๊ตฌ์„ฑ์œผ๋กœ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์„ ์„ ํƒํ•  ๋•Œ๋Š” ์ธ์Šคํ„ด์Šค์˜ ์ฝ”์–ด ์ˆ˜์™€ ๋ฉ”๋ชจ๋ฆฌ ์–‘์„ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์Šคํ† ๋ฆฌ์ง€
      ์Šคํ† ๋ฆฌ์ง€ ์œ ํ˜• ์ธ์Šคํ„ด์Šค ์Šคํ† ๋ฆฌ์ง€ ์œ ํ˜•(SSD ๋˜๋Š” HDD)์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰ ์ธ์Šคํ„ด์Šค์— ์ œ๊ณต๋œ ์ €์žฅ์šฉ๋Ÿ‰์ž…๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์Šคํ† ๋ฆฌ์ง€ ์ž๋™ ์ฆ๊ฐ€ ์‚ฌ์šฉ ์„ค์ • ์ธ์Šคํ„ด์Šค์— ์—ฌ์œ  ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•  ๋•Œ Cloud SQL์—์„œ ์ž๋™์œผ๋กœ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ œ๊ณตํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์•”ํ˜ธํ™”
      Google ๊ด€๋ฆฌ ์•”ํ˜ธํ™”๊ธฐ๋ณธ ์˜ต์…˜์ž…๋‹ˆ๋‹ค.
      ๊ณ ๊ฐ ํ‚ค ๊ด€๋ฆฌ ์•”ํ˜ธํ™” ํ‚ค(CMEK)Google Cloud Key Management Service์—์„œ ์ž์ฒด ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์—ฐ๊ฒฐ
      ๋น„๊ณต๊ฐœ IP ์ธ์Šคํ„ด์Šค์˜ ๋น„๊ณต๊ฐœ IP ์ฃผ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ์ถ”๊ฐ€ ๊ตฌ์„ฑ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
      ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์—ฐ๊ฒฐ์— ์‚ฌ์šฉํ•  ์ธ์Šคํ„ด์Šค์— ํ• ๋‹น๋œ IP ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      1. ํ• ๋‹น๋œ IP ๋ฒ”์œ„ ์˜ต์…˜ ํ‘œ์‹œ๋ฅผ ํŽผ์นฉ๋‹ˆ๋‹ค.
      2. ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ IP ๋ฒ”์œ„๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

      ์ธ์Šคํ„ด์Šค์—๋Š” ๊ณต๊ฐœ ๋ฐ ๋น„๊ณต๊ฐœ IP ์ฃผ์†Œ๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      ๊ณต๊ฐœ IP ์ธ์Šคํ„ด์Šค์˜ ๊ณต๊ฐœ IP ์ฃผ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์Šน์ธ๋œ ๋„คํŠธ์›Œํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

      ์ธ์Šคํ„ด์Šค์—๋Š” ๊ณต๊ฐœ ๋ฐ ๋น„๊ณต๊ฐœ IP ์ฃผ์†Œ๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      ๊ณต๊ฐœ IP ์‚ฌ์šฉ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.

      ์Šน์ธ๋œ ๋„คํŠธ์›Œํฌ

      ์ƒˆ๋กœ์šด ๋„คํŠธ์›Œํฌ ์ด๋ฆ„๊ณผ ๋„คํŠธ์›Œํฌ ์ฃผ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ

      ๋ณด์•ˆ
      ์„œ๋ฒ„ ์ธ์ฆ ๊ธฐ๊ด€ ๋ชจ๋“œ

      ์ด Cloud SQL ์ธ์Šคํ„ด์Šค์˜ ์„œ๋ฒ„ ์ธ์ฆ์„œ์— ์„œ๋ช…ํ•˜๋Š” ์ธ์ฆ ๊ธฐ๊ด€(CA) ์œ ํ˜•์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ

      ๊ธฐ๋ณธ์ ์œผ๋กœ Google Cloud ์ฝ˜์†”์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค๋ฉด ์ธ์Šคํ„ด์Šค๋Š” ์ธ์Šคํ„ด์Šค๋ณ„ CA ์˜ต์…˜์ธ Google ๊ด€๋ฆฌ ๋‚ด๋ถ€ ์ธ์ฆ ๊ธฐ๊ด€(GOOGLE_MANAGED_INTERNAL_CA)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

      ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ
      ๋ฐฑ์—… ์ž๋™ํ™” ๋ฐฑ์—…์„ ์‹œ์ž‘ํ•  ์‹œ๊ฐ„
      ๋ฐฑ์—…์„ ์ €์žฅํ•  ์œ„์น˜๋ฅผ ์„ ํƒํ•˜์„ธ์š”.๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ ๋ฉ€ํ‹ฐ ๋ฆฌ์ „์„ ์„ ํƒํ•˜์„ธ์š”. ํŠน์ • ๋ฆฌ์ „์— ๋ฐฑ์—…์„ ์ €์žฅํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ(์˜ˆ๋ฅผ ๋“ค์–ด ๊ทœ์ • ์ƒ ๊ทธ๋ ‡๊ฒŒ ํ•ด์•ผ ํ•  ์ด์œ ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ) ๋ฆฌ์ „์„ ์„ ํƒํ•˜๊ณ  ์œ„์น˜ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ ๋ฆฌ์ „์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
      ์ €์žฅํ•  ์ž๋™ ๋ฐฑ์—… ์ˆ˜ ์„ ํƒ๋ณด๊ด€ํ•  ์ž๋™ ๋ฐฑ์—…์˜ ์ˆ˜์ž…๋‹ˆ๋‹ค(1~365์ผ). ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      PITR(point-in-time recovery) ์‚ฌ์šฉ ์„ค์ • PITR(point-in-time recovery) ๋ฐ ํŠธ๋žœ์žญ์…˜ ๋กœ๊น…์„ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์‚ญ์ œ ๋ณดํ˜ธ ์‚ฌ์šฉ ์„ค์ • ์‹ค์ˆ˜๋กœ ์ธํ•œ ์ธ์Šคํ„ด์Šค ์‚ญ์ œ๋ฅผ ๋ณดํ˜ธํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์ธ์Šคํ„ด์Šค ์‚ญ์ œ ํ›„ ๋ณด๊ด€๋œ ๋ฐฑ์—… ์‚ฌ์šฉ ์„ค์ • ์ธ์Šคํ„ด์Šค๊ฐ€ ์‚ญ์ œ๋œ ํ›„ ์ž๋™ ๋ฐ ์ฃผ๋ฌธํ˜• ๋ฐฑ์—…์„ ๋ณด๊ด€ํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ๋กœ๊ทธ ๋ณด๊ด€ ์ผ์ˆ˜ ์„ ํƒ ๋ฏธ๋ฆฌ ์“ฐ๊ธฐ ๋กœ๊ทธ ๋ณด๊ด€ ๊ธฐ๊ฐ„์„ 1~7์ผ๋กœ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์„ค์ •์€ 7์ผ์ž…๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์œ ์ง€๋ณด์ˆ˜
      ์„ ํ˜ธ ๊ธฐ๊ฐ„ Cloud SQL์ด ์ธ์Šคํ„ด์Šค์— ์„œ๋น„์Šค ์ค‘๋‹จ ์œ ์ง€๋ณด์ˆ˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์‹œ๊ฐ„(1์‹œ๊ฐ„)์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ์‹œ๊ฐ„์„ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋•Œ์— ์—…๋ฌด์— ์ฐจ์งˆ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ์œ ์ง€๋ณด์ˆ˜ ์ž‘์—…์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์—…๋ฐ์ดํŠธ ์ˆœ์„œ ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ์˜ ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค์™€ ๋น„๊ตํ•˜์—ฌ ์„ ํ˜ธํ•˜๋Š” ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ํ”Œ๋ž˜๊ทธ
      ํ”Œ๋ž˜๊ทธ ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค์˜ ์„ค์ •๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ๋ผ๋ฒจ
      ๋ผ๋ฒจ ์ถ”๊ฐ€์ถ”๊ฐ€ํ•˜๋Š” ๊ฐ ๋ผ๋ฒจ์˜ ํ‚ค์™€ ๊ฐ’์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋ผ๋ฒจ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ธ์Šคํ„ด์Šค๋ฅผ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    12. ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

      ์ฐธ๊ณ : ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ๋ช‡ ๋ถ„ ์ •๋„ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ๋™์•ˆ ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    gcloud

    gcloud CLI ์„ค์น˜ ๋ฐ ์‹œ์ž‘์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ gcloud CLI ์„ค์น˜๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. Cloud Shell ์‹œ์ž‘์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Cloud Shell ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

    gcloud ๋ฒ„์ „ 243.0.0 ์ด์ƒ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    1. gcloud sql instances create ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
    2. Cloud SQL Enterprise Plus ๋ฒ„์ „ ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ:

            gcloud sql instances create INSTANCE_NAME \
            --database-version=DATABASE_VERSION \
            --region=REGION \
            --tier=TIER \
            --root-password=ROOT_PASSWORD \
            --edition=ENTERPRISE_PLUS
          

      Cloud SQL Enterprise ๋ฒ„์ „ ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ:

            gcloud sql instances create INSTANCE_NAME \
            --database-version=DATABASE_VERSION \
            --region=REGION \
            --cpu=NUMBER_OF_vCPUs \
            --memory=MEMORY_SIZE \
            --root-password=ROOT_PASSWORD \
            --edition=ENTERPRISE
          

      ์ธ์Šคํ„ด์Šค ์ด๋ฆ„์— ํ”„๋กœ์ ํŠธ ID๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋กœ๊ทธ ํŒŒ์ผ์—์„œ).

      Cloud SQL Enterprise ๋ฒ„์ „์˜ ๊ฒฝ์šฐ vCPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ ๊ฐ’์ด ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Cloud SQL Enterprise Plus ๋ฒ„์ „๊ณผ Cloud SQL Enterprise ๋ฒ„์ „ ์ค‘์—์„œ ์„ ํƒํ•˜๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

      ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ ๋ฌธ์ž์—ด์€ vCPU๊ฐ€ 2๊ฐœ ์žˆ๊ณ  ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 7,680MB์ธ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

          gcloud sql instances create myinstance \
          --database-version=SQLSERVER_2017_STANDARD \
          --region=us-central1 \
          --cpu=2 \
          --memory=7680MB \
          --root-password=EXAMPLE_PASSWORD \
          --edition=ENTERPRISE
          

      ์ƒ˜ํ”Œ ๊ฐ’์„ ๋ณด๋ ค๋ฉด ์ƒ˜ํ”Œ ๋จธ์‹  ์œ ํ˜•์„ ์ฐธ์กฐํ•˜์„ธ์š”.

      ์ธ์Šคํ„ด์Šค ์„ค์ •์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๊ด€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ gcloud sql instances create๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

      REGION์˜ ๊ธฐ๋ณธ๊ฐ’์€ us-central1์ž…๋‹ˆ๋‹ค.

      ์ธ์Šคํ„ด์Šค ์ด๋ฆ„์€ ์™ธ๋ถ€์— ๊ณต๊ฐœ๋˜๋ฏ€๋กœ ์ธ์Šคํ„ด์Šค ์ด๋ฆ„์— ๋ฏผ๊ฐํ•œ ์ •๋ณด๋‚˜ ๊ฐœ์ธ ์‹๋ณ„ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜์ง€ ๋งˆ์„ธ์š”.
      ์ธ์Šคํ„ด์Šค ์ด๋ฆ„์— ํ”„๋กœ์ ํŠธ ID๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋กœ๊ทธ ํŒŒ์ผ์—์„œ).

      ๊ณ ๊ฐ€์šฉ์„ฑ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ --zone ๋งค๊ฐœ๋ณ€์ˆ˜์™€ --secondary-zone ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ ์˜์—ญ๊ณผ ๋ณด์กฐ ์˜์—ญ์„ ๋ชจ๋‘ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๋Š” ๋™์•ˆ ๋ณด์กฐ ์˜์—ญ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋‹ค์Œ ์กฐ๊ฑด์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

      • ์˜์—ญ์ด ์œ ํšจํ•œ ์˜์—ญ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
      • ๋ณด์กฐ ์˜์—ญ์ด ์ง€์ •๋œ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์˜์—ญ๋„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
      • ๊ธฐ๋ณธ ์˜์—ญ๊ณผ ๋ณด์กฐ ์˜์—ญ์„ ์ง€์ •ํ•  ๊ฒฝ์šฐ ์„œ๋กœ ๋ณ„๋„์˜ ์˜์—ญ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
      • ๊ธฐ๋ณธ ์˜์—ญ๊ณผ ๋ณด์กฐ ์˜์—ญ์„ ์ง€์ •ํ•  ๊ฒฝ์šฐ ๋‘ ์˜์—ญ์ด ๊ฐ™์€ ๋ฆฌ์ „์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

      ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋” ์ถ”๊ฐ€ํ•˜์—ฌ ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค ์„ค์ •์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      ์„ค์ • ๋งค๊ฐœ๋ณ€์ˆ˜ ์ฐธ๊ณ 
      ํ•„์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜
      ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฒ„์ „ --database-version ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฒ„์ „์€ Cloud SQL ๋ฒ„์ „์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
      ์ง€์—ญ --region ์œ ํšจํ•œ ๊ฐ’ ์•Œ์•„๋ณด๊ธฐ
      ์—ฐ๊ฒฐ
      ๋น„๊ณต๊ฐœ IP --network

      --no-assign-ip(์„ ํƒ์‚ฌํ•ญ)

      --allocated-ip-range-name(์„ ํƒ์‚ฌํ•ญ)

      --enable-google-private-path(์„ ํƒ์‚ฌํ•ญ)

      --network: ์ด ์ธ์Šคํ„ด์Šค์— ์‚ฌ์šฉํ•  VPC ๋„คํŠธ์›Œํฌ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋น„๊ณต๊ฐœ ์„œ๋น„์Šค ์•ก์„ธ์Šค๊ฐ€ ์ด๋ฏธ ๋„คํŠธ์›Œํฌ์— ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฒ ํƒ€ ๋ช…๋ น์–ด(gcloud beta sql instances create)์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      --no-assign-ip: ์ธ์Šคํ„ด์Šค์— ๋น„๊ณต๊ฐœ IP ์ฃผ์†Œ๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค.

      --allocated-ip-range-name: ์ง€์ •ํ•˜๋ฉด IP ๋ฒ”์œ„๊ฐ€ ํ• ๋‹น๋˜๋Š” ๋ฒ”์œ„ ์ด๋ฆ„์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด google-managed-services-default์ž…๋‹ˆ๋‹ค. ๋ฒ”์œ„ ์ด๋ฆ„์€ RFC-1035๋ฅผ ์ค€์ˆ˜ํ•ด์•ผ ํ•˜๋ฉฐ 1~63(์˜๋ฌธ ๊ธฐ์ค€)์ž ์ด๋‚ด์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. (gcloud alpha sql instances create).

      ๊ณต๊ฐœ IP --authorized-networks ๊ณต๊ฐœ IP ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ ์Šน์ธ๋œ ๋„คํŠธ์›Œํฌ์˜ ์—ฐ๊ฒฐ๋งŒ ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์„œ๋ฒ„ CA ๋ชจ๋“œ --server-ca-mode

      --server-ca-mode ํ”Œ๋ž˜๊ทธ๋Š” ์ธ์Šคํ„ด์Šค์˜ ์„œ๋ฒ„ ์ธ์ฆ ๊ธฐ๊ด€(CA) ์œ ํ˜•์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

      • GOOGLE_MANAGED_INTERNAL_CA: ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค. ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ Cloud SQL ์ธ์Šคํ„ด์Šค ์ „์šฉ ๋‚ด๋ถ€ CA๊ฐ€ ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์˜ ์„œ๋ฒ„ ์ธ์ฆ์„œ์— ์„œ๋ช…ํ•ฉ๋‹ˆ๋‹ค.
      • GOOGLE_MANAGED_CAS_CA: ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด Cloud SQL์—์„œ ๊ด€๋ฆฌ๋˜๊ณ  Google Cloud Certificate Authority Service(CA ์„œ๋น„์Šค)์—์„œ ํ˜ธ์ŠคํŒ…๋˜๋Š” ๋ฃจํŠธ CA ๋ฐ ํ•˜์œ„ ์„œ๋ฒ„ CA๋กœ ๊ตฌ์„ฑ๋œ CA ๊ณ„์ธต ๊ตฌ์กฐ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฆฌ์ „์˜ ํ•˜์œ„ ์„œ๋ฒ„ CA๋Š” ์„œ๋ฒ„ ์ธ์ฆ์„œ์— ์„œ๋ช…ํ•˜๊ณ  ๋ฆฌ์ „์˜ ์ธ์Šคํ„ด์Šค ๊ฐ„์— ๊ณต์œ ๋ฉ๋‹ˆ๋‹ค.
      • CUSTOMER_MANAGED_CAS_CA: ์ด ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด CA ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๊ณ  CA ์ธ์ฆ์„œ ์ˆœํ™˜์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค์™€ ๋™์ผํ•œ ๋ฆฌ์ „์— ์žˆ๋Š” CA ์„œ๋น„์Šค์—์„œ CA ํ’€์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํ’€์˜ CA ์ค‘ ํ•˜๋‚˜๊ฐ€ ์„œ๋ฒ„ ์ธ์ฆ์„œ์— ์„œ๋ช…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ณ ๊ฐ ๊ด€๋ฆฌ CA ์‚ฌ์šฉ์„ ์ฐธ์กฐํ•˜์„ธ์š”.
      ๋จธ์‹  ์œ ํ˜• ๋ฐ ์Šคํ† ๋ฆฌ์ง€
      ๋จธ์‹  ์œ ํ˜• --tier
      ์Šคํ† ๋ฆฌ์ง€ ์œ ํ˜• --storage-type ์ธ์Šคํ„ด์Šค ์Šคํ† ๋ฆฌ์ง€ ์œ ํ˜•(SSD ๋˜๋Š” HDD)์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰ --storage-size ์ธ์Šคํ„ด์Šค์— ์ œ๊ณต๋œ ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰(GB)์ž…๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์ €์žฅ์šฉ๋Ÿ‰ ์ž๋™ ์ฆ๊ฐ€ --storage-auto-increase ์ธ์Šคํ„ด์Šค์— ์—ฌ์œ  ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•  ๋•Œ Cloud SQL์—์„œ ์ž๋™์œผ๋กœ ์ €์žฅ์šฉ๋Ÿ‰์„ ์ œ๊ณตํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์Šคํ† ๋ฆฌ์ง€ ์ž๋™ ์ฆ๊ฐ€ ํ•œ๋„ --storage-auto-increase-limit Cloud SQL์ด ์ž๋™์œผ๋กœ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๋Š” ์ •๋„๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฒ ํƒ€ ๋ช…๋ น์–ด(gcloud beta sql instances create)์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์ž๋™ ๋ฐฑ์—… ๋ฐ ๊ณ ๊ฐ€์šฉ์„ฑ
      ๊ณ ๊ฐ€์šฉ์„ฑ --availability-type ๊ณ ๊ฐ€์šฉ์„ฑ ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ REGIONAL๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ๋ณด์กฐ ์˜์—ญ --secondary-zone ๊ณ ๊ฐ€์šฉ์„ฑ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ --zone ๋ฐ --secondary-zone parameters๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ ์˜์—ญ๊ณผ ๋ณด์กฐ ์˜์—ญ์„ ๋ชจ๋‘ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๋Š” ๋™์•ˆ ๋ณด์กฐ ์˜์—ญ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋‹ค์Œ ์ œํ•œ ์‚ฌํ•ญ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
      • ์˜์—ญ์ด ์œ ํšจํ•œ ์˜์—ญ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
      • ๋ณด์กฐ ์˜์—ญ์ด ์ง€์ •๋œ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์˜์—ญ๋„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
      • ๊ธฐ๋ณธ ์˜์—ญ๊ณผ ๋ณด์กฐ ์˜์—ญ์„ ์ง€์ •ํ•  ๊ฒฝ์šฐ ์„œ๋กœ ๋ณ„๋„์˜ ์˜์—ญ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

        ๊ธฐ๋ณธ ์˜์—ญ๊ณผ ๋ณด์กฐ ์˜์—ญ์„ ์ง€์ •ํ•  ๊ฒฝ์šฐ ๋‘ ์˜์—ญ์ด ๊ฐ™์€ ๋ฆฌ์ „์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

      ์ž๋™ ๋ฐฑ์—… --backup-start-time ๋ฐฑ์—…์„ ์‹œ์ž‘ํ•  ์‹œ๊ฐ„.
      ์ž๋™ ๋ฐฑ์—… ๋ณด๊ด€ ์„ค์ • --retained-backups-count ๋ณด๊ด€ํ•  ์ž๋™ ๋ฐฑ์—… ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ ๋ณด๊ด€ ์„ค์ • --retained-transaction-log-days point-in-time recovery์˜ ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ๋ฅผ ๋ณด๊ด€ํ•  ์ผ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      point-in-time recovery --enable-point-in-time-recovery PITR(point-in-time recovery) ๋ฐ ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”Œ๋ž˜๊ทธ ์ถ”๊ฐ€
      ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”Œ๋ž˜๊ทธ --database-flags ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค์˜ ์„ค์ •๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”Œ๋ž˜๊ทธ ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์œ ์ง€๋ณด์ˆ˜ ์ผ์ •
      ์œ ์ง€๋ณด์ˆ˜ ๊ธฐ๊ฐ„ --maintenance-window-day,
      --maintenance-window-hour
      Cloud SQL์ด ์ธ์Šคํ„ด์Šค์— ๋ฐฉํ•ด๊ฐ€ ๋˜๋Š” ์œ ์ง€๋ณด์ˆ˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๊ธฐ๊ฐ„(1์‹œ๊ฐ„)์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๊ฐ„์„ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์„œ๋น„์Šค ์ค‘๋‹จ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์œ ์ง€๋ณด์ˆ˜ ์ž‘์—…์ด ์–ธ์ œ๋“ ์ง€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์œ ์ง€๋ณด์ˆ˜ ์‹œ์  --maintenance-release-channel ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ์˜ ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค์™€ ๋น„๊ตํ•˜์—ฌ ์„ ํ˜ธํ•˜๋Š” ์—…๋ฐ์ดํŠธ ์‹œ๊ฐ„์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ์—…๋ฐ์ดํŠธ์—๋Š” preview๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ดํ›„ ์—…๋ฐ์ดํŠธ์—๋Š” production์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
      ์ปค์Šคํ…€ SAN
      ์ปค์Šคํ…€ ์ฃผ์ฒด ๋Œ€์ฒด ์ด๋ฆ„(SAN) ์ถ”๊ฐ€ --custom-subject-alternative-names=DNS_NAMES

      IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  ์ปค์Šคํ…€ DNS ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ Cloud SQL ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค ๋•Œ ์ปค์Šคํ…€ ์ฃผ์ฒด ๋Œ€์ฒด ์ด๋ฆ„(SAN) ์„ค์ •์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ปค์Šคํ…€ SAN ์„ค์ •์— ์‚ฝ์ž…ํ•œ ์ปค์Šคํ…€ DNS ์ด๋ฆ„์ด ์ธ์Šคํ„ด์Šค ์„œ๋ฒ„ ์ธ์ฆ์„œ์˜ SAN ํ•„๋“œ์— ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๊ฒ€์ฆ๊ณผ ํ•จ๊ป˜ ์ปค์Šคํ…€ DNS ์ด๋ฆ„์„ ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      ํด๋ผ์ด์–ธํŠธ์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ปค์Šคํ…€ DNS ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋จผ์ € DNS ์ด๋ฆ„๊ณผ IP ์ฃผ์†Œ ์‚ฌ์ด์— ๋งคํ•‘์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ DNS ๋ณ€ํ™˜์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ปค์Šคํ…€ SAN ์„ค์ •์— ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ์ปค์Šคํ…€ DNS ์ด๋ฆ„ ๋ชฉ๋ก์„ ์ตœ๋Œ€ 3๊ฐœ๊นŒ์ง€ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    3. ์ž๋™ ํ• ๋‹น๋œ IP ์ฃผ์†Œ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

      Cloud SQL ์ธ์ฆ ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ด ์ฃผ์†Œ๋ฅผ ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋˜๋Š” ๋„๊ตฌ์—์„œ ์ธ์Šคํ„ด์Šค๋กœ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

    4. ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
            gcloud sql users set-password sqlserver no-host --instance=[INSTANCE_NAME] \
             --password=[PASSWORD]
            

    Terraform

    ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด Terraform ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    resource "google_sql_database_instance" "instance" {
      name             = "sqlserver-instance"
      region           = "us-central1"
      database_version = "SQLSERVER_2019_STANDARD"
      root_password    = "INSERT-PASSWORD-HERE"
      settings {
        tier = "db-custom-2-7680"
      }
      # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
      # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
      deletion_protection = false
    }

    ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ ์šฉ

    ํ”„๋กœ์ ํŠธ์— Terraform ๊ตฌ์„ฑ์„ ์ ์šฉํ•˜๋ ค๋ฉด Google Cloud ๋‹ค์Œ ์„น์…˜์˜ ๋‹จ๊ณ„๋ฅผ ์™„๋ฃŒํ•˜์„ธ์š”.

    Cloud Shell ์ค€๋น„

    1. Cloud Shell์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    2. Terraform ๊ตฌ์„ฑ์„ ์ ์šฉํ•  ๊ธฐ๋ณธ Google Cloud ํ”„๋กœ์ ํŠธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

      ์ด ๋ช…๋ น์–ด๋Š” ํ”„๋กœ์ ํŠธ๋‹น ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰ํ•˜๋ฉด ๋˜๋ฉฐ ์–ด๋–ค ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ๋„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      export GOOGLE_CLOUD_PROJECT=PROJECT_ID

      Terraform ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ๋ช…์‹œ์  ๊ฐ’์„ ์„ค์ •ํ•˜๋ฉด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์žฌ์ •์˜๋ฉ๋‹ˆ๋‹ค.

    ๋””๋ ‰ํ„ฐ๋ฆฌ ์ค€๋น„

    ๊ฐ Terraform ๊ตฌ์„ฑ ํŒŒ์ผ์—๋Š” ์ž์ฒด ๋””๋ ‰ํ„ฐ๋ฆฌ(๋ฃจํŠธ ๋ชจ๋“ˆ์ด๋ผ๊ณ ๋„ ํ•จ)๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    1. Cloud Shell์—์„œ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ํ•ด๋‹น ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด์— ์ƒˆ ํŒŒ์ผ์„ ๋งŒ๋“œ์„ธ์š”. ํŒŒ์ผ ์ด๋ฆ„์—๋Š” .tf ํ™•์žฅ์ž๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: main.tf). ์ด ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” ํŒŒ์ผ์„ main.tf๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
      mkdir DIRECTORY && cd DIRECTORY && touch main.tf
    2. ํŠœํ† ๋ฆฌ์–ผ์„ ๋”ฐ๋ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ ์„น์…˜์ด๋‚˜ ๋‹จ๊ณ„์—์„œ ์ƒ˜ํ”Œ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      ์ƒ˜ํ”Œ ์ฝ”๋“œ๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“  main.tf์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.

      ํ•„์š”ํ•œ ๊ฒฝ์šฐ GitHub์—์„œ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Terraform ์Šค๋‹ˆํŽซ์ด ์—”๋“œ ํˆฌ ์—”๋“œ ์†”๋ฃจ์…˜์˜ ์ผ๋ถ€์ธ ๊ฒฝ์šฐ์— ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

    3. ํ™˜๊ฒฝ์— ์ ์šฉํ•  ์ƒ˜ํ”Œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ  ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.
    4. ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
    5. Terraform์„ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…์€ ๋””๋ ‰ํ„ฐ๋ฆฌ๋‹น ํ•œ ๋ฒˆ๋งŒ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
      terraform init

      ์›ํ•˜๋Š” ๊ฒฝ์šฐ ์ตœ์‹  Google ๊ณต๊ธ‰์—…์ฒด ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด -upgrade ์˜ต์…˜์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

      terraform init -upgrade

    ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ ์šฉ

    1. ๊ตฌ์„ฑ์„ ๊ฒ€ํ† ํ•˜๊ณ  Terraform์—์„œ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•  ๋ฆฌ์†Œ์Šค๊ฐ€ ์˜ˆ์ƒ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
      terraform plan

      ํ•„์š”์— ๋”ฐ๋ผ ๊ตฌ์„ฑ์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

    2. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ํ”„๋กฌํ”„ํŠธ์— yes๋ฅผ ์ž…๋ ฅํ•˜์—ฌ Terraform ๊ตฌ์„ฑ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
      terraform apply

      Terraform์— '์ ์šฉ ์™„๋ฃŒ' ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค.

    3. ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ ค๋ฉด Google Cloud ํ”„๋กœ์ ํŠธ๋ฅผ ์—ฝ๋‹ˆ๋‹ค. Google Cloud ์ฝ˜์†”์—์„œ UI์˜ ๋ฆฌ์†Œ์Šค๋กœ ์ด๋™ํ•˜์—ฌ Terraform์ด ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“ค์—ˆ๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ–ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    ๋ณ€๊ฒฝ์‚ฌํ•ญ ์‚ญ์ œ

    ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์‚ญ์ œํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

    1. Terraform ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ์‚ญ์ œ ๋ณดํ˜ธ๋ฅผ ์‚ฌ์šฉ ์ค‘์ง€ํ•˜๋ ค๋ฉด deletion_protection ์ธ์ˆ˜๋ฅผ false๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
      deletion_protection =  "false"
    2. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ํ”„๋กฌํ”„ํŠธ์— yes๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์—…๋ฐ์ดํŠธ๋œ Terraform ๊ตฌ์„ฑ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
      terraform apply
    1. ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ํ”„๋กฌํ”„ํŠธ์— yes๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ์ด์ „์— Terraform ๊ตฌ์„ฑ์— ์ ์šฉ๋œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

      terraform destroy

    REST v1

    1. ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ

    ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ํ•„๋“œ๊ฐ€ ๋‹ค์Œ ๊ธฐ๋ณธ API ํ˜ธ์ถœ์— ํ‘œ์‹œ๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. JSON ์š”์ฒญ์˜ ํ”„๋กœํ† ํƒ€์ž…์€ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    Instances:insert ํŽ˜์ด์ง€๋„ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ฆฌ์ „์— ๋”ฐ๋ฅธ ์œ ํšจ๊ฐ’์„ ํฌํ•จํ•œ ์ธ์Šคํ„ด์Šค ์„ค์ •์€ ์ธ์Šคํ„ด์Šค ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”. ๋จธ์‹  ์œ ํ˜•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปค์Šคํ…€ ์ธ์Šคํ„ด์Šค ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    instance-id๋Š” ์™ธ๋ถ€์— ๊ณต๊ฐœ๋˜๋ฏ€๋กœ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋‚˜ ๊ฐœ์ธ ์‹๋ณ„ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜์ง€ ๋งˆ์„ธ์š”.

    ์ธ์Šคํ„ด์Šค ์ด๋ฆ„์— ํ”„๋กœ์ ํŠธ ID๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋กœ๊ทธ ํŒŒ์ผ์—์„œ).

    collation ํ•„๋“œ(๋‹ค์Œ ๊ธฐ๋ณธ API ํ˜ธ์ถœ์—๋Š” ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ธ์Šคํ„ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‚ฌ์šฉ๋˜๋Š” ์ฝœ๋ ˆ์ด์…˜ ์œ ํ˜•์˜ ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ ์ •๋ ฌ ๊ธฐ๋ณธ๊ฐ’์€ ์ธ์Šคํ„ด์Šค ์ˆ˜์ค€์—์„œ๋Š” ์˜๊ตฌ์ ์ด์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€์—์„œ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๊ธฐ๋ณธ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ƒ์„ฑ ๋˜๋Š” ์—…๋ฐ์ดํŠธ ์ค‘์ธ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ฒฝ์šฐ์—๋งŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค์ง€ ์•Š๋Š” ํ•œ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“  ํ›„์—๋Š” ์ธ์Šคํ„ด์Šค์˜ ๊ธฐ๋ณธ ์ฝœ๋ ˆ์ด์…˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. SQL Server์˜ ์ฝœ๋ ˆ์ด์…˜์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ฝœ๋ ˆ์ด์…˜ ๋ฐ ์œ ๋‹ˆ์ฝ”๋“œ ์ง€์›์„ ์ฐธ์กฐํ•˜์„ธ์š”. JSON ์š”์ฒญ์˜ ํ”„๋กœํ† ํƒ€์ž…์€ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”. collation ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ˆ์‹œ ๋ฌธ์ž์—ด์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SQL_Latin1_General_CP1_CI_AS

    timeZone ํ•„๋“œ(๋‹ค์Œ ๊ธฐ๋ณธ API ํ˜ธ์ถœ์—๋Š” ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ธ์Šคํ„ด์Šค์˜ ์‹œ๊ฐ„๋Œ€๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“  ํ›„์— ์ธ์Šคํ„ด์Šค์˜ ์‹œ๊ฐ„๋Œ€๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ๊ณผ ํ—ˆ์šฉ๋˜๋Š” ๋ฌธ์ž์—ด ๋ชฉ๋ก์€ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”. timeZone ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ˆ์‹œ ๋ฌธ์ž์—ด์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: "Pacific Standard Time" ๋”๋ณด๊ธฐ

    ๊ด€๋ฆฌํ˜• Microsoft AD์™€ ํ†ตํ•ฉ๋˜๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด domain ํ•„๋“œ์— subdomain.mydomain.com๊ณผ ๊ฐ™์€ ๋„๋ฉ”์ธ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Windows ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ๋˜ํ•œ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์—์„œ ๊ด€๋ฆฌํ˜• Microsoft AD ๋„๋ฉ”์ธ๊ณผ ํ†ตํ•ฉํ•˜๊ธฐ ์œ„ํ•œ ์ ˆ์ฐจ ๋ฐ ์ œ์•ฝ์กฐ๊ฑด์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    ์š”์ฒญ ๋ณธ๋ฌธ์—์„œ machine-type ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ปค์Šคํ…€ ์ธ์Šคํ„ด์Šค ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • PROJECT_ID: ํ”„๋กœ์ ํŠธ ID์ž…๋‹ˆ๋‹ค.
    • INSTANCE_ID: ์ธ์Šคํ„ด์Šค ID์ž…๋‹ˆ๋‹ค.
    • REGION: ๋ฆฌ์ „ ์ด๋ฆ„
    • DATABASE_VERSION: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฒ„์ „์˜ enum ๋ฌธ์ž์—ด. ์˜ˆ๋ฅผ ๋“ค๋ฉด SQLSERVER_2017_STANDARD์ž…๋‹ˆ๋‹ค.
    • PASSWORD: root ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ
    • MACHINE_TYPE: ๋จธ์‹  (๋“ฑ๊ธ‰) ์œ ํ˜•์˜ enum ๋ฌธ์ž์—ด. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
      db-perf-optimized-N-4
    • EDITION_TYPE: Cloud SQL ๋ฒ„์ „. ๊ธฐ๋ณธ๊ฐ’์€ ENTERPRISE์ž…๋‹ˆ๋‹ค.
    • DATA_CACHE_ENABLED: (์„ ํƒ์‚ฌํ•ญ) ์ธ์Šคํ„ด์Šค์— ๋ฐ์ดํ„ฐ ์บ์‹œ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด ์ด ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐ’์„ true๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    • PRIVATE_NETWORK: ์ด ์ธ์Šคํ„ด์Šค์— ์‚ฌ์šฉํ•˜๋ ค๋Š” Virtual Private Cloud(VPC) ๋„คํŠธ์›Œํฌ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋น„๊ณต๊ฐœ ์„œ๋น„์Šค ์•ก์„ธ์Šค๊ฐ€ ์ด๋ฏธ ๋„คํŠธ์›Œํฌ์— ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • AUTHORIZED_NETWORKS: ๊ณต๊ฐœ IP ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์Šน์ธ๋œ ๋„คํŠธ์›Œํฌ์˜ ์—ฐ๊ฒฐ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    • CA_MODE: ์ธ์Šคํ„ด์Šค์˜ ์ธ์ฆ ๊ธฐ๊ด€ ๊ณ„์ธต ๊ตฌ์กฐ(GOOGLE_MANAGED_INTERNAL_CA ๋˜๋Š” GOOGLE_MANAGED_CAS_CA)๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. serverCaMode๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ ๊ตฌ์„ฑ์€ GOOGLE_MANAGED_INTERNAL_CA์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ํ”„๋ฆฌ๋ทฐ ๋ฒ„์ „์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
    • DNS_NAMES: Cloud SQL ์ธ์Šคํ„ด์Šค์˜ ์„œ๋ฒ„ ์ธ์ฆ์„œ์— ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ DNS ์ด๋ฆ„ ๋ชฉ๋ก์„ ์ตœ๋Œ€ 3๊ฐœ๊นŒ์ง€ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ผ ์ธ์ฆ์„œ๋กœ ์—ฌ๋Ÿฌ DNS ์ด๋ฆ„์„ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ํ”„๋ฆฌ๋ทฐ ๋ฒ„์ „์œผ๋กœ ์ œ๊ณต๋˜๊ณ  CUSTOMER_MANAGED_CAS_CA ์ธ์Šคํ„ด์Šค์—๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    HTTP ๋ฉ”์„œ๋“œ ๋ฐ URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

    JSON ์š”์ฒญ ๋ณธ๋ฌธ:

    {
      "name": "INSTANCE_ID",
      "region": "REGION",
      "databaseVersion": "DATABASE_VERSION",
      "rootPassword": "PASSWORD",
      "settings": {
        "tier": "MACHINE_TYPE",
        "edition": "EDITION_TYPE",
        "backupConfiguration": {
          "enabled": true
        },
        "dataCacheConfig": {
          "dataCacheEnabled": DATA_CACHE_ENABLED
        },
        "ipConfiguration": {
          "privateNetwork": "PRIVATE_NETWORK",
          "authorizedNetworks": [AUTHORIZED_NETWORKS],
          "ipv4Enabled": false,
          "serverCaMode": "CA_MODE",
          "customSubjectAlternativeNames": "DNS_NAMES"
        }
      }
    }
    

    ์š”์ฒญ์„ ๋ณด๋‚ด๋ ค๋ฉด ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ํŽผ์นฉ๋‹ˆ๋‹ค.

    ๋‹ค์Œ๊ณผ ๋น„์Šทํ•œ JSON ์‘๋‹ต์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

    {
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
      "status": "PENDING",
      "user": "user@example.com",
      "insertTime": "2020-01-01T19:13:21.834Z",
      "operationType": "CREATE",
      "name": "OPERATION_ID",
      "targetId": "INSTANCE_ID",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
    }
    

    ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    2. ์ธ์Šคํ„ด์Šค์˜ IPv4 ์ฃผ์†Œ ๊ฒ€์ƒ‰

    ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ํ• ๋‹น๋œ IPv4 ์ฃผ์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ฃผ์†Œ๋Š” ์‘๋‹ต์˜ ipAddress ํ•„๋“œ์— ์žˆ์Šต๋‹ˆ๋‹ค.

    ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • PROJECT_ID: ํ”„๋กœ์ ํŠธ ID์ž…๋‹ˆ๋‹ค.
    • INSTANCE_ID: ์ด์ „ ๋‹จ๊ณ„์—์„œ ์ƒ์„ฑํ•œ ์ธ์Šคํ„ด์Šค ID์ž…๋‹ˆ๋‹ค.

    HTTP ๋ฉ”์„œ๋“œ ๋ฐ URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

    ์š”์ฒญ์„ ๋ณด๋‚ด๋ ค๋ฉด ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ํŽผ์นฉ๋‹ˆ๋‹ค.

    ๋‹ค์Œ๊ณผ ๋น„์Šทํ•œ JSON ์‘๋‹ต์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

    {
      "kind": "sql#instance",
      "state": "RUNNABLE",
      "databaseVersion": "DATABASE_VERSION",
      "settings": {
        "authorizedGaeApplications": [],
        "tier": "MACHINE_TYPE",
        "kind": "sql#settings",
        "pricingPlan": "PER_USE",
        "replicationType": "SYNCHRONOUS",
        "activationPolicy": "ALWAYS",
        "ipConfiguration": {
          "authorizedNetworks": [],
          "ipv4Enabled": true
        },
        "locationPreference": {
          "zone": "ZONE",
          "kind": "sql#locationPreference"
        },
        "dataDiskType": "PD_SSD",
        "backupConfiguration": {
          "startTime": "19:00",
          "kind": "sql#backupConfiguration",
          "enabled": true
        },
        "settingsVersion": "1",
        "dataDiskSizeGb": "10"
      },
      "etag": "--redacted--",
      "ipAddresses": [
        {
          "type": "PRIMARY",
          "ipAddress": "10.0.0.1"
        }
      ],
      "serverCaCert": {
        ...
      },
      "instanceType": "CLOUD_SQL_INSTANCE",
      "project": "PROJECT_ID",
      "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com",
      "backendType": "BACKEND_TYPE",
      "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
      "connectionName": "PROJECT_ID:REGION:INSTANCE_ID",
      "name": "INSTANCE_ID",
      "region": "REGION",
      "gceZone": "ZONE"
    }
    

    REST v1beta4

    1. ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ

    ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ํ•„๋“œ๊ฐ€ ๋‹ค์Œ ๊ธฐ๋ณธ API ํ˜ธ์ถœ์— ํ‘œ์‹œ๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. JSON ์š”์ฒญ์˜ ํ”„๋กœํ† ํƒ€์ž…์€ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    Instances:insert ํŽ˜์ด์ง€๋„ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ฆฌ์ „์— ๋”ฐ๋ฅธ ์œ ํšจ๊ฐ’์„ ํฌํ•จํ•œ ์ธ์Šคํ„ด์Šค ์„ค์ •์€ ์ธ์Šคํ„ด์Šค ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”. ๋จธ์‹  ์œ ํ˜•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปค์Šคํ…€ ์ธ์Šคํ„ด์Šค ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    instance-id๋Š” ์™ธ๋ถ€์— ๊ณต๊ฐœ๋˜๋ฏ€๋กœ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋‚˜ ๊ฐœ์ธ ์‹๋ณ„ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜์ง€ ๋งˆ์„ธ์š”.

    ์ธ์Šคํ„ด์Šค ์ด๋ฆ„์— ํ”„๋กœ์ ํŠธ ID๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋กœ๊ทธ ํŒŒ์ผ์—์„œ).

    collation ํ•„๋“œ(๋‹ค์Œ ๊ธฐ๋ณธ API ํ˜ธ์ถœ์—๋Š” ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ธ์Šคํ„ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‚ฌ์šฉ๋˜๋Š” ์ฝœ๋ ˆ์ด์…˜ ์œ ํ˜•์˜ ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ฝœ๋ ˆ์ด์…˜ ๊ธฐ๋ณธ๊ฐ’์€ ์ธ์Šคํ„ด์Šค ์ˆ˜์ค€์—์„œ๋Š” ์˜๊ตฌ์ ์ด์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€์—์„œ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๊ธฐ๋ณธ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ƒ์„ฑ ๋˜๋Š” ์—…๋ฐ์ดํŠธ ์ค‘์ธ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ฒฝ์šฐ์—๋งŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค์ง€ ์•Š๋Š” ํ•œ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“  ํ›„์—๋Š” ์ธ์Šคํ„ด์Šค์˜ ๊ธฐ๋ณธ ์ฝœ๋ ˆ์ด์…˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. SQL Server์˜ ์ฝœ๋ ˆ์ด์…˜์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ฝœ๋ ˆ์ด์…˜ ๋ฐ ์œ ๋‹ˆ์ฝ”๋“œ ์ง€์›์„ ์ฐธ์กฐํ•˜์„ธ์š”. JSON ์š”์ฒญ์˜ ํ”„๋กœํ† ํƒ€์ž…์€ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”. collation ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ˆ์‹œ ๋ฌธ์ž์—ด์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SQL_Latin1_General_CP1_CI_AS

    timeZone ํ•„๋“œ(๋‹ค์Œ ๊ธฐ๋ณธ API ํ˜ธ์ถœ์—๋Š” ํ‘œ์‹œ๋˜์ง€ ์•Š์Œ)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ธ์Šคํ„ด์Šค์˜ ์‹œ๊ฐ„๋Œ€๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“  ํ›„์— ์ธ์Šคํ„ด์Šค์˜ ์‹œ๊ฐ„๋Œ€๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ๊ณผ ํ—ˆ์šฉ๋˜๋Š” ๋ฌธ์ž์—ด ๋ชฉ๋ก์€ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”. timeZone ํ•„๋“œ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ˆ์‹œ ๋ฌธ์ž์—ด์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "Pacific Standard Time" ๋”๋ณด๊ธฐ

    ๊ด€๋ฆฌํ˜• Microsoft AD์™€ ํ†ตํ•ฉ๋˜๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด domain ํ•„๋“œ์— subdomain.mydomain.com๊ณผ ๊ฐ™์€ ๋„๋ฉ”์ธ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Windows ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ๋˜ํ•œ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์—์„œ ๊ด€๋ฆฌํ˜• Microsoft AD ๋„๋ฉ”์ธ๊ณผ ํ†ตํ•ฉํ•˜๊ธฐ ์œ„ํ•œ ์ ˆ์ฐจ ๋ฐ ์ œ์•ฝ์กฐ๊ฑด์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    ์š”์ฒญ ๋ณธ๋ฌธ์—์„œ machine-type ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ปค์Šคํ…€ ์ธ์Šคํ„ด์Šค ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • PROJECT_ID: ํ”„๋กœ์ ํŠธ ID์ž…๋‹ˆ๋‹ค.
    • INSTANCE_ID: ์ธ์Šคํ„ด์Šค ID์ž…๋‹ˆ๋‹ค.
    • REGION: ๋ฆฌ์ „ ์ด๋ฆ„
    • DATABASE_VERSION: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฒ„์ „์˜ enum ๋ฌธ์ž์—ด.
    • MACHINE_TYPE: ๋จธ์‹  (๋“ฑ๊ธ‰) ์œ ํ˜•์˜ enum ๋ฌธ์ž์—ด. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
      db-perf-optimized-N-4
    • PASSWORD: root ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ
    • MACHINE_TYPE : db-custom-[CPUS]-[MEMORY_MBS]์™€ ๊ฐ™์€ ๋จธ์‹  (๋“ฑ๊ธ‰) ์œ ํ˜•์˜ enum ๋ฌธ์ž์—ด.
    • EDITION_TYPE: Cloud SQL ๋ฒ„์ „. ๊ธฐ๋ณธ๊ฐ’์€ ENTERPRISE์ž…๋‹ˆ๋‹ค.
    • DATA_CACHE_ENABLED: (์„ ํƒ์‚ฌํ•ญ) ์ธ์Šคํ„ด์Šค์— ๋ฐ์ดํ„ฐ ์บ์‹œ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด ์ด ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐ’์„ true๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
    • PRIVATE_NETWORK: ์ด ์ธ์Šคํ„ด์Šค์— ์‚ฌ์šฉํ•˜๋ ค๋Š” Virtual Private Cloud(VPC) ๋„คํŠธ์›Œํฌ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋น„๊ณต๊ฐœ ์„œ๋น„์Šค ์•ก์„ธ์Šค๊ฐ€ ์ด๋ฏธ ๋„คํŠธ์›Œํฌ์— ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • AUTHORIZED_NETWORKS: ๊ณต๊ฐœ IP ์—ฐ๊ฒฐ์˜ ๊ฒฝ์šฐ ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์Šน์ธ๋œ ๋„คํŠธ์›Œํฌ์˜ ์—ฐ๊ฒฐ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    • CA_MODE: ์ธ์Šคํ„ด์Šค์˜ ์ธ์ฆ ๊ธฐ๊ด€ ๊ณ„์ธต ๊ตฌ์กฐ(GOOGLE_MANAGED_INTERNAL_CA ๋˜๋Š” GOOGLE_MANAGED_CAS_CA)๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. serverCaMode๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ ๊ตฌ์„ฑ์€ GOOGLE_MANAGED_INTERNAL_CA์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ํ”„๋ฆฌ๋ทฐ ๋ฒ„์ „์œผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
    • DNS_NAMES: Cloud SQL ์ธ์Šคํ„ด์Šค์˜ ์„œ๋ฒ„ ์ธ์ฆ์„œ์— ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ DNS ์ด๋ฆ„ ๋ชฉ๋ก์„ ์ตœ๋Œ€ 3๊ฐœ๊นŒ์ง€ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ผ ์ธ์ฆ์„œ๋กœ ์—ฌ๋Ÿฌ DNS ์ด๋ฆ„์„ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ํ”„๋ฆฌ๋ทฐ ๋ฒ„์ „์œผ๋กœ ์ œ๊ณต๋˜๊ณ  CUSTOMER_MANAGED_CAS_CA ์ธ์Šคํ„ด์Šค์—๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

    HTTP ๋ฉ”์„œ๋“œ ๋ฐ URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances

    JSON ์š”์ฒญ ๋ณธ๋ฌธ:

    {
      "name": "INSTANCE_ID",
      "region": "REGION",
      "databaseVersion": "DATABASE_VERSION",
      "rootPassword": "PASSWORD",
      "settings": {
        "tier": "MACHINE_TYPE",
        "edition": "EDITION_TYPE",
        "backupConfiguration": {
          "enabled": true
        },
        "dataCacheConfig": {
          "dataCacheEnabled": DATA_CACHE_ENABLED
        },
        "ipConfiguration": {
          "privateNetwork": "PRIVATE_NETWORK",
          "authorizedNetworks": [AUTHORIZED_NETWORKS],
          "ipv4Enabled": false,
          "serverCaMode": "CA_MODE",
          "customSubjectAlternativeNames": "DNS_NAMES"
        }
      }
    }
    

    ์š”์ฒญ์„ ๋ณด๋‚ด๋ ค๋ฉด ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ํŽผ์นฉ๋‹ˆ๋‹ค.

    ๋‹ค์Œ๊ณผ ๋น„์Šทํ•œ JSON ์‘๋‹ต์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

    {
      "kind": "sql#operation",
      "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
      "status": "PENDING",
      "user": "user@example.com",
      "insertTime": "2020-01-01T19:13:21.834Z",
      "operationType": "CREATE",
      "name": "OPERATION_ID",
      "targetId": "INSTANCE_ID",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
      "targetProject": "PROJECT_ID"
    }
    

    ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    2. ์ธ์Šคํ„ด์Šค์˜ IPv4 ์ฃผ์†Œ ๊ฒ€์ƒ‰

    ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ํ• ๋‹น๋œ IPv4 ์ฃผ์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ฃผ์†Œ๋Š” ์‘๋‹ต์˜ ipAddress ํ•„๋“œ์— ์žˆ์Šต๋‹ˆ๋‹ค.

    ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • PROJECT_ID: ํ”„๋กœ์ ํŠธ ID์ž…๋‹ˆ๋‹ค.
    • INSTANCE_ID: ์ด์ „ ๋‹จ๊ณ„์—์„œ ์ƒ์„ฑํ•œ ์ธ์Šคํ„ด์Šค ID์ž…๋‹ˆ๋‹ค.

    HTTP ๋ฉ”์„œ๋“œ ๋ฐ URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

    ์š”์ฒญ์„ ๋ณด๋‚ด๋ ค๋ฉด ๋‹ค์Œ ์˜ต์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ํŽผ์นฉ๋‹ˆ๋‹ค.

    ๋‹ค์Œ๊ณผ ๋น„์Šทํ•œ JSON ์‘๋‹ต์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

    {
      "kind": "sql#instance",
      "state": "RUNNABLE",
      "databaseVersion": "DATABASE_VERSION",
      "settings": {
        "authorizedGaeApplications": [],
        "tier": "MACHINE_TYPE",
        "kind": "sql#settings",
        "pricingPlan": "PER_USE",
        "replicationType": "SYNCHRONOUS",
        "activationPolicy": "ALWAYS",
        "ipConfiguration": {
          "authorizedNetworks": [],
          "ipv4Enabled": true
        },
        "locationPreference": {
          "zone": "ZONE",
          "kind": "sql#locationPreference"
        },
        "dataDiskType": "PD_SSD",
        "backupConfiguration": {
          "startTime": "19:00",
          "kind": "sql#backupConfiguration",
          "enabled": true
        },
        "settingsVersion": "1",
        "dataDiskSizeGb": "10"
      },
      "etag": "--redacted--",
      "ipAddresses": [
        {
          "type": "PRIMARY",
          "ipAddress": "10.0.0.1"
        }
      ],
      "serverCaCert": {
        ...
      },
      "instanceType": "CLOUD_SQL_INSTANCE",
      "project": "PROJECT_ID",
      "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com",
      "backendType": "BACKEND_TYPE",
      "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
      "connectionName": "PROJECT_ID:REGION:INSTANCE_ID",
      "name": "INSTANCE_ID",
      "region": "REGION",
      "gceZone": "ZONE"
    }
    
    ์ด ์ž‘์—…์— ์ ํ•ฉํ•œ ๊ธฐ๋ณธ REST API ์š”์ฒญ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ instances:insert ํŽ˜์ด์ง€์˜ API ํƒ์ƒ‰๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

    ์“ฐ๊ธฐ ์—”๋“œํฌ์ธํŠธ ์ƒ์„ฑ

    ์“ฐ๊ธฐ ์—”๋“œํฌ์ธํŠธ๋Š” ํ˜„์žฌ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์˜ IP ์ฃผ์†Œ๋กœ ์ž๋™ ํ™•์ธ๋˜๋Š” ์ „์—ญ ๋„๋ฉ”์ธ ์ด๋ฆ„ ์„œ๋น„์Šค(DNS) ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ด ์—”๋“œํฌ์ธํŠธ๋Š” ๋ณต์ œ๋ณธ ์žฅ์•  ์กฐ์น˜ ๋˜๋Š” ์ „ํ™˜ ์ž‘์—… ์‹œ ๋“ค์–ด์˜ค๋Š” ์—ฐ๊ฒฐ์„ ์ƒˆ๋กœ์šด ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๋กœ ์ž๋™ ๋ฆฌ๋””๋ ‰์…˜ํ•ฉ๋‹ˆ๋‹ค. IP ์ฃผ์†Œ ๋Œ€์‹  SQL ์—ฐ๊ฒฐ ๋ฌธ์ž์—ด์—์„œ ์“ฐ๊ธฐ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์“ฐ๊ธฐ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฆฌ์ „ ์„œ๋น„์Šค ์ค‘๋‹จ์ด ๋ฐœ์ƒํ•  ๋•Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—ฐ๊ฒฐ์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

    ์“ฐ๊ธฐ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์“ฐ๊ธฐ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    ์ปค์Šคํ…€ ์ธ์Šคํ„ด์Šค ๊ตฌ์„ฑ

    ์ปค์Šคํ…€ ์ธ์Šคํ„ด์Šค ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ธ์Šคํ„ด์Šค์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์™€ CPU์˜ ์šฉ๋Ÿ‰์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์œ ์—ฐ์„ฑ ๋•๋ถ„์— ์›Œํฌ๋กœ๋“œ์— ์ ํ•ฉํ•œ VM ํ˜•ํƒœ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋จธ์‹  ์œ ํ˜• ๊ฐ€์šฉ์„ฑ์€ SQL Server์šฉ Cloud SQL ๋ฒ„์ „์— ๋”ฐ๋ผ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

    ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ์›Œํฌ๋กœ๋“œ์˜ ๊ฒฝ์šฐ ์ธ์Šคํ„ด์Šค์— ์ „์ฒด ์ž‘์—… ์„ธํŠธ๋ฅผ ํฌํ•จํ•  ๋งŒํผ ์ถฉ๋ถ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ๊ทธ๋Ÿฌ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ์š”๊ตฌ์‚ฌํ•ญ์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ์š”์ธ(์˜ˆ: ํ™œ์„ฑ ์—ฐ๊ฒฐ ์ˆ˜ ๋ฐ ๋‚ด๋ถ€ ์˜ค๋ฒ„ํ—ค๋“œ ํ”„๋กœ์„ธ์Šค)๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ์„ฑ๋Šฅ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    ์ธ์Šคํ„ด์Šค๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ ์›Œํฌ๋กœ๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ์™€ vCPU๋ฅผ ์„ ํƒํ•˜๊ณ  ์›Œํฌ๋กœ๋“œ๊ฐ€ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์„ธ์š”. vCPU๊ฐ€ ๋ถ€์กฑํ•œ ๋จธ์‹  ๊ตฌ์„ฑ์—๋Š” SLA๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์šด์˜ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

    Cloud SQL Enterprise ๋ฒ„์ „ ์ธ์Šคํ„ด์Šค์˜ ๋จธ์‹  ์œ ํ˜•

    Cloud SQL Enterprise ๋ฒ„์ „ ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ gcloud sql instances create ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค์Šคํ…€ ์ธ์Šคํ„ด์Šค ๊ตฌ์„ฑ์„ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

    ๋จธ์‹  ์œ ํ˜• ์ด๋ฆ„์€ ๋‹ค์Œ ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. db-custom-NUMBER_OF_vCPUs-MEMORY

    NUMBER_OF_vCPUs๋ฅผ ๋จธ์‹ ์˜ CPU ์ˆ˜๋กœ, MEMORY๋ฅผ ๋จธ์‹ ์˜ ๋ฉ”๋ชจ๋ฆฌ ์–‘์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค์–ด ๋จธ์‹  ์ด๋ฆ„์ด db-custom์ด๊ณ  ๋จธ์‹ ์— 1๊ฐœ์˜ CPU์™€ 3,840MB์˜ RAM์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋จธ์‹  ํ˜•์‹์€ db-custom-1-3840์ž…๋‹ˆ๋‹ค.

    CPU ์ˆ˜ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์–‘์„ ์„ ํƒํ•  ๋•Œ ์„ ํƒํ•œ ๊ตฌ์„ฑ์— ๋‹ค์Œ ์ œํ•œ์‚ฌํ•ญ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

    • ์ธ์Šคํ„ด์Šค์— ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” vCPU ์ˆ˜๋Š” SQL ์„œ๋ฒ„ ๋ฒ„์ „์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.
    • vCPU ์ˆ˜๋Š” 1 ๋˜๋Š” 2~96 ์‚ฌ์ด์˜ ์ง์ˆ˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.
      • vCPU๋‹น 0.9~6.5GB
      • 256MB์˜ ๋ฐฐ์ˆ˜
      • ์ตœ์†Œ 3.75GB(3,840MB)

    Cloud SQL Enterprise Plus ๋ฒ„์ „ ์ธ์Šคํ„ด์Šค์˜ ๋จธ์‹  ์œ ํ˜•

    Cloud SQL Enterprise Plus ๋ฒ„์ „ ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ ๋จธ์‹  ์œ ํ˜•์€ ๋‹ค์Œ ์„น์…˜์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์‚ฌ์ „ ์ •์˜๋ฉ๋‹ˆ๋‹ค.

    ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋จธ์‹  ๊ณ„์—ด

    ์ด ๋จธ์‹  ๊ณ„์—ด์€ ๋ฉ”๋ชจ๋ฆฌ ๋Œ€ ์ปดํ“จํŒ… ๋น„์œจ์ด vCPU 1๊ฐœ:8GB RAM์œผ๋กœ ๋‹ค์–‘ํ•œ SQL Server ์›Œํฌ๋กœ๋“œ์— ๊ท ํ˜• ์žกํžŒ ๊ฐ€๊ฒฉ ๋Œ€๋น„ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋จธ์‹  ๊ณ„์—ด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋จธ์‹  ์œ ํ˜•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    Enterprise Plus ๋จธ์‹  ์œ ํ˜• vCPUs ๋ฉ”๋ชจ๋ฆฌ(GB)
    db-perf-optimized-N-2 2 16
    db-perf-optimized-N-4 4 32
    db-perf-optimized-N-8 8 64
    db-perf-optimized-N-16 16 128
    db-perf-optimized-N-32 32 256
    db-perf-optimized-N-48 48 384
    db-perf-optimized-N-64 64 512
    db-perf-optimized-N-80 80 640
    db-perf-optimized-N-96 96 768
    db-perf-optimized-N-128 128 864

    ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™” ๋จธ์‹  ๊ณ„์—ด

    ์ด ๋จธ์‹  ๊ณ„์—ด์€ ๋ฉ”๋ชจ๋ฆฌ ์ง‘์•ฝ์ ์ธ ์›Œํฌ๋กœ๋“œ์— ๋†’์€ ๋ฉ”๋ชจ๋ฆฌ ๋Œ€ ์ปดํ“จํŒ… ๋น„์œจ์ธ vCPU 1๊ฐœ:32GB RAM์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™” ๋จธ์‹ ์€ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ค‘์— ๋” ํฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์œ ๋ฆฌํ•œ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ, ๋ถ„์„, ๋น„์ฆˆ๋‹ˆ์Šค ์ธํ…”๋ฆฌ์ „์Šค ๋ณด๊ณ ๊ฐ€ ํ•„์š”ํ•œ SQL Server ์›Œํฌ๋กœ๋“œ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™” ๋จธ์‹  ๊ณ„์—ด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋จธ์‹  ์œ ํ˜•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    ๋จธ์‹  ์œ ํ˜• vCPUs ๋ฉ”๋ชจ๋ฆฌ(GB)
    db-memory-optimized-N-4 4 128
    db-memory-optimized-N-8 8 256
    db-memory-optimized-N-16 16 512

    ๋ฌธ์ œ ํ•ด๊ฒฐ

    ๋ฌธ์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ
    ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€: Failed to create subnetwork. Router status is temporarily unavailable. Please try again later. Help Token: [token-ID]. Cloud SQL ์ธ์Šคํ„ด์Šค๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”.

    ๋‹ค์Œ ๋‹จ๊ณ„

    1. ์ธ์Šคํ„ด์Šค์— SQL Server ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งŒ๋“ค๊ธฐ
    2. ์ธ์Šคํ„ด์Šค์— SQL Server ์‚ฌ์šฉ์ž ๋งŒ๋“ค๊ธฐ
    3. ์ธ์Šคํ„ด์Šค ์•ก์„ธ์Šค ๋ณด์•ˆ ๋ฐ ์ œ์–ด
    4. SQL Server ํด๋ผ์ด์–ธํŠธ๋กœ ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐ
    5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ
    6. ์ธ์Šคํ„ด์Šค ์„ค์ • ์•Œ์•„๋ณด๊ธฐ