ํ์ค ์ค๋ ์ท์ ๋ง๋ค์ด ์์ญ ๋ฐ ๋ฆฌ์ Persistent Disk์ Google Cloud Hyperdisk ๋ณผ๋ฅจ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ฐฑ์ ํฉ๋๋ค.
์คํ ์ค์ธ ์ธ์คํด์ค์ ์ฐ๊ฒฐ๋ ์ํ์์๋ ๋์คํฌ์์ ์ค๋ ์ท์ ๋ง๋ค ์ ์์ต๋๋ค. ์ค๋ ์ท์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ญ ๋ฆฌ์์ค์ด๋ฏ๋ก ๋์ผํ ํ๋ก์ ํธ ๋ด์ ์๋ก์ด ๋์คํฌ ๋๋ VM์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณต์ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ถ๊ฐ์ ์ธ ๋ฐ์ดํฐ ๋ณดํธ ๋ฐ ๋น์ฉ ๊ด๋ฆฌ๋ฅผ ์ํด ์ค๋ ์ท์ ์ฌ์ฉํ์ฌ ์ ๋์คํฌ๋ฅผ ๋ง๋ค ์ ์๋ ์์น๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค. ์ค๋ ์ท์ด ๋ฐ์ดํฐ๋ฅผ ๋ณต์ํ ์ ์๋ ๋ฆฌ์ ์ ์ ํํ๋ ค๋ฉด ๋ฆฌ์ ๋ฒ์ ์ค๋ ์ท์ ๋ง๋ค๊ณ ํ์ฉ๋ ์ก์ธ์ค ์์น๋ฅผ ์ค์ (ํ๋ฆฌ๋ทฐ)ํ๋ฉด ๋ฉ๋๋ค. ๋ํ ํ๋ก์ ํธ ๊ฐ์ ์ค๋ ์ท์ ๊ณต์ ํ ์ ์์ต๋๋ค.
์์ํ๊ธฐ ์ ์
- (ํ๋ฆฌ๋ทฐ) ๋ฆฌ์ ๋ฒ์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ฉด ์ด ํ์ด์ง์ ๋จ๊ณ๋ฅผ ์๋ฃํ๊ธฐ ์ ์ ๊ธฐ๋ณธ ์ค๋ ์ท ์์ฑ ๋ฐ ๋ณต์ ์์น๋ฅผ ์ค์ ํ์ธ์.
-
์์ง ์ธ์ฆ์ ์ค์ ํ์ง ์์๋ค๋ฉด ์ค์ ํฉ๋๋ค.
์ธ์ฆ์ Google Cloud ์๋น์ค ๋ฐ API์ ์ก์ธ์คํ๊ธฐ ์ํด ID๋ฅผ ํ์ธํ๋ ํ๋ก์ธ์ค์
๋๋ค.
๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ฝ๋ ๋๋ ์ํ์ ์คํํ๋ ค๋ฉด ๋ค์ ์ต์
์ค ํ๋๋ฅผ ์ ํํ์ฌ Compute Engine์ ์ธ์ฆํ๋ฉด ๋ฉ๋๋ค.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Terraform
๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ด ํ์ด์ง์ Terraform ์ํ์ ์ฌ์ฉํ๋ ค๋ฉด gcloud CLI๋ฅผ ์ค์น ๋ฐ ์ด๊ธฐํํ ๋ค์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ก ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํ์ธ์.
์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ธ์: Set up authentication for a local development environment.
Go
๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ด ํ์ด์ง์ Go ์ํ์ ์ฌ์ฉํ๋ ค๋ฉด gcloud CLI๋ฅผ ์ค์น ๋ฐ ์ด๊ธฐํํ ๋ค์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ก ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํ์ธ์.
์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ธ์: Set up authentication for a local development environment.
Java
๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ด ํ์ด์ง์ Java ์ํ์ ์ฌ์ฉํ๋ ค๋ฉด gcloud CLI๋ฅผ ์ค์น ๋ฐ ์ด๊ธฐํํ ๋ค์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ก ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํ์ธ์.
์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ธ์: Set up authentication for a local development environment.
Node.js
๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ด ํ์ด์ง์ Node.js ์ํ์ ์ฌ์ฉํ๋ ค๋ฉด gcloud CLI๋ฅผ ์ค์น ๋ฐ ์ด๊ธฐํํ ๋ค์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ก ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํ์ธ์.
์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ธ์: Set up authentication for a local development environment.
Python
๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ด ํ์ด์ง์ Python ์ํ์ ์ฌ์ฉํ๋ ค๋ฉด gcloud CLI๋ฅผ ์ค์น ๋ฐ ์ด๊ธฐํํ ๋ค์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ก ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํ์ธ์.
์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ธ์: Set up authentication for a local development environment.
REST
๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ด ํ์ด์ง์ REST API ์ํ์ ์ฌ์ฉํ๋ ค๋ฉด gcloud CLI์ ์ ๊ณตํ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
์์ธํ ๋ด์ฉ์ Google Cloud ์ธ์ฆ ๋ฌธ์์ REST ์ฌ์ฉ์ ์ํ ์ธ์ฆ์ ์ฐธ์กฐํ์ธ์.
-
ํ์ ์ญํ ๋ฐ ๊ถํ
ํ์ค ์ค๋ ์ท์ ๋ง๋๋ ๋ฐ ํ์ํ ๊ถํ์ ์ป์ผ๋ ค๋ฉด ๊ด๋ฆฌ์์๊ฒ ํ๋ก์ ํธ์ ๋ํ ๋ค์ IAM ์ญํ ์ ๋ถ์ฌํด ๋ฌ๋ผ๊ณ ์์ฒญํ์ธ์.
-
Compute ์ธ์คํด์ค ๊ด๋ฆฌ์(v1)(
roles/compute.instanceAdmin.v1
) - ์๋น์ค ๊ณ์ ์ผ๋ก ์คํ๋ ์ ์๋ VM์ ์ฐ๊ฒฐ: ์๋น์ค ๊ณ์ ์ฌ์ฉ์(v1)(
roles/iam.serviceAccountUser
)
์ญํ ๋ถ์ฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ ํ๋ก์ ํธ, ํด๋, ์กฐ์ง์ ๋ํ ์ก์ธ์ค ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ด๋ฌํ ์ฌ์ ์ ์๋ ์ญํ ์๋ ํ์ค ์ค๋ ์ท์ ๋ง๋๋ ๋ฐ ํ์ํ ๊ถํ์ด ํฌํจ๋์ด ์์ต๋๋ค. ํ์ํ ์ ํํ ๊ถํ์ ๋ณด๋ ค๋ฉด ํ์ ๊ถํ ์น์ ์ ํผ์น์ธ์.
ํ์ ๊ถํ
ํ์ค ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๊ถํ์ด ํ์ํฉ๋๋ค.
-
์์ญ ๋์คํฌ์ ์ค๋
์ท ๋ง๋ค๊ธฐ:
- ํ๋ก์ ํธ์ ๋ํ
compute.snapshots.create
- ๋์คํฌ์ ๋ํ
compute.disks.createSnapshot
- ํ๋ก์ ํธ์ ๋ํ
-
๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์ ๋์คํฌ์ ์ค๋
์ท ๋ง๋ค๊ธฐ:
- ํ๋ก์ ํธ์ ๋ํ
compute.snapshots.create
-
์์ค VM์ ๋ํ
compute.instances.useReadOnly
- ๋์คํฌ์ ๋ํ
compute.disks.createSnapshot
- ํ๋ก์ ํธ์ ๋ํ
-
๋ณต์ ๋ณธ ๋ณต๊ตฌ ์ฒดํฌํฌ์ธํธ์์ ๋ฆฌ์ ๋์คํฌ์ ์ค๋
์ท ๋ง๋ค๊ธฐ:
- ํ๋ก์ ํธ์ ๋ํ
compute.snapshots.create
- ๋์คํฌ์ ๋ํ
compute.disks.createSnapshot
- ํ๋ก์ ํธ์ ๋ํ
-
(ํ๋ฆฌ๋ทฐ) ๋ฆฌ์ ๋ฒ์ ์ค๋
์ท ๋ง๋ค๊ธฐ:
- ํ๋ก์ ํธ์ ๋ํ
compute.snapshots.create
- ํ๋ก์ ํธ์ ๋ํ
compute.regionSnapshots.create
- ๋์คํฌ์ ๋ํ
compute.disks.useReadOnly
- ํ๋ก์ ํธ์ ๋ํ
์ปค์คํ ์ญํ ์ด๋ ๋ค๋ฅธ ์ฌ์ ์ ์๋ ์ญํ ์ ์ฌ์ฉํ์ฌ ์ด ๊ถํ์ ๋ถ์ฌ๋ฐ์ ์๋ ์์ต๋๋ค.
์ค๋ ์ท ์์ฑ ์ค๋น
Persistent Disk ๋๋ Hyperdisk ๋ณผ๋ฅจ์ ์ค๋ ์ท ์์ฑ์ ์ค๋นํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
๋์คํฌ์ ์ค๋ ์ท์ ์ค๋นํ๋ ค๋ฉด Compute Engine ๋์คํฌ ์ค๋ ์ท์ ๋ํ ๊ถ์ฅ์ฌํญ์ ๊ฒํ ํ์ธ์.
๋ชจ๋ ์ ์ ์ญ ๋ฒ์ ์ค๋ ์ท์ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ์์น๋ฅผ ๋ง์ถค์ค์ ํ๋ ค๋ฉด ํ๋ก์ ํธ์ ์ค๋ ์ท ์ค์ ์ ์ ๋ฐ์ดํธํฉ๋๋ค.Google Cloud ๋ ์ค๋ ์ท ์ค์ ์ ์ฒ์ ์ ๋ฐ์ดํธํ ๋๊น์ง ์ฌ์ ์ ์๋ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ์์น ๊ฐ์ ์ ์งํฉ๋๋ค. ์ด ์ฌ์ ์ ์๋ ์์น๋ ์์ค ๋์คํฌ์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฉํฐ ๋ฆฌ์ ์ ๋๋ค.
์ค๋ ์ท ์ผ์ ์ ๋ง๋ค๊ณ ๋์คํฌ์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๋ ค๋ฉด ๋์คํฌ ์ค๋ ์ท ์ผ์ ๋ง๋ค๊ธฐ๋ฅผ ๊ฒํ ํ์ธ์. ๋์คํฌ๋ฅผ ์์ฝ๋ ์ค๋ ์ท์ผ๋ก ์ ๊ธฐ์ ์ผ๋ก ๋ฐฑ์ ํ๋ฉด ์๊ธฐ์น ์์ ๋ฐ์ดํฐ ์์ค ์ํ์ ์ค์ผ ์ ์์ต๋๋ค.
Persistent Disk ๋๋ Hyperdisk ๋ณผ๋ฅจ์ ์ค๋ ์ท ๋ง๋ค๊ธฐ
๋์คํฌ์ ์ค๋ ์ท์ ๋ง๋๋ ๋จ๊ณ๋ ์์ญ ๋์คํฌ ๋๋ ๋ฆฌ์ ๋์คํฌ์ ์ค๋ ์ท์ ๋ง๋๋์ง ์ฌ๋ถ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
์์ญ ๋์คํฌ์ ์ค๋ ์ท ๋ง๋ค๊ธฐ
์ฝ์
Google Cloud ์ฝ์์์ ์ค๋ ์ท ๋ง๋ค๊ธฐ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ค๋ ์ท ๋ง๋ค๊ธฐ ํ์ด์ง๋ก ์ด๋- ์ค๋ ์ท ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
-
์ค๋ ์ท ์ ํ์ ์ ํํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์ฅ๊ธฐ ๋ฐฑ์ ๋ฐ ์ฌํด ๋ณต๊ตฌ์ ๊ฐ์ฅ ์ ํฉํ
STANDARD
์ค๋ ์ท์ ๋๋ค.๋น์ฉ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๋ณด๊ด์ ์ํด์๋ ๋ณด๊ด์ฒ๋ฆฌ ์ค๋ ์ท์ ์ ํํฉ๋๋ค.
- (์ ํ์ฌํญ) ์ค๋ ์ท์ ๋ํ ์ค๋ช ์ ์ ๋ ฅํฉ๋๋ค.
- ์์ค ๋์คํฌ์์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ ๊ธฐ์กด ๋์คํฌ๋ฅผ ์ ํํฉ๋๋ค.
์์น ์น์ ์์ ์ค๋ ์ท ์คํ ๋ฆฌ์ง ์์น๋ฅผ ์ ํํฉ๋๋ค.
์ค๋ ์ท ์ค์ ์ ์ ์๋ ์ฌ์ ์ ์๋์๊ฑฐ๋ ๋ง์ถค์ค์ ๋ ๊ธฐ๋ณธ ์์น๊ฐ ์๋์ผ๋ก ์ ํ๋ฉ๋๋ค. ์ ํ์ ์ผ๋ก ๋ค์์ ์ํํด์ ์ค๋ ์ท ์ค์ ์ ์ฌ์ ์ํ๊ณ ์ปค์คํ ์คํ ๋ฆฌ์ง ์์น์ ์ค๋ ์ท์ ์ ์ฅํ ์ ์์ต๋๋ค.
์ค๋ ์ท์ ๋ํด ์ํ๋ ์คํ ๋ฆฌ์ง ์์น ์ ํ์ ์ ํํฉ๋๋ค.
- ๋ ๋์ ๊ฐ์ฉ์ฑ์ ์ํด์๋ ๋ ๋์ ๋น์ฉ์ ๋ฉํฐ ๋ฆฌ์ ์ ์ ํํฉ๋๋ค.
- ๋ ์ ๋ ดํ ๋น์ฉ์ผ๋ก ๋ฐ์ดํฐ์ ๋ฌผ๋ฆฌ์ ์์น๋ฅผ ๋ ์ธ๋ถ์ ์ผ๋ก ์ ์ดํ๋ ค๋ฉด ๋ฆฌ์ ์ค๋ ์ท์ ์ ํํฉ๋๋ค.
- ์์น ์ ํ ํ๋์์ ์ฌ์ฉํ๋ ค๋ ํน์ ๋ฆฌ์ ๋๋ ๋ฉํฐ ๋ฆฌ์ ์ ์ ํํฉ๋๋ค. ์์ค ๋์คํฌ์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฆฌ์ ๋๋ ๋ฉํฐ ๋ฆฌ์ ์ ์ฌ์ฉํ๋ ค๋ฉด ๋์คํฌ ์์น ๊ธฐ์ค์ ์ ํํฉ๋๋ค.
- ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ ์ค๋ ์ท์ ๋ง๋ญ๋๋ค.
gcloud
์ค๋ ์ท ์ค์ ์ ๋ฐ๋ผ ๋๋ ์ ํํ ๋์ฒด ์คํ ๋ฆฌ์ง ์์น๋ฅผ ์ฌ์ฉํด์ ์ ์๋ ์คํ ๋ฆฌ์ง ์์น ์ ์ฑ ์ผ๋ก ์ค๋ ์ท์ ๋ง๋ค ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ค๋ ์ท ์คํ ๋ฆฌ์ง ์์น ์ ํ์ ์ฐธ์กฐํ์ธ์.
์ค๋ ์ท ์ค์ ์ ๊ตฌ์ฑ๋ ์ฌ์ ์ ์๋์๊ฑฐ๋ ๋ง์ถค์ค์ ๋ ๊ธฐ๋ณธ ์์น์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ฉด
gcloud compute snapshots create
๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE
-
๋๋ ์ค๋ ์ท ์ค์ ์ ์ฌ์ ์ํ๊ณ ์ปค์คํ ์คํ ๋ฆฌ์ง ์์น์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ฉด ์ค๋ ์ท ์ ์ฅ ์์น๋ฅผ ๋ํ๋ด๋
--storage-location
ํ๋๊ทธ๋ฅผ ํฌํจํ์ธ์.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --storage-location=STORAGE_LOCATION
-
(๋ฏธ๋ฆฌ๋ณด๊ธฐ) ํ์ฉ๋ ๋ฆฌ์ ์์ ๋ฆฌ์ ๋ฒ์์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ฉด
--region
ํ๋๊ทธ๋ฅผ ํฌํจํ์ฌ ์ค๋ ์ท์ ๋ง๋ค ์์น๋ฅผ ์ง์ ํฉ๋๋ค.gcloud beta compute snapshots create SNAPSHOT_NAME \ --region=SNAPSHOT_SCOPE_REGION --source-disk=SOURCE_DISK_NAME \ --source-disk-zone=SOURCE_ZONE \ --snapshot-type=SNAPSHOT_TYPE
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- SNAPSHOT_NAME: ์ค๋ ์ท์ ์ด๋ฆ์ ๋๋ค.
- SOURCE_ZONE: ์์ค ๋์คํฌ์ ์์ญ์ ๋๋ค.
- SOURCE_DISK_NAME: ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ Persistent Disk ๋ณผ๋ฅจ์ ์ด๋ฆ์ ๋๋ค.
- SNAPSHOT_TYPE: ์ค๋
์ท ์ ํ์
๋๋ค(STANDARD ๋๋ ARCHIVE).
์ค๋
์ท ์ ํ์ ์ง์ ํ์ง ์์ผ๋ฉด
STANDARD
์ค๋ ์ท์ด ์์ฑ๋ฉ๋๋ค. -
STORAGE_LOCATION: (์ ํ์ฌํญ) ์ ์ญ ๋ฒ์ ์ค๋ ์ท์ ๊ฒฝ์ฐ ์ค๋ ์ท์ ์ ์ฅํ Cloud Storage ๋ฉํฐ ๋ฆฌ์ ๋๋ Cloud Storage ๋ฆฌ์ ์ ๋๋ค. ์คํ ๋ฆฌ์ง ์์น๋ ํ๋๋ง ์ง์ ํ ์ ์์ต๋๋ค.
์ค๋ ์ท ์ค์ ์ ๊ตฌ์ฑ๋ ์ฌ์ ์ ์๋์๊ฑฐ๋ ๋ง์ถค ์ค์ ๋ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ์์น๋ฅผ ์ฌ์ ์ํ๋ ค๋ ๊ฒฝ์ฐ์๋ง
--storage-location
๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. -
SNAPSHOT_SCOPE_REGION: (์ ํ์ฌํญ) ๋ฆฌ์ ๋ฒ์ ์ค๋ ์ท์ ๊ฒฝ์ฐ ์ค๋ ์ท ๋ฒ์๊ฐ ์ง์ ๋ ๋ฆฌ์ ์ ๋๋ค. ์ด ํ๋ผ๋ฏธํฐ๋ฅผ ํฌํจํ๋ฉด
--storage-location
ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. STORAGE_LOCATION์ SNAPSHOT_SCOPE_REGION์ผ๋ก ์๋ ์ค์ ๋ฉ๋๋ค.
Terraform
์์ญ Persistent Disk์ ์ค๋
์ท์ ๋ง๋ค๋ ค๋ฉด google_compute_snapshot
๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ์ธ์.
Terraform ๊ตฌ์ฑ์ ์ ์ฉํ๊ฑฐ๋ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ๋ณธ Terraform ๋ช ๋ น์ด๋ฅผ ์ฐธ์กฐํ์ธ์.
Go
Go
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Compute Engine ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Go ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Compute Engine Go API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Compute Engine์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
์๋ฐ
Java
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Compute Engine ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Java ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Compute Engine Java API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Compute Engine์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Node.js
Node.js
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Compute Engine ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Node.js ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Compute Engine Node.js API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Compute Engine์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Python
Python
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Compute Engine ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Python ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Compute Engine Python API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Compute Engine์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
REST
์ค๋ ์ท ์ค์ ์ ๋ฐ๋ผ ๋๋ ์ ํํ ๋์ฒด ์คํ ๋ฆฌ์ง ์์น๋ฅผ ์ฌ์ฉํด์ ์ ์๋ ์คํ ๋ฆฌ์ง ์์น ์ ์ฑ ์ผ๋ก ์ค๋ ์ท์ ๋ง๋ค ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ค๋ ์ท ์คํ ๋ฆฌ์ง ์์น ์ ํ์ ์ฐธ์กฐํ์ธ์.
-
์ค๋ ์ท ์ค์ ์ ๊ตฌ์ฑ๋ ์ฌ์ ์ ์๋์๊ฑฐ๋ ๋ง์ถค์ค์ ๋ ๊ธฐ๋ณธ ์์น์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ฉด
snapshots.insert
๋ฉ์๋์POST
์์ฒญ์ ์ํํ์ธ์.POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE" }
-
๋๋ ์ค๋ ์ท ์ค์ ์ ์ฌ์ ์ํ๊ณ ์ปค์คํ ์คํ ๋ฆฌ์ง ์์น์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ฉด
snapshots.insert
๋ฉ์๋์ ๋ํดPOST
์์ฒญ์ ์ํํ๊ณ ์์ฒญ์storageLocations
์์ฑ์ ํฌํจํฉ๋๋ค.POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "storageLocations": [ "STORAGE_LOCATION" ], }
-
(๋ฏธ๋ฆฌ๋ณด๊ธฐ) ํ์ฉ๋ ๋ฆฌ์ ์์ ๋ฆฌ์ ๋ฒ์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ฉด
snapshots.insert
๋ฉ์๋์ ๋ํดPOST
์์ฒญ์ ์คํํ๊ณ ์์ฑ ๋ฆฌ์ ์ ์ ์ํฉ๋๋ค.POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/regions/SNAPSHOT_SCOPE_REGION/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE" }
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- DESTINATION_PROJECT_ID: ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ ํ๋ก์ ํธ์ ID์ ๋๋ค.
- SNAPSHOT_NAME: ์ค๋ ์ท์ ์ด๋ฆ์ ๋๋ค.
- SOURCE_PROJECT_ID: ์์ค ๋์คํฌ ํ๋ก์ ํธ์ ID์ ๋๋ค.
- SOURCE_ZONE: ์์ค ๋์คํฌ์ ์์ญ์ ๋๋ค.
- SOURCE_DISK_NAME: ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ Persistent Disk ๋ณผ๋ฅจ์ ์ด๋ฆ์ ๋๋ค.
- SNAPSHOT_TYPE: ์ค๋
์ท ์ ํ์
๋๋ค(STANDARD ๋๋ ARCHIVE).
์ค๋
์ท ์ ํ์ ์ง์ ํ์ง ์์ผ๋ฉด
STANDARD
์ค๋ ์ท์ด ์์ฑ๋ฉ๋๋ค. -
STORAGE_LOCATION: (์ ํ์ฌํญ) ์ ์ญ ๋ฒ์ ์ค๋ ์ท์ ๊ฒฝ์ฐ ์ค๋ ์ท์ ์ ์ฅํ Cloud Storage ๋ฉํฐ ๋ฆฌ์ ๋๋ Cloud Storage ๋ฆฌ์ ์ ๋๋ค. ์คํ ๋ฆฌ์ง ์์น๋ ํ๋๋ง ์ง์ ํ ์ ์์ต๋๋ค.
์ค๋ ์ท ์ค์ ์ ๊ตฌ์ฑ๋ ์ฌ์ ์ ์๋์๊ฑฐ๋ ๋ง์ถค ์ค์ ๋ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ์์น๋ฅผ ์ฌ์ ์ํ๋ ค๋ ๊ฒฝ์ฐ์๋ง
storageLocations
๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. SNAPSHOT_SCOPE_REGION: (์ ํ์ฌํญ) ๋ฆฌ์ ๋ฒ์ ์ค๋ ์ท์ ๊ฒฝ์ฐ ์ค๋ ์ท ๋ฒ์๊ฐ ์ง์ ๋ ๋ฆฌ์ ์ ๋๋ค. ์ด ํ๋ผ๋ฏธํฐ๋ฅผ ํฌํจํ๋ฉด
storageLocations
ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. STORAGE_LOCATION์ SNAPSHOT_SCOPE_REGION์ผ๋ก ์๋ ์ค์ ๋ฉ๋๋ค.
๋ฆฌ์ ๋์คํฌ์ ์ค๋ ์ท ๋ง๋ค๊ธฐ
๋ค์ ๋ฐฉ๋ฒ ์ค ํ๋๋ก ๋ฆฌ์ ๋์คํฌ์ ์ค๋ ์ท์ ๋ง๋ค ์ ์์ต๋๋ค.
- ์์ค ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ์ค๋ ์ท ์์ฑ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋๊ธฐํ๋ ์์ญ ๋ณต์ ๋ณธ์ ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค.
- ์ฑ๋ฅ ์ ํ๋ ๋์คํฌ์ ๋ณต์ ๋ณธ ๋ณต๊ตฌ ์ฒดํฌํฌ์ธํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. Google Cloud CLI ๋๋ REST๋ฅผ ์ฌ์ฉํ์ฌ ์ฒดํฌํฌ์ธํธ์์๋ง ์ค๋ ์ท์ ๋ง๋ค ์ ์์ต๋๋ค.
๋์คํฌ๊ฐ ์ค๋น๋๋ฉด ์ค๋ ์ท์ ๋ง๋ค ์ ์์ต๋๋ค. ๋ฆฌ์ ๋์คํฌ์ ์ค๋ ์ท์ ์์ฑํ ๋ ์์ค ๋์คํฌ๊ฐ ์๋ ๋ฆฌ์ ์ ์ง์ ํด์ผ ํฉ๋๋ค.
์ฝ์
Google Cloud ์ฝ์์์ ์ค๋ ์ท ๋ง๋ค๊ธฐ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ค๋ ์ท ๋ง๋ค๊ธฐ ํ์ด์ง๋ก ์ด๋- ์ค๋ ์ท ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
-
์ค๋ ์ท ์ ํ์ ์ ํํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์ฅ๊ธฐ ๋ฐฑ์ ๋ฐ ์ฌํด ๋ณต๊ตฌ์ ๊ฐ์ฅ ์ ํฉํ
STANDARD
์ค๋ ์ท์ ๋๋ค.๋น์ฉ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๋ณด๊ด์ ์ํด์๋ ๋ณด๊ด์ฒ๋ฆฌ ์ค๋ ์ท์ ์ ํํฉ๋๋ค.
- (์ ํ์ฌํญ) ์ค๋ ์ท์ ๋ํ ์ค๋ช ์ ์ ๋ ฅํฉ๋๋ค.
- ์์ค ๋์คํฌ์์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ ๊ธฐ์กด ๋์คํฌ๋ฅผ ์ ํํฉ๋๋ค.
์์น ์น์ ์์ ์ค๋ ์ท ์คํ ๋ฆฌ์ง ์์น๋ฅผ ์ ํํฉ๋๋ค.
์ค๋ ์ท ์ค์ ์ ์ ์๋ ์ฌ์ ์ ์๋์๊ฑฐ๋ ๋ง์ถค์ค์ ๋ ๊ธฐ๋ณธ ์์น๊ฐ ์๋์ผ๋ก ์ ํ๋ฉ๋๋ค. ์ ํ์ ์ผ๋ก ๋ค์์ ์ํํด์ ์ค๋ ์ท ์ค์ ์ ์ฌ์ ์ํ๊ณ ์ปค์คํ ์คํ ๋ฆฌ์ง ์์น์ ์ค๋ ์ท์ ์ ์ฅํ ์ ์์ต๋๋ค.
์ค๋ ์ท์ ๋ํด ์ํ๋ ์คํ ๋ฆฌ์ง ์์น ์ ํ์ ์ ํํฉ๋๋ค.
- ๋ ๋์ ๊ฐ์ฉ์ฑ์ ์ํด์๋ ๋ ๋์ ๋น์ฉ์ ๋ฉํฐ ๋ฆฌ์ ์ ์ ํํฉ๋๋ค.
- ๋ ์ ๋ ดํ ๋น์ฉ์ผ๋ก ๋ฐ์ดํฐ์ ๋ฌผ๋ฆฌ์ ์์น๋ฅผ ๋ ์ธ๋ถ์ ์ผ๋ก ์ ์ดํ๋ ค๋ฉด ๋ฆฌ์ ์ค๋ ์ท์ ์ ํํฉ๋๋ค.
- ์์น ์ ํ ํ๋์์ ์ฌ์ฉํ๋ ค๋ ํน์ ๋ฆฌ์ ๋๋ ๋ฉํฐ ๋ฆฌ์ ์ ์ ํํฉ๋๋ค. ์์ค ๋์คํฌ์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฆฌ์ ๋๋ ๋ฉํฐ ๋ฆฌ์ ์ ์ฌ์ฉํ๋ ค๋ฉด ๋์คํฌ ์์น ๊ธฐ์ค์ ์ ํํฉ๋๋ค.
- ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ ์ค๋ ์ท์ ๋ง๋ญ๋๋ค.
gcloud
์์ค ๋์คํฌ์ ๋ฐ์ดํฐ ๋๋ ๋ณต์ ๋ณธ ๋ณต๊ตฌ ์ฒดํฌํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ ์ท์ ๋ง๋ค ์ ์์ต๋๋ค.
๋์คํฌ ๋ฐ์ดํฐ
์ค๋ ์ท ์ค์ ์ ์ ์๋ ์คํ ๋ฆฌ์ง ์์น ์ ์ฑ ๋๋ ์์ ์ด ์ ํํ ๋ค๋ฅธ ์คํ ๋ฆฌ์ง ์์น๋ฅผ ์ฌ์ฉํด ๋์คํฌ์ ๋ฐ์ดํฐ์์ ์ค๋ ์ท์ ๋ง๋ค ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ค๋ ์ท ์คํ ๋ฆฌ์ง ์์น ์ ํ์ ์ฐธ์กฐํ์ธ์.
์ค๋ ์ท ์ค์ ์ ๊ตฌ์ฑ๋ ์ฌ์ ์ ์๋์๊ฑฐ๋ ๋ง์ถค์ค์ ๋ ๊ธฐ๋ณธ ์์น์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ฉด
gcloud compute snapshots create
๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-region=SOURCE_REGION \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE
-
๋๋ ์ค๋ ์ท ์ค์ ์ ์ฌ์ ์ํ๊ณ ์ปค์คํ ์คํ ๋ฆฌ์ง ์์น์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ฉด ์ค๋ ์ท ์ ์ฅ ์์น๋ฅผ ๋ํ๋ด๋
--storage-location
ํ๋๊ทธ๋ฅผ ํฌํจํ์ธ์.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-region=SOURCE_REGION \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --storage-location=STORAGE_LOCATION
-
(๋ฏธ๋ฆฌ๋ณด๊ธฐ) ํ์ฉ๋ ๋ฆฌ์ ์์ ๋ฆฌ์ ๋ฒ์์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ฉด
--region
ํ๋๊ทธ๋ฅผ ํฌํจํ์ฌ ์ค๋ ์ท์ ๋ง๋ค ์์น๋ฅผ ์ง์ ํฉ๋๋ค.gcloud beta compute snapshots create SNAPSHOT_NAME \ --region=SNAPSHOT_SCOPE_REGION \ --source-disk=SOURCE_DISK_NAME \ --source-disk-region=SOURCE_REGION \ --snapshot-type=SNAPSHOT_TYPE
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- SNAPSHOT_NAME: ์ค๋ ์ท์ ์ด๋ฆ์ ๋๋ค.
- SOURCE_REGION: ์์ค ๋์คํฌ์ ๋ฆฌ์ ์ ๋๋ค.
- SOURCE_DISK_NAME: ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ ๋ฆฌ์ Persistent Disk ๋๋ Hyperdisk Balanced ๊ณ ๊ฐ์ฉ์ฑ ๋ณผ๋ฅจ์ ์ด๋ฆ์ ๋๋ค.
- SNAPSHOT_TYPE: ์ค๋
์ท ์ ํ์
๋๋ค(STANDARD ๋๋ ARCHIVE).
์ค๋
์ท ์ ํ์ ์ง์ ํ์ง ์์ผ๋ฉด
STANDARD
์ค๋ ์ท์ด ์์ฑ๋ฉ๋๋ค. -
STORAGE_LOCATION: (์ ํ์ฌํญ) ์ ์ญ ๋ฒ์ ์ค๋ ์ท์ ๊ฒฝ์ฐ ์ค๋ ์ท์ ์ ์ฅํ Cloud Storage ๋ฉํฐ ๋ฆฌ์ ๋๋ Cloud Storage ๋ฆฌ์ ์ ๋๋ค. ์คํ ๋ฆฌ์ง ์์น๋ ํ๋๋ง ์ง์ ํ ์ ์์ต๋๋ค.
์ค๋ ์ท ์ค์ ์ ๊ตฌ์ฑ๋ ์ฌ์ ์ ์๋์๊ฑฐ๋ ๋ง์ถค ์ค์ ๋ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ์์น๋ฅผ ์ฌ์ ์ํ๋ ค๋ ๊ฒฝ์ฐ์๋ง
--storage-location
๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. -
SNAPSHOT_SCOPE_REGION: (์ ํ์ฌํญ) ๋ฆฌ์ ๋ฒ์ ์ค๋ ์ท์ ๊ฒฝ์ฐ ์ค๋ ์ท ๋ฒ์๊ฐ ์ง์ ๋ ๋ฆฌ์ ์ ๋๋ค. ์ด ํ๋ผ๋ฏธํฐ๋ฅผ ํฌํจํ๋ฉด
--storage-location
ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. STORAGE_LOCATION์ SNAPSHOT_SCOPE_REGION์ผ๋ก ์๋ ์ค์ ๋ฉ๋๋ค.
์ฒดํฌํฌ์ธํธ
์ฑ๋ฅ ์ ํ๋ ๋์คํฌ์ ๋ณต์ ๋ณธ ๋ณต๊ตฌ ์ฒดํฌํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ ์ท์ ๋ง๋ค ์ ์์ต๋๋ค. ๋ถ์์ ํ ๋ณต์ ๋ณธ์ ์ฌ์ฉํ ์ ์๋ ํ ์ค๋ ์ท์ด ์์ฑ๋ฉ๋๋ค.
๋ณต์ ๋ณธ ๋ณต๊ตฌ ์ฒดํฌํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋
์ท์ ๋ง๋ค๋ ค๋ฉด gcloud compute snapshots create
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ณต์ ๋ณธ ๋ณต๊ตฌ ์ฒดํฌํฌ์ธํธ๋ฅผ ์ฌ์ฉํด์ ์ค๋
์ท์ ๋ง๋ค๋๋ก ์ง์ ํ๋ ค๋ฉด --source-disk-for-recovery-checkpoint
ํ๋๊ทธ๋ฅผ ํฌํจํฉ๋๋ค. --source-disk
๋ฐ --source-disk-region
๋งค๊ฐ๋ณ์๋ ์ ์ธํฉ๋๋ค.
gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-for-recovery-checkpoint=SOURCE_DISK \ --source-disk-for-recovery-checkpoint-region=SOURCE_REGION \ --storage-location=STORAGE_LOCATION \ --snapshot-type=SNAPSHOT_TYPE
๋ค์์ ๋ฐ๊ฟ๋๋ค.
DESTINATION_PROJECT_ID
: ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ ํ๋ก์ ํธ์ ID์ ๋๋ค.SNAPSHOT_NAME
: ์ค๋ ์ท์ ์ด๋ฆ์ ๋๋ค.SOURCE_PROJECT_ID
: ์ค๋ ์ท์ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ์์ค ๋์คํฌ์ ํ๋ก์ ํธ ID์ ๋๋ค.SOURCE_REGION
: ์ค๋ ์ท์ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ์์ค ๋์คํฌ์ ๋ฆฌ์ ์ ๋๋ค.SOURCE_DISK_NAME
: ์ค๋ ์ท์ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ์์ค ๋์คํฌ์ ์ด๋ฆ์ ๋๋ค.STORAGE_LOCATION
: (์ ํ์ฌํญ) ์ค๋ ์ท์ ์ ์ฅํ Cloud Storage ๋ฉํฐ ๋ฆฌ์ ๋๋ Cloud Storage ๋ฆฌ์ ์ ๋๋ค. ์คํ ๋ฆฌ์ง ์์น๋ ํ๋๋ง ์ง์ ํ ์ ์์ต๋๋ค.
์ค๋ ์ท ์ค์ ์ ๊ตฌ์ฑ๋ ์ฌ์ ์ ์๋์๊ฑฐ๋ ๋ง์ถค ์ค์ ๋ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ์์น๋ฅผ ์ฌ์ ์ํ๋ ค๋ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํฉ๋๋ค.SNAPSHOT_TYPE
: ์ค๋ ์ท ์ ํ์ ๋๋ค(STANDARD ๋๋ ARCHIVE). ์ค๋ ์ท ์ ํ์ ์ง์ ํ์ง ์์ผ๋ฉด STANDARD ์ค๋ ์ท์ด ์์ฑ๋ฉ๋๋ค.
๋ณต์ ๋ณธ ๋ณต๊ตฌ ์ฒดํฌํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ๋ฅ ์ ํ๋ ๋์คํฌ์์๋ง ์ค๋ ์ท์ ๋ง๋ค ์ ์์ต๋๋ค. ๊ธฐ๊ธฐ๊ฐ ์์ ํ ๋ณต์ ๋์์ ๋ ๋ณต์ ๋ณธ ๋ณต๊ตฌ ์ฒดํฌํฌ์ธํธ์์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๊ณ ์๋ํ๋ฉด ๋ค์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
The device is fully replicated and should not create snapshots out of a recovery checkpoint. Please create regular snapshots instead.
Google Cloud CLI๋ ์์
์ด READY
๋๋ FAILED
์ํ๋ฅผ ๋ฐํํ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค. ์ด๋ฌํ ์ํ๊ฐ ๋ฐํ๋์ง ์๊ณ ์ต๋ ์ ํ ์๊ฐ์ ๋๋ฌํ๋ฉด ์ค๋
์ท์ ๋ํด ๋ง์ง๋ง์ผ๋ก ์๋ ค์ง ์ธ๋ถ์ ๋ณด๋ฅผ ๋ฐํํฉ๋๋ค.
Terraform
Google Cloud ์ฉ Terraform ์ ๊ณต์ ์ฒด๋ ๋ฆฌ์ ๋์คํฌ์ ์ค๋ ์ท ๋ง๋ค๊ธฐ๋ฅผ ์ง์ํ์ง ์์ต๋๋ค. ์ด ์ ํ์ฌํญ์ ์ถ์ ํ๋ ค๋ฉด GitHub์ ๋ฌธ์ ๋ฅผ ์ฐธ์กฐํ์ธ์.
Go
Go
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Compute Engine ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Go ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Compute Engine Go API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Compute Engine์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
์๋ฐ
Java
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Compute Engine ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Java ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Compute Engine Java API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Compute Engine์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Node.js
Node.js
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Compute Engine ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Node.js ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Compute Engine Node.js API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Compute Engine์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Python
Python
์ด ์ํ์ ์ฌ์ฉํด ๋ณด๊ธฐ ์ ์ Compute Engine ๋น ๋ฅธ ์์: ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์ Python ์ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. ์์ธํ ๋ด์ฉ์ Compute Engine Python API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ํ์ธํ์ธ์.
Compute Engine์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
REST
์์ค ๋์คํฌ์ ๋ฐ์ดํฐ ๋๋ ๋ณต์ ๋ณธ ๋ณต๊ตฌ ์ฒดํฌํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ ์ท์ ๋ง๋ค ์ ์์ต๋๋ค.
๋์คํฌ ๋ฐ์ดํฐ
์ค๋ ์ท ์ค์ ์ ์ ์๋ ์คํ ๋ฆฌ์ง ์์น ์ ์ฑ ๋๋ ์์ ์ด ์ ํํ ๋ค๋ฅธ ์คํ ๋ฆฌ์ง ์์น๋ฅผ ์ฌ์ฉํด ๋์คํฌ์ ๋ฐ์ดํฐ์์ ์ค๋ ์ท์ ๋ง๋ค ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ค๋ ์ท ์คํ ๋ฆฌ์ง ์์น ์ ํ์ ์ฐธ์กฐํ์ธ์.
-
์ค๋ ์ท ์ค์ ์ ๊ตฌ์ฑ๋ ์ฌ์ ์ ์๋์๊ฑฐ๋ ๋ง์ถค์ค์ ๋ ๊ธฐ๋ณธ ์์น์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ฉด
snapshots.insert
๋ฉ์๋์POST
์์ฒญ์ ์ํํ์ธ์.POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE" }
-
๋๋ ์ค๋ ์ท ์ค์ ์ ์ฌ์ ์ํ๊ณ ์ปค์คํ ์คํ ๋ฆฌ์ง ์์น์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ฉด
snapshots.insert
๋ฉ์๋์ ๋ํดPOST
์์ฒญ์ ์ํํ๊ณ ์์ฒญ์storageLocations
์์ฑ์ ํฌํจํฉ๋๋ค.POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", "storageLocations": [ "STORAGE_LOCATION" ], }
-
(๋ฏธ๋ฆฌ๋ณด๊ธฐ) ํ์ฉ๋ ๋ฆฌ์ ์์ ๋ฆฌ์ ๋ฒ์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ฉด
snapshots.insert
๋ฉ์๋์ ๋ํดPOST
์์ฒญ์ ์คํํ๊ณ ์์ฑ ๋ฆฌ์ ์ ์ ์ํฉ๋๋ค.POST https://compute.googleapis.com/compute/beta/projects/DESTINATION_PROJECT_ID/regions/SNAPSHOT_SCOPE_REGION/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME", "snapshotType": "SNAPSHOT_TYPE", }
๋ค์์ ๋ฐ๊ฟ๋๋ค.
- DESTINATION_PROJECT_ID: ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ ํ๋ก์ ํธ์ ID์ ๋๋ค.
- SNAPSHOT_NAME: ์ค๋ ์ท์ ์ด๋ฆ์ ๋๋ค.
- SOURCE_PROJECT_ID: ์์ค ๋์คํฌ ํ๋ก์ ํธ์ ID์ ๋๋ค.
- SOURCE_REGION: ์์ค ๋์คํฌ์ ๋ฆฌ์ ์ ๋๋ค.
- SOURCE_DISK_NAME: ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ ๋ฆฌ์ Persistent Disk ๋๋ Hyperdisk Balanced ๊ณ ๊ฐ์ฉ์ฑ ๋ณผ๋ฅจ์ ์ด๋ฆ์ ๋๋ค.
- SNAPSHOT_TYPE: ์ค๋
์ท ์ ํ์
๋๋ค(STANDARD ๋๋ ARCHIVE).
์ค๋
์ท ์ ํ์ ์ง์ ํ์ง ์์ผ๋ฉด
STANDARD
์ค๋ ์ท์ด ์์ฑ๋ฉ๋๋ค. -
STORAGE_LOCATION: (์ ํ์ฌํญ) ์ ์ญ ๋ฒ์ ์ค๋ ์ท์ ๊ฒฝ์ฐ ์ค๋ ์ท์ ์ ์ฅํ Cloud Storage ๋ฉํฐ ๋ฆฌ์ ๋๋ Cloud Storage ๋ฆฌ์ ์ ๋๋ค. ์คํ ๋ฆฌ์ง ์์น๋ ํ๋๋ง ์ง์ ํ ์ ์์ต๋๋ค.
์ค๋ ์ท ์ค์ ์ ๊ตฌ์ฑ๋ ์ฌ์ ์ ์๋์๊ฑฐ๋ ๋ง์ถค ์ค์ ๋ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ์์น๋ฅผ ์ฌ์ ์ํ๋ ค๋ ๊ฒฝ์ฐ์๋ง
storageLocations
๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. SNAPSHOT_SCOPE_REGION: (์ ํ์ฌํญ) ๋ฆฌ์ ๋ฒ์ ์ค๋ ์ท์ ๊ฒฝ์ฐ ์ค๋ ์ท ๋ฒ์๊ฐ ์ง์ ๋ ๋ฆฌ์ ์ ๋๋ค. ์ด ํ๋ผ๋ฏธํฐ๋ฅผ ํฌํจํ๋ฉด
storageLocations
ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. STORAGE_LOCATION์ SNAPSHOT_SCOPE_REGION์ผ๋ก ์๋ ์ค์ ๋ฉ๋๋ค.
์ฒดํฌํฌ์ธํธ
๋๋ ์ฑ๋ฅ ์ ํ๋ ๋์คํฌ์ ๋ณต์ ๋ณธ ๋ณต๊ตฌ ์ฒดํฌํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ ์ท์ ๋ง๋ค ์ ์์ต๋๋ค. ๋ถ์์ ํ ๋ณต์ ๋ณธ์ ์ฌ์ฉํ ์ ์๋ ํ ์ค๋ ์ท์ด ์์ฑ๋ฉ๋๋ค.
๋ณต์ ๋ณธ ๋ณต๊ตฌ ์ฒดํฌํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋
์ท์ ๋ง๋ค๋ ค๋ฉด snapshots.insert
๋ฉ์๋์ ๋ํด POST
์์ฒญ์ ์ํํฉ๋๋ค.
sourceDisk
๋งค๊ฐ๋ณ์๋ฅผ ์ ์ธํ๊ณ ๋์ sourceDiskForRecoveryCheckpoint
๋งค๊ฐ๋ณ์๋ฅผ ํฌํจํด์ ์ฒดํฌํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋
์ท์ ๋ง๋ค๋๋ก ์ง์ ํฉ๋๋ค.
POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDiskForRecoveryCheckpoint": "projects/SOURCE_PROJECT_ID/regions/SOURCE_REGION/disks/SOURCE_DISK_NAME", "storageLocations": "STORAGE_LOCATION", "snapshotType": "SNAPSHOT_TYPE" }
๋ค์์ ๋ฐ๊ฟ๋๋ค.
DESTINATION_PROJECT_ID
: ์ค๋ ์ท์ ๋ง๋ค๋ ค๋ ํ๋ก์ ํธ์ ID์ ๋๋ค.SNAPSHOT_NAME
: ์ค๋ ์ท์ ์ด๋ฆ์ ๋๋ค.SOURCE_PROJECT_ID
: ์ค๋ ์ท์ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ์์ค ๋์คํฌ์ ํ๋ก์ ํธ ID์ ๋๋ค.SOURCE_REGION
: ์ค๋ ์ท์ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ์์ค ๋์คํฌ์ ๋ฆฌ์ ์ ๋๋ค.SOURCE_DISK_NAME
: ์ค๋ ์ท์ ๋ง๋๋ ๋ฐ ์ฌ์ฉํ ์์ค ๋์คํฌ์ ์ด๋ฆ์ ๋๋ค.STORAGE_LOCATION
: (์ ํ์ฌํญ) ์ค๋ ์ท์ ์ ์ฅํ Cloud Storage ๋ฉํฐ ๋ฆฌ์ ๋๋ Cloud Storage ๋ฆฌ์ ์ ๋๋ค. ์คํ ๋ฆฌ์ง ์์น๋ ํ๋๋ง ์ง์ ํ ์ ์์ต๋๋ค.
์ค๋ ์ท ์ค์ ์ ๊ตฌ์ฑ๋ ์ฌ์ ์ ์๋์๊ฑฐ๋ ๋ง์ถค ์ค์ ๋ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ์์น๋ฅผ ๋ฌดํจํํ๋ ค๋ ๊ฒฝ์ฐ์๋งstorageLocations
๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.SNAPSHOT_TYPE
: ์ค๋ ์ท ์ ํ์ ๋๋ค(STANDARD ๋๋ ARCHIVE). ์ค๋ ์ท ์ ํ์ ์ง์ ํ์ง ์์ผ๋ฉด STANDARD ์ค๋ ์ท์ด ์์ฑ๋ฉ๋๋ค.
๋ณต์ ๋ณธ ๋ณต๊ตฌ ์ฒดํฌํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ๋ฅ ์ ํ๋ ๋์คํฌ์์๋ง ์ค๋ ์ท์ ๋ง๋ค ์ ์์ต๋๋ค. ๊ธฐ๊ธฐ๊ฐ ์์ ํ ๋ณต์ ๋์์ ๋ ๋ณต์ ๋ณธ ๋ณต๊ตฌ ์ฒดํฌํฌ์ธํธ์์ ์ค๋ ์ท์ ๋ง๋ค๋ ค๊ณ ์๋ํ๋ฉด ๋ค์ ์ค๋ฅ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
The device is fully replicated and should not create snapshots out of a recovery checkpoint. Please create regular snapshots instead.
๋ค์ ๋จ๊ณ
- ๋์คํฌ์ ์์ฝ ์ค๋ ์ท์ ๋ง๋๋ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ
- ๋์คํฌ ์ค๋ ์ท ๋ณด๊ธฐ, ์ญ์ , ๊ณต์ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ
- ์ค๋ ์ท์์ ๋์คํฌ ์ด๋ฏธ์ง๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ