Storage Transfer Service๋ Amazon S3 API์ ํธํ๋๋ ํด๋ผ์ฐ๋ ๋๋ ์จํ๋ ๋ฏธ์ค ๊ฐ์ฒด ์คํ ๋ฆฌ์ง ์์คํ ์์์ ์ ์ก์ ์ง์ํฉ๋๋ค.
Storage Transfer Service๋ ๋ฐ์ดํฐ ์์ค์ ๊ฐ๊น์ด VM์ ๋ฐฐํฌ๋ ์ ์ก ์์ด์ ํธ๋ฅผ ์ฌ์ฉํ์ฌ S3 ํธํ ์คํ ๋ฆฌ์ง์ ๋ฐ์ดํฐ์ ์ก์ธ์คํฉ๋๋ค. ์ด๋ฌํ ์์ด์ ํธ๋ Docker ์ปจํ ์ด๋์์ ์คํ๋๋ฉฐ ์์ด์ ํธ ํ์ ์ํฉ๋๋ค. ์์ด์ ํธ ํ์ ๋์ผํ ๊ตฌ์ฑ์ ์ฌ์ฉํ๊ณ ์ ์ฒด์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณ๋ ฌ๋ก ์ด๋์ํค๋ ์์ด์ ํธ ๋ชจ์์ ๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์จํ๋ ๋ฏธ์ค ๋๋ ํด๋ผ์ฐ๋ ๊ฐ์ฒด ์คํ ๋ฆฌ์ง์์ Cloud Storage๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ด์ฒ๋ฆฌํ์ฌ ์จํ๋ ๋ฏธ์ค ์คํ ๋ฆฌ์ง ์ฉ๋์ ํ๋ณดํ๊ฑฐ๋ ๋น์ฆ๋์ค ์ฐ์์ฑ์ ์ํดGoogle Cloud ์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ ํ๊ฑฐ๋ ๋ถ์ ๋ฐ ์ฒ๋ฆฌ๋ฅผ ์ํดGoogle Cloud ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์์ต๋๋ค. AWS S3์์ Cloud Storage๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ๊ณ ๊ฐ์๊ฒ ์ด ๊ธฐ๋ฅ์ Google Cloud๋ก์ ๋คํธ์ํฌ ๊ฒฝ๋ก๋ฅผ ์ ์ดํ ์ ์๋ ์ต์ ์ ์ ๊ณตํ์ฌ ์์๋ฐ์ด๋ ๋ฐ์ดํฐ ์ ์ก ๋น์ฉ์ด ์๋นํ ์ ๊ฐ๋ฉ๋๋ค.
์์ํ๊ธฐ ์ ์
์ ์ก์ ๊ตฌ์ฑํ๊ธฐ ์ ์ ๋ค์ ๋จ๊ณ๋ฅผ ์๋ฃํ์ธ์.
- gcloud CLI๋ฅผ ์ค์นํฉ๋๋ค.
- ์ ์ก ์์ด์ ํธ ๋จธ์ ์ Docker๋ฅผ ์ค์นํ๋ ๋ฑ ํ์ผ ์์คํ ์ ์ก ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํฉ๋๋ค.
์์ค ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ
S3 ํธํ ์คํ ๋ฆฌ์ง์์ ์ ์กํ๋ ค๋ฉด ์ก์ธ์ค ํค ID ๋ฐ ๋ณด์ ๋น๋ฐ ์ก์ธ์ค ํค๊ฐ ํ์ํฉ๋๋ค.
์ด๋ฅผ ๊ฐ์ ธ์ค๋ ๋จ๊ณ๋ ์คํ ๋ฆฌ์ง ์ ๊ณต์ ์ฒด์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
ID์ ํค๊ฐ ์์ฑ๋๋ ๊ณ์ ์๋ ๋ค์ ๊ถํ ์ค ํ๋๊ฐ ํ์ํฉ๋๋ค.
- ์์ค์์ ๊ฐ์ฒด๋ฅผ ์ญ์ ํ์ง ์์ผ๋ ค๋ ๊ฒฝ์ฐ ์์ค ๊ฐ์ฒด์ ๋ํ ์ฝ๊ธฐ ์ ์ฉ ๊ถํ
- ์ ์ก ์ค์ ์์ค์์ ๊ฐ์ฒด๋ฅผ ์ญ์ ํ๋ ๊ฒฝ์ฐ ์์ค ๊ฐ์ฒด์ ๋ํ ์ ์ฒด ์ก์ธ์ค ๊ถํ
๊ณ์ ์ ๋ง๋ค๊ณ , ๊ถํ์ ์ถ๊ฐํ๊ณ , ์ก์ธ์ค ํค ID ๋ฐ ๋ณด์ ๋น๋ฐ ์ก์ธ์ค ํค๋ฅผ ๋ค์ด๋ก๋ํ์ผ๋ฉด ID์ ํค๋ฅผ ์์ ํ ๊ณณ์ ์ ์ฅํฉ๋๋ค.
Google Cloud ๊ถํ ๊ตฌ์ฑ
์ ์ก์ ๋ง๋ค๊ธฐ ์ ์ ๋ค์ ํญ๋ชฉ์ ๋ํ ๊ถํ์ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
์ ์ก์ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ ์ฌ์ฉ์ ๊ณ์ . ์ด ๊ณ์ ์ Google Cloud ์ฝ์์ ๋ก๊ทธ์ธ๋ ๊ณ์ ์ด๊ฑฐ๋ `gcloud` CLI์ ์ธ์ฆํ ๋ ์ง์ ๋ ๊ณ์ ์ ๋๋ค. ์ฌ์ฉ์ ๊ณ์ ์ ์ผ๋ฐ ์ฌ์ฉ์ ๊ณ์ ์ด๋ ์ฌ์ฉ์ ๊ด๋ฆฌํ ์๋น์ค ๊ณ์ ์ผ ์ ์์ต๋๋ค. | |
Google ๊ด๋ฆฌ ์๋น์ค ๊ณ์ ์ ์๋น์ค ์์ด์ ํธ๋ผ๊ณ ๋ ํ๋ฉฐ Storage Transfer Service์์ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๊ณ์ ์ ์ผ๋ฐ์ ์ผ๋ก project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com ํ์์ ์ฌ์ฉํ๋ ์ด๋ฉ์ผ ์ฃผ์๋ก ์๋ณ๋ฉ๋๋ค.
|
|
![]() |
์ ์ก ์์ด์ ํธ์ Google Cloud ๊ถํ์ ์ ๊ณตํ๋ ์ ์ก ์์ด์ ํธ ๊ณ์ . ์ ์ก ์์ด์ ํธ ๊ณ์ ์ ์ค์นํ๋ ์ฌ์ฉ์์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ ์ฌ์ฉ์ ๊ด๋ฆฌํ ์๋น์ค ๊ณ์ ์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆํฉ๋๋ค. |
์์ธํ ๋ด์ฉ์ ์์ด์ ํธ ๊ธฐ๋ฐ ์ ์ก ๊ถํ์ ์ฐธ์กฐํ์ธ์.
์ ์ก ์ต์
S3 ํธํ ์คํ ๋ฆฌ์ง์์ Cloud Storage๋ก ์ ์กํ ๋ ๋ค์๊ณผ ๊ฐ์ Storage Transfer Service ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋งค๋ํ์คํธ๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ํ์ผ ์ ์ก
- ์์ ํ Storage Transfer Service ํ์ผ์ ๋ชฉ๋ก์ ์ ๋ฌํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋งค๋ํ์คํธ๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ํ์ผ ๋๋ ๊ฐ์ฒด ์ ์ก์ ์ฐธ์กฐํ์ธ์.
- ์คํ ๋ฆฌ์ง ํด๋์ค ์ง์
- ๋์ ๋ฒํท์ ๋ฐ์ดํฐ์ ์ฌ์ฉํ Cloud Storage ์คํ ๋ฆฌ์ง ํด๋์ค๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. REST ์ธ๋ถ์ ๋ณด๋
StorageClass
์ต์ ์ ์ฐธ์กฐํ๊ฑฐ๋ Google Cloud CLI์์--custom-storage-class
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ธ์.๋์ ๋ฒํท์ ์๋ ํด๋์ค๊ฐ ์ฌ์ฉ ์ค์ ๋๋ฉด ์คํ ๋ฆฌ์ง ํด๋์ค ์ค์ ์ด ๋ฌด์๋ฉ๋๋ค. ์๋ ํด๋์ค๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ฉด ์ฒ์์๋ ๋ฒํท์ผ๋ก ์ ์ก๋ ๊ฐ์ฒด๊ฐ Standard Storage๋ก ์ค์ ๋ฉ๋๋ค.
- ๋ฉํ๋ฐ์ดํฐ ๋ณด์กด
-
S3 ํธํ ์คํ ๋ฆฌ์ง์์ ํ์ผ์ ์ ์กํ ๋ Storage Transfer Service๋ ์ ํ์ ์ผ๋ก ํน์ ์์ฑ์ ์ปค์คํ ๋ฉํ๋ฐ์ดํฐ๋ก ๋ณด์กดํ ์ ์์ต๋๋ค.
๋ณด์กดํ ์ ์๋ ๋ฉํ๋ฐ์ดํฐ์ ์ ์ก์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ฉํ๋ฐ์ดํฐ ๋ณด์กด์ Amazon S3 ๋๋ S3 ํธํ ์คํ ๋ฆฌ์ง์์ Cloud Storage๋ก ์ ์ก ์น์ ์ ์ฐธ์กฐํ์ธ์.
- ๋ก๊น ๋ฐ ๋ชจ๋ํฐ๋ง
- Cloud Logging ๋ฐ Cloud Monitoring์์ S3 ํธํ ์คํ ๋ฆฌ์ง์์์ ์ ์ก์ ๋ณผ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ Storage Transfer Service์ฉ Cloud Logging ๋ฐ ์ ์ก ์์ ๋ชจ๋ํฐ๋ง์ ์ฐธ์กฐํ์ธ์. ๋ํ Pub/Sub ์๋ฆผ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์์ด์ ํธ ํ ๋ง๋ค๊ธฐ
์์ด์ ํธ ํ์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์
Google Cloud ์ฝ์์์ ์์ด์ ํธ ํ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์์ด์ ํธ ํ ํ์ด์ง๊ฐ ํ์๋๊ณ ๊ธฐ์กด ์์ด์ ํธ ํ์ด ๋์ด๋ฉ๋๋ค.
๋ค๋ฅธ ํ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํ ์ด๋ฆ์ ์ง์ ํ๊ณ ํ์ํ ๊ฒฝ์ฐ ์ค๋ช ํฉ๋๋ค.
ํ์ ์ ์ฒด ๋์ญํญ ๋จ์๋ก ์ ์ฉํ ๋์ญํญ ํ๋๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. ์ง์ ๋ ๋์ญํญ(MB/s)์ด ํ์ ์๋ ๋ชจ๋ ์์ด์ ํธ๋ก ๋ถํ ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋คํธ์ํฌ ๋์ญํญ ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
REST API
projects.agentPools.create๋ฅผ ์ฌ์ฉํฉ๋๋ค.
POST https://storagetransfer.googleapis.com/v1/projects/PROJECT_ID/agentPools?agent_pool_id=AGENT_POOL_ID
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
PROJECT_ID
: ์์ด์ ํธ ํ์ ๋ง๋ค๋ ค๋ ํ๋ก์ ํธ ID์ ๋๋ค.AGENT_POOL_ID
: ๋ง๋ค๋ ค๋ ์์ด์ ํธ ํ ID์ ๋๋ค.
์์ด์ ํธ ํ์ด Creating
์ํ์์ 30๋ถ์ด ๋๊ฒ ์ ์ฒด๋๋ ๊ฒฝ์ฐ ์์ด์ ํธ ํ์ ์ญ์ ํ๊ณ ๋ค์ ๋ง๋๋ ๊ฒ์ด ์ข์ต๋๋ค.
์์ด์ ํธ ํ์ด Creating
์ํ์ผ ๋ ํ๋ก์ ํธ์์ ํ์ Storage Transfer Service ๊ถํ์ ์ทจ์ํ๋ฉด ์๋ชป๋ ์๋น์ค ๋์์ด ๋ฐ์ํฉ๋๋ค.
gcloud CLI
gcloud
๋ช
๋ น์ค ๋๊ตฌ๋ก ์์ด์ ํธ ํ์ ๋ง๋ค๋ ค๋ฉด [gcloud transfer agent-pools create
][agent-pools-create]๋ฅผ ์คํํฉ๋๋ค.
gcloud transfer agent-pools create AGENT_POOL
์ฌ์ฉ ๊ฐ๋ฅํ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
AGENT_POOL์ ์ด ํ์ ๊ณ ์ ํ ์๊ตฌ ์๋ณ์์ ๋๋ค.
--no-async
๋ ํ์ด ์์ฑ๋ ๋๊น์ง ํฐ๋ฏธ๋์์ ๋ค๋ฅธ ํ์คํฌ๋ฅผ ์ฐจ๋จํฉ๋๋ค. ์ด๋ฅผ ํฌํจํ์ง ์์ผ๋ฉด ํ ์์ฑ์ด ๋น๋๊ธฐ์ ์ผ๋ก ์คํ๋ฉ๋๋ค.--bandwidth-limit
๋ ์ด ํ์ ์์ด์ ํธ์ ์ ๊ณตํ ์ ์๋ ๋์ญํญ ์์ MB/์ด ๋จ์๋ก ์ ์ํฉ๋๋ค. ๋์ญํญ ํ๋๋ ํ์ ๋ชจ๋ ์์ด์ ํธ์ ์ ์ฉ๋๋ฉฐ ํ์ ์ ์ก ์ํฌ๋ก๋๊ฐ ๋์ญํญ์ ๊ณต์ ํ๋ ๋ค๋ฅธ ์์ ์ ์ค๋จ์ํค๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋์ญํญ ํ๋๋ฅผ 50MB/s๋ก ์ค์ ํ๋ ค๋ฉด '50'์ ์ ๋ ฅํฉ๋๋ค. ์ด ํ๋๊ทธ๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด ์ด ํ์ ์์ด์ ํธ๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋์ญํญ์ ์ฌ์ฉํฉ๋๋ค.--display-name
์ ์ด ํ์ ์๋ณํ๋ ๋ฐ ๋์์ด ๋๋ ์์ ๊ฐ๋ฅํ ์ด๋ฆ์ ๋๋ค. ํ์ ๊ณ ์ ํ ์ ์ฒด ๋ฆฌ์์ค ์ด๋ฆ์ ๋ง์ง ์์ ์ ์๋ ์ธ๋ถ์ ๋ณด๋ฅผ ํฌํจํ ์ ์์ต๋๋ค.
์ ์ก ์์ด์ ํธ ์ค์น
์ ์ก ์์ด์ ํธ๋ Storage Transfer Service๋ฅผ ํตํด ์์ค์ ์ ์ก ํ๋์ ์กฐ์ ํ๋ ์ํํธ์จ์ด ์์ด์ ํธ์ ๋๋ค. ์์ค ๋ฐ์ดํฐ์ ๋ํ ์ก์ธ์ค ๊ถํ์ด ์๋ ์์คํ ์ ์ค์นํด์ผ ํฉ๋๋ค.
gcloud CLI
gcloud
CLI๋ฅผ ์ฌ์ฉํ์ฌ S3 ํธํ ์์ค์ ์ฌ์ฉํ ์์ด์ ํธ๋ฅผ ์ค์นํ๋ ค๋ฉด transfer agents install
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ก์ธ์ค ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ํ๊ฒฝ ๋ณ์๋ก AWS_ACCESS_KEY_ID
๋ฐ AWS_SECRET_ACCESS_KEY
๊ฐ์ผ๋ก ์ ๊ณตํ๊ฑฐ๋ ์์คํ
๊ตฌ์ฑ ํ์ผ์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ก ์ ์ฅํด์ผ ํฉ๋๋ค.
export AWS_ACCESS_KEY_ID=ID
export AWS_SECRET_ACCESS_KEY=SECRET
gcloud transfer agents install --pool=POOL_NAME
์๋น์ค ๊ณ์ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์์ด์ ํธ๋ฅผ ๋ง๋ค๋ ค๋ฉด --creds-file
์ต์
์ ์ฌ์ฉํฉ๋๋ค.
gcloud transfer agents install --pool=POOL_NAME \
--creds-file=/relative/path/to/service-account-key.json
์ ์ก ์์ ๋ง๋ค๊ธฐ
Google Cloud ์ฝ์
S3 ํธํ ์์ค์์ Cloud Storage ๋ฒํท์ผ๋ก์ ์ ์ก์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์.
Google Cloud ์ฝ์์์ Storage Transfer Service ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ ์ก ์์ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค. ์ ์ก ์์ ๋ง๋ค๊ธฐ ํ์ด์ง๊ฐ ํ์๋ฉ๋๋ค.
์์ค ์ ํ์ผ๋ก S3 ํธํ ๊ฐ์ฒด ์คํ ๋ฆฌ์ง๋ฅผ ์ ํํฉ๋๋ค. ๋์ ์์น๋ Google Cloud Storage์ฌ์ผ ํฉ๋๋ค.
๋ค์ ๋จ๊ณ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์์ค ๊ตฌ์ฑ
์ด ์ ์ก์ ํ์ํ ์ ๋ณด๋ฅผ ์ง์ ํฉ๋๋ค.
์ด ์ ์ก์ ๋ํด ๊ตฌ์ฑํ ์์ด์ ํธ ํ์ ์ ํํฉ๋๋ค.
์๋ํฌ์ธํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฒํท ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ฐ์ดํฐ๊ฐ ๋ค์ ์์น์ ์๋ ๊ฒฝ์ฐ:
https://example.com/bucket_a
bucket_a
์ ๋ ฅ์๋ํฌ์ธํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค. ํ๋กํ ์ฝ (
http://
๋๋https://
) ๋๋ ๋ฒํท ์ด๋ฆ์ ํฌํจํ์ง ๋ง์ธ์. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.example.com
์ด ์ ์ก์ ์ ํ์ ์์ฑ์ ์ง์ ํฉ๋๋ค.
์์ฒญ ์๋ช ์ ์ฌ์ฉํ ์๋ช ๋ฆฌ์ ์ ์ ๋ ฅํฉ๋๋ค.
์ด ์์ฒญ์ ๋ํ ์๋ช ํ๋ก์ธ์ค๋ฅผ ์ ํํฉ๋๋ค.
์ฃผ์ ์ง์ ์คํ์ผ์ ์ ํํฉ๋๋ค. ์ด์ ๋ฐ๋ผ ๋ฒํท ์ด๋ฆ์ด ๊ฒฝ๋ก ์คํ์ผ๋ก ์ ๊ณต๋๋์ง ์ฌ๋ถ(์:
https://example.com/bucket-name/key-name
) ๋๋ ๊ฐ์ ํธ์คํ ์คํ์ผ(์:https://bucket-name.example.com/key-name
)์ ๋๋ค. ์์ธํ ๋ด์ฉ์ Amazon ๋ฌธ์์ Virtual hosting of buckets๋ฅผ ์ฐธ์กฐํ์ธ์.๋คํธ์ํฌ ํ๋กํ ์ฝ์ ์ ํํฉ๋๋ค.
์ฌ์ฉํ ๋ชฉ๋ก API ๋ฒ์ ์ ์ ํํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ListObjectsV2 ๋ฐ ListObjects ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์ ๋จ๊ณ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ฑํฌ ๊ตฌ์ฑ
๋ฒํท ๋๋ ํด๋ ํ๋์ ๋์ ๋ฒํท๊ณผ ํด๋ ์ด๋ฆ(์ ํ์ฌํญ)์ ์ ๋ ฅํ๊ฑฐ๋ ์ฐพ์๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ ํ์ฌ ํ๋ก์ ํธ์ ๊ธฐ์กด ๋ชฉ๋ก์์ ๋ฒํท์ ์ ํํฉ๋๋ค. ์ ๋ฒํท์ ๋ง๋ค๋ ค๋ฉด
์ ๋ฒํท ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ค์ ๋จ๊ณ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ ์ก ์ค์ ์ ํ
์ค๋ช ํ๋์ ์ ์ก ์ค๋ช ์ ์ ๋ ฅํฉ๋๋ค. ์์ ์ ๊ตฌ๋ถํ ์ ์๋๋ก ์๋ฏธ ์๊ณ ๊ณ ์ ํ ์ค๋ช ์ ์ ๋ ฅํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ฉํ๋ฐ์ดํฐ ์ต์ ์์ ๊ธฐ๋ณธ ์ต์ ์ ์ฌ์ฉํ๋๋ก ์ ํํ๊ฑฐ๋ ์ต์ ๋ณด๊ธฐ ๋ฐ ์ ํ์ ํด๋ฆญํ์ฌ ์ง์๋๋ ๋ชจ๋ ๋ฉํ๋ฐ์ดํฐ์ ๊ฐ์ ์ง์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฉํ๋ฐ์ดํฐ ๋ณด์กด์ ์ฐธ์กฐํ์ธ์.
๋ฎ์ด์ธ ์์ ์์ ๋ค์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
๋ค๋ฅธ ๊ฒฝ์ฐ: ์ด๋ฆ์ด ๊ฐ์ ์์ค ํ์ผ์ ๋ค๋ฅธ Etag ๋๋ ์ฒดํฌ์ฌ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๋์ ํ์ผ์ ๋ฎ์ด์๋๋ค.
ํญ์: ์์ค ํ์ผ ์ด๋ฆ์ด ๊ฐ์ผ๋ฉด ๋์ผํ๋๋ผ๋ ํญ์ ๋์ ํ์ผ์ ๋ฎ์ด์๋๋ค.
์ญ์ ์์ ์์ ๋ค์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
์ญ์ ์ํจ: ์์ค ๋๋ ๋์ ์์น์์ ํ์ผ์ ์ญ์ ํ์ง ์์ต๋๋ค.
์ ์ก ํ ์์ค์์ ํ์ผ ์ญ์ : ํ์ผ์ด ๋์์ผ๋ก ์ ์ก๋ ํ ์์ค์์ ํ์ผ์ ์ญ์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋์์ ์ด๋ฏธ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์์ค ํ์ผ์ด ์ ์ก๋์ง ์์ผ๋ฉด ์์ค ํ์ผ์ด ์ญ์ ๋์ง ์์ต๋๋ค.
์์ค์๋ ์๋ ๊ฒฝ์ฐ ๋์ ์์น์์ ํ์ผ ์ญ์ : ๋์ Cloud Storage ๋ฒํท์ ํ์ผ์ด ์์ค์๋ ์๋ ๊ฒฝ์ฐ Cloud Storage ๋ฒํท์์ ํ์ผ์ ์ญ์ ํฉ๋๋ค.
์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด ๋์ Cloud Storage ๋ฒํท์ด ์์ค์ ์ ํํ๊ฒ ์ผ์นํฉ๋๋ค.
์๋ฆผ ์ต์ ์์ Pub/Sub ์ฃผ์ ๋ฐ ์๋ฆผ์ ๋ฐ์ ์ด๋ฒคํธ๋ฅผ ์ ํํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Pub/Sub ์๋ฆผ์ ์ฐธ์กฐํ์ธ์.
๋ค์ ๋จ๊ณ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ ์ก ์์ฝ
์ ์ก์ ํ ๋ฒ๋ง ์คํํ๋๋ก ์์ฝํ๊ฑฐ๋ ๋ฐ๋ณต ์ ์ก์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ ์ ์ก ์์ ์ ๋ง๋ญ๋๋ค.
gcloud CLI
gcloud
CLI๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ก์ ๋ง๋ค๊ธฐ ์ ์ Cloud Storage ์ฑํฌ์ ๋ํ ์ก์ธ์ค ๊ตฌ์ฑ์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
gcloud
CLI๋ฅผ ์ฌ์ฉํ์ฌ S3 ํธํ ์์ค์์ Cloud Storage ๋ฒํท์ผ๋ก์ ์ ์ก์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
gcloud transfer jobs create s3://SOURCE_BUCKET_NAME gs://SINK_BUCKET_NAME \
--source-agent-pool=POOL_NAME \
--source-endpoint=ENDPOINT \
--source-signing-region=REGION \
--source-auth-method=AWS_SIGNATURE_V2 | AWS_SIGNATURE_V4 \
--source-request-model=PATH_STYLE | VIRTUAL_HOSTED_STYLE \
--source-network-protocol=HTTP | HTTPS \
--source-list-api=LIST_OBJECTS | LIST_OBJECTS_V2
๋ค์ ํ๋๊ทธ๋ ํ์์ ๋๋ค.
--source-agent-pool
์ ์ด ์ ์ก์ ์ฌ์ฉํ ์์ด์ ํธ ํ์ ์ด๋ฆ์ ๋๋ค.--source-endpoint
๋ ์คํ ๋ฆฌ์ง ์์คํ ์ ์๋ํฌ์ธํธ๋ฅผ ์ง์ ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉดs3.us-east.example.com
์ ๋๋ค. ์ฌ๋ฐ๋ฅธ ํ์์ ์ ๊ณต์ ์ฒด์ ๋ฌธ์ํ์ธ์. ํ๋กํ ์ฝ (์:https://
) ๋๋ ๋ฒํท ์ด๋ฆ์ ๋๋ค.
๋๋จธ์ง ํ๋๊ทธ๋ ์ ํ์ฌํญ์ ๋๋ค.
--source-signing-region
์ ์์ฒญ์ ์๋ช ํ ๋ฆฌ์ ์ ์ง์ ํฉ๋๋ค. ์คํ ๋ฆฌ์ง ์ ๊ณต์ ์ฒด์ ์๋ช ๋ฆฌ์ ์ด ํ์ํ์ง ์์ผ๋ฉด ์ด ํ๋๊ทธ๋ฅผ ์๋ตํฉ๋๋ค.--source-auth-method
๋ ์ฌ์ฉํ ์ธ์ฆ ๋ฐฉ๋ฒ์ ์ง์ ํฉ๋๋ค. ์ ํจํ ๊ฐ์AWS_SIGNATURE_V2
๋๋AWS_SIGNATURE_V4
์ ๋๋ค. ์์ธํ ๋ด์ฉ์ Amazon์ SigV4 ๋ฐ SigV2 ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.--source-request-model
์ ์ฌ์ฉํ ์ฃผ์ ์ง์ ์คํ์ผ์ ์ง์ ํฉ๋๋ค. ์ ํจํ ๊ฐ์PATH_STYLE
๋๋VIRTUAL_HOSTED_STYLE
์ ๋๋ค. ๊ฒฝ๋ก ์คํ์ผ์https://s3.REGION.example.com/BUCKET_NAME/KEY_NAME
ํ์์ ์ฌ์ฉํฉ๋๋ค. ๊ฐ์ ํธ์คํ ์คํ์ผ์ 'https://BUCKET_NAME.s3.REGION.example.com/KEY_NAME ํ์์ ์ฌ์ฉํฉ๋๋ค.--source-network-protocol
์ ์์ด์ ํธ๊ฐ ์ด ์์ ์ ์ฌ์ฉํด์ผ ํ๋ ๋คํธ์ํฌ ํ๋กํ ์ฝ์ ์ง์ ํฉ๋๋ค. ์ ํจํ ๊ฐ์HTTP
๋๋HTTPS
์ ๋๋ค.--source-list-api
๋ ๋ฒํท์์ ๊ฐ์ฒด๋ฅผ ๋ฐํํ๊ธฐ ์ํ S3 Listing API ๋ฒ์ ์ ์ง์ ํฉ๋๋ค. ์ ํจํ ๊ฐ์LIST_OBJECTS
๋๋LIST_OBJECTS_V2
์ ๋๋ค. ์์ธํ ๋ด์ฉ์ Amazon์ ListObjectsV2 ๋ฐ ListObjects ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
์ถ๊ฐ ์ ์ก ์์
์ต์
์ ๋ณด๋ ค๋ฉด gcloud transfer jobs create --help
๋ฅผ ์คํํ๊ฑฐ๋ gcloud
์ฐธ์กฐ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
REST API
REST API๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ก์ ๋ง๋ค๊ธฐ ์ ์ Cloud Storage ์ฑํฌ์ ๋ํ ์ก์ธ์ค ๊ตฌ์ฑ์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
REST API๋ฅผ ์ฌ์ฉํ์ฌ S3 ํธํ ์์ค๋ก๋ถํฐ์ ์ ์ก์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ์์์ ์ ์ฌํ JSON ๊ฐ์ฒด๋ฅผ ๋ง๋ญ๋๋ค.
POST https://storagetransfer.googleapis.com/v1/transferJobs
{
...
"transferSpec": {
"source_agent_pool_name":"POOL_NAME",
"awsS3CompatibleData": {
"region":"us-east-1",
"s3Metadata":{
"protocol": "NETWORK_PROTOCOL_HTTPS",
"requestModel": "REQUEST_MODEL_VIRTUAL_HOSTED_STYLE",
"authMethod": "AUTH_METHOD_AWS_SIGNATURE_V4"
},
"endpoint": "example.com",
"bucketName": "BUCKET_NAME",
"path": "PATH",
},
"gcsDataSink": {
"bucketName": "SINK_NAME",
"path": "SINK_PATH"
},
"transferOptions": {
"deleteObjectsFromSourceAfterTransfer": false
}
}
}
ํ๋ ์ค๋ช
์ AwsS3CompatibleData
API ์ฐธ์กฐ๋ฅผ ํ์ธํ์ธ์.
ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ก์ ๋ง๋ค๊ธฐ ์ ์ Cloud Storage ์ฑํฌ์ ๋ํ ์ก์ธ์ค ๊ตฌ์ฑ์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
Go
Storage Transfer Service์ฉ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ Storage Transfer Service ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์. ์์ธํ ๋ด์ฉ์ Storage Transfer Service Go API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
Storage Transfer Service์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Java
Storage Transfer Service์ฉ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ Storage Transfer Service ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์. ์์ธํ ๋ด์ฉ์ Storage Transfer Service Java API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
Storage Transfer Service์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Node.js
Storage Transfer Service์ฉ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ Storage Transfer Service ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์. ์์ธํ ๋ด์ฉ์ Storage Transfer Service Node.js API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
Storage Transfer Service์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
Python
Storage Transfer Service์ฉ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ Storage Transfer Service ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์. ์์ธํ ๋ด์ฉ์ Storage Transfer Service Python API ์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
Storage Transfer Service์ ์ธ์ฆํ๋ ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ณธ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ธ์ฆ ์ค์ ์ ์ฐธ์กฐํ์ธ์.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ(FAQ)
S3 ํธํ ์คํ ๋ฆฌ์ง์์ ์ ์กํ๋ ๋ฐ ๋น์ฉ์ด ๋๋์?
S3 ํธํ ์คํ ๋ฆฌ์ง์ ์ ์ก์ 'Storage Transfer Service ์ ์ก ํ์ ์์ด์ ํธ' ์๊ธ์ด ๋ฐ์ํ์ง ์์ต๋๋ค. ๋ฐ์ํ ์ ์๋ ๊ธฐํ ์๊ธ์ ๊ฐ๊ฒฉ ์ฑ ์ ์ ์ฐธ์กฐํ์ธ์. ์์ค ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด์์ ์์๋ฐ์ด๋ ๋ฐ์ดํฐ ์ ์ก ๋ฐ ์์ ๋น์ฉ๋ ๋ฐ์ํ ์ ์์ต๋๋ค.
Cloud Logging์ด S3 ํธํ ์คํ ๋ฆฌ์ง ์ ์ก์ ์ง์๋๋์?
์, Storage Transfer Service์ Cloud Logging์ ์๋ด์ ๋ฐ๋ผ ์ ์ก์ ๋ํด Cloud Logging์ ์ฌ์ฉ ์ค์ ํ ์ ์์ต๋๋ค.
๋งค๋ํ์คํธ๋ฅผ ์ฌ์ฉํ ์ ์ก์ด ์ง์๋๋์?
์, ๋งค๋ํ์คํธ ํ์ผ์ S3 ํธํ ์ ์ก์ ์ง์๋ฉ๋๋ค.
์์ ์ด ์์๋ ํ ์์ค ๋ฒํท์ ๊ฐ์ฒด๋ฅผ ์ถ๊ฐํ๋ฉด ๊ฐ์ฒด๊ฐ ์ ์ก๋๋์?
Storage Transfer Service๋ ์์ค ๋ฒํท์์ ๋ชฉ๋ก ์์ ์ ์ํํ์ฌ ๋์๊ณผ์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํฉ๋๋ค. ์ ๊ฐ์ฒด๊ฐ ์ถ๊ฐ๋ ๋ ๋ชฉ๋ก ์์ ์ด ์ด๋ฏธ ์๋ฃ๋ ๊ฒฝ์ฐ ํด๋น ๊ฐ์ฒด๋ ๋ค์ ์ ์ก๊น์ง ๊ฑด๋๋๋๋ค.
Storage Transfer Service๋ S3 ํธํ ์์ค์์ ์ฒดํฌ์ฌ ์ผ์น๋ฅผ ์ํํ๋์?
Storage Transfer Service๋ ์์ค์์ ๋ฐํ๋๋ ์ฒดํฌ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค. S3 ํธํ ์คํ ๋ฆฌ์ง์ ๊ฒฝ์ฐ Storage Transfer Service๋ ๊ฐ์ฒด์ Etag๊ฐ ๊ฐ์ฒด์ MD5 ํด์๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค.
ํ์ง๋ง S3 ๋ฉํฐํํธ ์ ๋ก๋๋ฅผ ์ฌ์ฉํ์ฌ S3 ํธํ ์คํ ๋ฆฌ์ง๋ก ์ ์ก๋ ๋ชจ๋ ๊ฐ์ฒด์๋ MD5 ETag๊ฐ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ Storage Transfer Service๋ ํ์ผ ํฌ๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ก๋ ๊ฐ์ฒด๋ฅผ ๊ฒ์ฆํฉ๋๋ค.
S3 ํธํ ์คํ ๋ฆฌ์ง์์ ์ ์กํ ๋ ์ด๋ค ์ฒ๋ฆฌ๋์ ๋ฌ์ฑํ ์ ์๋์?
์ ์ก ์์ด์ ํธ๋ฅผ ๋ ์ถ๊ฐํ์ฌ ์ ์ก ์ฒ๋ฆฌ๋์ ํ์ฅํ ์ ์์ต๋๋ค. ๋ด๊ฒฐํจ์ฑ์ ์ํด 3๊ฐ์ ์์ด์ ํธ๋ฅผ ์ฌ์ฉํ๊ณ 10Gbps ๋ฏธ๋ง์ผ๋ก ํ์ดํ๋ฅผ ์ฑ์ฐ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํ์ฅํ๋ ค๋ฉด ์์ด์ ํธ๋ฅผ ๋ ์ถ๊ฐํฉ๋๋ค. ์ ์ก์ด ์งํ๋๋ ๋์ ์์ด์ ํธ๋ฅผ ์ถ๊ฐ ๋ฐ ์ญ์ ํ ์ ์์ต๋๋ค.
Amazon S3์์ Cloud Storage๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ค๋ฉด ์ ์ก ์์ด์ ํธ๋ฅผ ์ด๋์ ๋ฐฐํฌํด์ผ ํ๋์?
๋ฒํท๊ณผ ๋์ผํ ๋ฆฌ์ ๋ด์์ Amazon EC2 ๋๋ EKS์ ์์ด์ ํธ๋ฅผ ์ค์นํ ์ ์์ต๋๋ค. ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฆฌ์ ์ Google Cloud ์์ ์์ด์ ํธ๋ฅผ ์คํํ ์๋ ์์ต๋๋ค.