๋ฐฑ์—… ๋ณด๊ด€์†Œ์—์„œ Compute Engine ์ธ์Šคํ„ด์Šค ๋ณต์›

์ด ํŽ˜์ด์ง€์—์„œ๋Š” Google Cloud ์ฝ˜์†”์˜ ๋ฐฑ์—… ๋ณด๊ด€์†Œ์—์„œ Compute Engine ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณต์›ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

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

  • ๋ณต์›์ด ์‹คํ–‰๋˜๋Š” ํƒ€๊ฒŸ ํ”„๋กœ์ ํŠธ์˜ ๋ณด๊ด€์†Œ์— ์žˆ๋Š” ๋ฐฑ์—… ๋ณด๊ด€์†Œ ์„œ๋น„์Šค ์—์ด์ „ํŠธ์— ๋ฐฑ์—… ๋ฐ DR Compute Engine ์ž‘์—…์ž (roles/backupdr.computeEngineOperator) IAM ์—ญํ• ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

  • ๊ณต์œ  VPC๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ VPC ํ˜ธ์ŠคํŠธ ํ”„๋กœ์ ํŠธ์˜ ๋ณด๊ด€์†Œ์— ์žˆ๋Š” ๋ฐฑ์—… ๋ณด๊ด€์†Œ ์„œ๋น„์Šค ์—์ด์ „ํŠธ์— Compute ๋„คํŠธ์›Œํฌ ์‚ฌ์šฉ์ž (roles/compute.networkUser) IAM ์—ญํ• ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฐฑ์—… ๋ณด๊ด€์†Œ ํ”„๋กœ์ ํŠธ์—์„œ ๋ณต์›์„ ์‹คํ–‰ํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹ค์Œ IAM ์—ญํ• ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

    • ๋ฐฑ์—… ๋ณด๊ด€์†Œ์™€ ํƒ€๊ฒŸ ํ”„๋กœ์ ํŠธ ๋ชจ๋‘์— ๋Œ€ํ•œ ๋ฐฑ์—… ๋ฐ DR ๋ณต์› ์‚ฌ์šฉ์ž (roles/backupdr.restoreUser)
    • ํƒ€๊ฒŸ์— ๋Œ€ํ•ด์„œ๋งŒ Compute ๋ทฐ์–ด (roles/compute.viewer)

    ์ด๋Ÿฌํ•œ ์‚ฌ์ „ ์ •์˜๋œ ์—ญํ• ์—๋Š” Compute Engine ํ”„๋กœ์ ํŠธ์˜ ๋ฐฑ์—… ๋ณด๊ด€์†Œ์— ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ถŒํ•œ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์ธ ๊ถŒํ•œ์€ ๋‹ค์Œ ๋ชฉ๋ก์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

    • backupdr.bvbackups.restore
    • backupdr.compute.restoreFromBackupVault
    • backupdr.backupVaults.get
    • backupdr.backupVaults.list
    • backupdr.bvbackups.list
    • backupdr.bvdataSources.get
    • backupdr.bvdataSources.list
    • backupdr.bvbackups.get

    ์—ญํ•  ๋ถ€์—ฌ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ”„๋กœ์ ํŠธ, ํด๋”, ์กฐ์ง์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Compute Engine ์ธ์Šคํ„ด์Šค ๋ณต์›

๋‹ค์Œ ์•ˆ๋‚ด์— ๋”ฐ๋ผ VM ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ ๋ณด๊ด€์ฒ˜๋ฆฌ๋œ ๋ฐฑ์—… ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Vault์— ์ €์žฅ๋œ ๋ฐฑ์—…์œผ๋กœ ์ด๋™

    ๋ณด๊ด€์†Œ์— ๋ฐฑ์—…์ด ์žˆ๋Š” ๋ชจ๋“  Compute Engine ์ธ์Šคํ„ด์Šค๊ฐ€ ์—ฌ๊ธฐ์— ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค.

  2. ์ž‘์—… ์•„์ด์ฝ˜์„ ํด๋ฆญํ•˜์—ฌ ๋ณต์› ์ž‘์—…์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ณต์› ํŽ˜์ด์ง€์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ณต์› ์˜ต์…˜์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ์œ„์น˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

    • ๋ฆฌ์†Œ์Šค ์ด๋ฆ„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    • ๋ฐฑ์—… ์ƒ์„ฑ ์‹œ๊ฐ„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    • VM์„ ๋ณต์›ํ•  ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ๊ณ„์†์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

    • ๋‹ค์Œ ํŽ˜์ด์ง€์ธ ๋ฐฑ์—…์—์„œ ์ƒˆ VM ์ธ์Šคํ„ด์Šค ๋งŒ๋“ค๊ธฐ๊ฐ€ ํ‘œ์‹œ๋˜๋ฉฐ ์—ฌ๊ธฐ์„œ ์†Œ์Šค VM ์†์„ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ VM ์†์„ฑ์ด ๋ฏธ๋ฆฌ ์ฑ„์›Œ์ง‘๋‹ˆ๋‹ค. ์†์„ฑ์„ ์ˆ˜์ •ํ•˜์—ฌ ์ƒˆ VM์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: ๋ฆฌ์ „ ๋˜๋Š” ๋จธ์‹  ์œ ํ˜• ์„ ํƒ ๋ณ€๊ฒฝ).
  4. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•˜์—ฌ ์„ ํƒํ•œ ๋ฐฑ์—…์—์„œ ์ƒˆ VM์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

gcloud

  1. ์•„์ง ๋ถ€์—ฌ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ VM์ด ๋ณต๊ตฌ๋˜๊ณ  ์žˆ๋Š” ๋ณต๊ตฌ ํ”„๋กœ์ ํŠธ์˜ ๋ฐฑ์—… ๋ณด๊ด€์†Œ ์„œ๋น„์Šค ์—์ด์ „ํŠธ์— ๋ฐฑ์—… ๋ฐ DR Compute Engine ์šด์˜์ž (roles/backupdr.computeEngineOperator) IAM ์—ญํ• ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.

  2. ๋ฐฑ์—… ๋ณด๊ด€์†Œ ์„œ๋น„์Šค ๊ณ„์ •์„ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

      gcloud backup-dr backup-vaults describe BACKUPVAULT_NAME
      --location=LOCATION
    

    ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

    • BACKUPVAULT_NAME: ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์›ํ•  ๋ฐฑ์—… ๋ณด๊ด€์†Œ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
    • LOCATION: ๋ฐฑ์—… ๋ณด๊ด€์†Œ์˜ ์œ„์น˜์ž…๋‹ˆ๋‹ค.
  3. VM ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณต์›ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    • ๋ฐฑ์—… ID๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›Œํฌ๋กœ๋“œ ํ”„๋กœ์ ํŠธ์™€ ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ์—์„œ VM์„ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.

        gcloud backup-dr backups restore compute test-backup-id \
        --project=PROJECT --location=LOCATION \
        --backup-vault=BACKUPVAULT_NAME --data-source=DATA_SOURCE\
        --name=NAME --target-zone=TARGET_ZONE \
        --target-project=TARGET_PROJECT
      
    • ๋ฐฑ์—… ์ „์ฒด ๋ฆฌ์†Œ์Šค URL์„ ์‚ฌ์šฉํ•˜์—ฌ ์›Œํฌ๋กœ๋“œ ํ”„๋กœ์ ํŠธ์™€ ๋™์ผํ•œ ํ”„๋กœ์ ํŠธ์—์„œ VM์„ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.

        gcloud backup-dr backups restore compute projects/test-project-id/locations/us-central1/backupVaults/test-vault/dataSources/test-ds/backups/test-backup-id \
        --name=NAME --target-zone=TARGET_ZONE \
        --target-project=TARGET_PROJECT
      
    • ๋งž์ถค ์„œ๋น„์Šค ๊ณ„์ • ๋ฐ ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ์œผ๋กœ VM ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.

        gcloud backup-dr backups restore compute test-backup-id \
        --project=PROJECT --location=LOCATION \
        --backup-vault=BACKUPVAULT_NAME --data-source=DATA_SOURCE\
        --name=NAME --target-zone=TARGET_ZONE \
        --target-project=TARGET_PROJECT \
        --network-interface=network=NETWORK,subnet=SUBNET \
        --service-account=SERVICE_ACCOUNT \
        --scopes=SCOPE
      

      ๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

      • PROJECT: ๋ฐฑ์—… ๋ณด๊ด€์†Œ ํ”„๋กœ์ ํŠธ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
      • LOCATION: ๋ฐฑ์—… ๋ณด๊ด€์†Œ์˜ ์œ„์น˜์ž…๋‹ˆ๋‹ค.
      • BACKUPVAULT_NAME: ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์›ํ•  ๋ฐฑ์—… ๋ณด๊ด€์†Œ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
      • DATA_SOURCE: ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์›ํ•  ๋ฐ์ดํ„ฐ ์†Œ์Šค ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
      • NAME: ๋ณต์›๋œ VM์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
      • TARGET_ZONE: VM์ด ๋ณต์›๋œ ๋ฆฌ์ „์ž…๋‹ˆ๋‹ค.
      • TARGET_PROJECT: VM์ด ๋ณต์›๋œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.
      • NETWORK: VM์˜ ๋„คํŠธ์›Œํฌ URI์ž…๋‹ˆ๋‹ค.
      • SUBNET: VM์˜ ์„œ๋ธŒ๋„ท URI์ž…๋‹ˆ๋‹ค.
      • SERVICE_ACCOUNT: ๋ณต์›๋œ VM์˜ ์„œ๋น„์Šค ๊ณ„์ •์ž…๋‹ˆ๋‹ค.
      • SCOPE: ์„œ๋น„์Šค ๊ณ„์ •์˜ ์Šน์ธ ๋ฒ”์œ„์ž…๋‹ˆ๋‹ค.

๋‹ค๋ฅธ VM ์†์„ฑ์„ ์žฌ์ •์˜ํ•˜๋ ค๋ฉด ๋ฐฑ์—… ๋ฐ DR ์„œ๋น„์Šค Google Cloud CLI ๋ช…๋ น์–ด ๊ฐœ์š”๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๋ฐฑ์—… ๋ฐ DR Compute Engine ๊ฐ€์ด๋“œ