์ด ํ์ด์ง์์๋ Amazon S3์์ Cloud Storage๋ก์ ์ ์ก ์์ ์ ๋ง๋ค๊ณ ์์ํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
๊ถํ ๊ตฌ์ฑ
์ ์ก์ ๋ง๋ค๊ธฐ ์ ์ Amazon S3 ๋ฒํท์ ๋ํ ๊ถํ์ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์์ค์ ๋ํ ์ก์ธ์ค ๊ถํ ๊ตฌ์ฑ: Amazon S3๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ค์Google Cloud ํญ๋ชฉ์ ๋ํ ๊ถํ๋ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
์ ์ก์ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ ์ฌ์ฉ์ ๊ณ์ . ์ด ๊ณ์ ์ Google Cloud ์ฝ์์ ๋ก๊ทธ์ธ๋ ๊ณ์ ์ด๊ฑฐ๋ `gcloud` CLI์ ์ธ์ฆํ ๋ ์ง์ ๋ ๊ณ์ ์ ๋๋ค. ์ฌ์ฉ์ ๊ณ์ ์ ์ผ๋ฐ ์ฌ์ฉ์ ๊ณ์ ์ด๋ ์ฌ์ฉ์ ๊ด๋ฆฌํ ์๋น์ค ๊ณ์ ์ผ ์ ์์ต๋๋ค. | |
Google ๊ด๋ฆฌ ์๋น์ค ๊ณ์ ์ ์๋น์ค ์์ด์ ํธ๋ผ๊ณ ๋ ํ๋ฉฐ Storage Transfer Service์์ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๊ณ์ ์ ์ผ๋ฐ์ ์ผ๋ก project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com ํ์์ ์ฌ์ฉํ๋ ์ด๋ฉ์ผ ์ฃผ์๋ก ์๋ณ๋ฉ๋๋ค.
|
์์ธํ ๋ด์ฉ์ ์์ด์ ํธ๋ฆฌ์ค ์ ์ก ๊ถํ์ ์ฐธ์กฐํ์ธ์.
์ด๊ทธ๋ ์ค ์ต์
Storage Transfer Service๋ S3 ๋ฐ์ดํฐ๋ฅผ Cloud Storage๋ก ์ ์กํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ฌ๋ฌ ๊ฐ์ง ์ต์ ์ ์ ๊ณตํฉ๋๋ค.
์ด๊ทธ๋ ์ค ์ต์ | ์ค๋ช |
---|---|
๊ธฐ๋ณธ ์์ด์ ํธ๋ฆฌ์ค | ์ด ์ต์
์์๋ S3์ ๊ด๋ฆฌํ ์์ด์ ํธ๋ฆฌ์ค ์ ์ก์ ์ฌ์ฉํฉ๋๋ค. Amazon์์ ์ด๊ทธ๋ ์ค ์๊ธ์ ์ฒญ๊ตฌํฉ๋๋ค.
์ด ์ต์ ์ ์ฌ์ฉํ๋ ค๋ฉด ์ด ํ์ด์ง์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. |
CloudFront ๋ฐฐํฌ | Amazon CloudFront ๋ฐฐํฌ๋ฅผ ์ด๊ทธ๋ ์ค ๊ฒฝ๋ก๋ก ์ฌ์ฉํฉ๋๋ค. CloudFront๋ฅผ ํตํ ๋ฐ์ดํฐ ์ ์ก์ AWS ์ด๊ทธ๋ ์ค ๋น์ฉ์ด S3์์ ์ง์ ์ ์ก์ ๋นํด ์ ๋ ดํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ CloudFront ๊ฐ๊ฒฉ ์ฑ
์ ๋ฐ S3 ์ด๊ทธ๋ ์ค ์๊ธ์ ์ฐธ์กฐํ์ธ์.
CloudFront๋ฅผ ํตํด S3์์ ์ ์ก์ ์๋ด๋ฅผ ์ํํ์ฌ ๋ฐฐํฌ๋ฅผ ์ค์ ํ๊ณ ์ ์ก์ ๋ง๋ญ๋๋ค. |
๊ด๋ฆฌํ ๋น๊ณต๊ฐ ๋คํธ์ํฌ | Google ๊ด๋ฆฌ ๋คํธ์ํฌ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํฉ๋๋ค. S3 ์ด๊ทธ๋ ์ค ์๊ธ์ ์ฒญ๊ตฌํ์ง ์์ต๋๋ค. ๋์ Google Cloud์ GiB๋น ์๊ธ์ด ์ฒญ๊ตฌ๋ฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๊ฐ๊ฒฉ ์ฑ
์ ํ์ด์ง๋ฅผ ์ฐธ๊ณ ํ์ธ์. AWS์์ ์์
๋น์ฉ์ด ๊ณ์ ์ฒญ๊ตฌ๋ ์ ์์ต๋๋ค(์: LIST ๋๋ GET ํธ์ถ). ์์ธํ ๋ด์ฉ์ ๊ฐ๊ฒฉ ์ฑ
์ ์ ์ฐธ์กฐํ์ธ์.
๊ด๋ฆฌํ ๋น๊ณต๊ฐ ๋คํธ์ํฌ๋ฅผ ํตํ ๋ชจ๋ ํ๋ก์ ํธ์ ์ ์ก์์ ๊ฐ์ ๋์ญํญ์ ๊ณต์ ํฉ๋๋ค. ์ฌ์ฉ๋์ด ๋์ผ๋ฉด ์ ์ก ์๋๊ฐ ๋๋ฆด ์ ์์ต๋๋ค. ํ์ผ์ด ๋ง์ด ํฌํจ๋ ์ ์ก์ด ํ์ผ์ด ์ ๊ฒ ํฌํจ๋ ์ ์ก๋ณด๋ค ๋ ๋ง์ ์ํฅ์ ๋ฐ์ต๋๋ค. ์ด ์ต์ ์ ์ฌ์ฉํ๋ ค๋ฉด ์ด ํ์ด์ง์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. Google Cloud ์ฝ์์์ ๊ด๋ฆฌํ ๋น๊ณต๊ฐ ๋คํธ์ํฌ ์ต์ ๋๋ REST API์ managedPrivateNetwork ํ๋๋ฅผ ์ง์ ํฉ๋๋ค. gcloud CLI ๋ฐ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์๋ ๊ด๋ฆฌํ ๋น๊ณต๊ฐ ๋คํธ์ํฌ ์ ์ก์ ์ง์ํ์ง ์์ต๋๋ค. ์ง์๋๋ ๋ฆฌ์ ์ ์ฐธ๊ณ ํ์ธ์. |
์์ด์ ํธ ๊ธฐ๋ฐ | Amazon S3๋ฅผ ํฌํจํ ๋ชจ๋ S3 ํธํ ์คํ ๋ฆฌ์ง์ ์ ํจํฉ๋๋ค. S3 ๋ฒํท์ ์ก์ธ์คํ ์ ์๋ ๋จธ์ ์ ์์ด์ ํธ ์ํํธ์จ์ด๋ฅผ ์ค์นํ๋ฉด ๋คํธ์ํฌ ๊ฒฝ๋ก์ ๋์ญํญ์ ์ ์ดํ ์ ์์ต๋๋ค. ์ด ์ต์
์ ์ฌ์ฉํ๋ ค๋ฉด ์์ด์ ํธ์ ์์ด์ ํธ ํ์ด ํ์ํฉ๋๋ค.
์ด ์ต์ ์ ์ฌ์ฉํ๋ ค๋ฉด S3 ํธํ ์์ค์์ ์ ์ก์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์. |
์ง์๋๋ ๋ฆฌ์
Storage Transfer Service๋ ๋ค์ Amazon S3 ๋ฆฌ์ ์ ์ง์ํฉ๋๋ค.
af-south-1 ap-east-1 ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ap-southeast-2 ap-southeast-3 |
ap-southeast-4 ca-central-1 ca-west-1 eu-central-1 eu-central-2 eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-2
|
eu-west-3 il-central-1 me-central-1 me-south-1 sa-east-1 us-east-1 us-east-2 us-west-1 us-west-2
|
ap-east-1 ap-northeast-1 ap-northeast-2 ap-northeast-3 ap-south-1 ap-south-2 ap-southeast-1 ca-central-1 ca-west-1 eu-central-1 eu-central-2 |
eu-north-1 eu-south-1 eu-south-2 eu-west-1 eu-west-2 eu-west-3 us-east-1 us-east-2 us-west-1 us-west-2
|
์ ์ก ์ต์
S3์์ Cloud Storage๋ก ์ ์กํ ๋ ๋ค์๊ณผ ๊ฐ์ Storage Transfer Service ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋งค๋ํ์คํธ๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ํ์ผ ์ ์ก
- ์์ ํ Storage Transfer Service ํ์ผ์ ๋ชฉ๋ก์ ์ ๋ฌํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋งค๋ํ์คํธ๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ํ์ผ ๋๋ ๊ฐ์ฒด ์ ์ก์ ์ฐธ์กฐํ์ธ์.
- ํ๋ฆฌํฝ์ค ๋๋ ์ต์ข ์์ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ์์ค ๊ฐ์ฒด ํํฐ๋ง
-
ํ์ผ ์ด๋ฆ๊ณผ ๊ฒฝ๋ก ๋๋ ์ต์ข ์์ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ์ก์์ ๊ฐ์ฒด๋ฅผ ํฌํจํ๊ฑฐ๋ ์ ์ธํ ์ ์์ต๋๋ค.
์ ๋์ฌ ํํฐ๋ ์ ๋์ฌ ํํฐ์ ์ค๋ช ๋์ด ์์ต๋๋ค.
์๊ฐ ๊ธฐ๋ฐ ํํฐ์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
- ๋ง์ง๋ง ์์ ์ดํ ๊ฒฝ๊ณผ๋ ์ต์ ์๊ฐ ๋ฐ ์ต๋ ์๊ฐ์ ๋๋ค. ๋ ์ต์ ๋ชจ๋ ํน์ ๊ธฐ๊ฐ ๋ด์ ์์ ๋์๊ฑฐ๋ ์์ ๋์ง ์์ ๊ฐ์ฒด๋ฅผ ํํฐ๋งํ๊ธฐ ์ํด ์ด ๋จ์ ๊ฐ์ ํ์ฉํฉ๋๋ค.
- '๋ค์ ๋ ์ง ์ดํ์ ์ต์ข ์์ ' ๋ฐ '๋ค์ ๋ ์ง ์ด์ ์ ์ต์ข ์์ '์ ๋ชจ๋ dateTime ๊ฐ์ ํ์ฉํฉ๋๋ค.
S3 ์ ์ก์ ์๊ฐ ๊ธฐ๋ฐ ํํฐ๋ ๊ฐ์ฒด๊ฐ ์ ๋ก๋๋ฅผ ์์ํ ์๊ฐ์ธ AWS์ '๋ง์ง๋ง ์์ ์๊ฐ' ์ ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ ๋ก๋๊ฐ ์๋ฃ๋ ๋๊น์ง๋ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์ต์ข ์์ ์๊ฐ์ด ํํฐ ๊ธฐ์ค์ ์ถฉ์กฑํ์ง๋ง ์์ง ์ ๋ก๋ ์ค์ธ ๊ฐ์ฒด๊ฐ ์์ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฐ์ฒด๋ ์ ์ก ์์ ์ ํฌํจ๋์ง ์์ต๋๋ค. ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด ๋ค์์ ๊ถ์ฅํฉ๋๋ค.
- ์๊ฐ ๊ธฐ๋ฐ ํํฐ ๋์ [์ด๋ฒคํธ ๊ธฐ๋ฐ ์ ์ก](/storage-transfer/docs/event-driven-aws)์ ์ฌ์ฉํ์ฌ ๊ฐ์ฒด๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํด์ง๋ฉด ์ ์กํฉ๋๋ค.
- ๋ฐ๋ณต ์ ์ก์์ ๊ฐ์ฒด๊ฐ ๋๋ฝ๋์ง ์๋๋ก ํ๋ ค๋ฉด '๋ง์ง๋ง ์์ ์๊ฐ' ๋๋์๋ณด๊ธฐ ๊ธฐ๊ฐ์ด ๋ฐ๋ณต ์ผ์ ๋ณด๋ค ์ปค์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋งค์๊ฐ ์คํ๋๋ ์์ ์ ๊ฒฝ์ฐ 2์๊ฐ์ ๋ฃฉ๋ฐฑ ๊ธฐ๊ฐ์ด ๋ฒํผ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์คํ ๋ฆฌ์ง ํด๋์ค ์ง์
- ๋์ ๋ฒํท์ ๋ฐ์ดํฐ์ ์ฌ์ฉํ Cloud Storage ์คํ ๋ฆฌ์ง ํด๋์ค๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. REST ์ธ๋ถ์ ๋ณด๋
StorageClass
์ต์ ์ ์ฐธ์กฐํ๊ฑฐ๋ Google Cloud CLI์์--custom-storage-class
ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ธ์.๋์ ๋ฒํท์ ์๋ ํด๋์ค๊ฐ ์ฌ์ฉ ์ค์ ๋๋ฉด ์คํ ๋ฆฌ์ง ํด๋์ค ์ค์ ์ด ๋ฌด์๋ฉ๋๋ค. ์๋ ํด๋์ค๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ฉด ์ฒ์์๋ ๋ฒํท์ผ๋ก ์ ์ก๋ ๊ฐ์ฒด๊ฐ Standard Storage๋ก ์ค์ ๋ฉ๋๋ค.
- ๋ฉํ๋ฐ์ดํฐ ๋ณด์กด
-
S3์์ ํ์ผ์ ์ ์กํ ๋ Storage Transfer Service๋ ์ ํ์ ์ผ๋ก ํน์ ์์ฑ์ ์ปค์คํ ๋ฉํ๋ฐ์ดํฐ๋ก ๋ณด์กดํ ์ ์์ต๋๋ค.
๋ณด์กดํ ์ ์๋ ๋ฉํ๋ฐ์ดํฐ์ ์ ์ก์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ฉํ๋ฐ์ดํฐ ๋ณด์กด์ Amazon S3์์ Cloud Storage๋ก ์ ์ก ์น์ ์ ์ฐธ์กฐํ์ธ์.
- ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ ์ก
- Storage Transfer Service๋ Amazon SQS๋ก ์ ์ก๋ Amazon S3 ์ด๋ฒคํธ ์๋ฆผ์ ๋ฆฌ์จํ์ฌ ์์ค ์์น์ ์ถ๊ฐ๋๊ฑฐ๋ ์ ๋ฐ์ดํธ๋ ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ์ ์กํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ ์ก์ ์ฐธ์กฐํ์ธ์.
- ๋ก๊น ๋ฐ ๋ชจ๋ํฐ๋ง
- Cloud Logging ๋ฐ Cloud Monitoring์์ S3์์์ ์ ์ก์ ๋ณผ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ Storage Transfer Service์ฉ Cloud Logging ๋ฐ ์ ์ก ์์ ๋ชจ๋ํฐ๋ง์ ์ฐธ์กฐํ์ธ์. ๋ํ Pub/Sub ์๋ฆผ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์ ์ก ๋ง๋ค๊ธฐ
Storage Transfer Service๋ ์ ์ก์ ๋ง๋๋ ๋ฐ ์ฌ์ฉ๋๋ ์ธํฐํ์ด์ค๋ฅผ ์ฌ๋ฌ ๊ฐ ์ ๊ณตํฉ๋๋ค.
์ ์ก ์์ ์ด๋ฆ์ ๊ฐ์ธ ์๋ณ ์ ๋ณด(PII) ๋๋ ๋ณด์ ๋ฐ์ดํฐ์ ๊ฐ์ ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ํฌํจํ์ง ๋ง์ธ์. ๋ฆฌ์์ค ์ด๋ฆ์ ๋ค๋ฅธ Google Cloud ๋ฆฌ์์ค ์ด๋ฆ์ผ๋ก ์ ํ๋ ์ ์์ผ๋ฉฐ ํ๋ก์ ํธ ์ธ๋ถ์ Google ๋ด๋ถ ์์คํ ์ ๋ ธ์ถ๋ ์ ์์ต๋๋ค.
Google Cloud ์ฝ์
Google Cloud ์ฝ์์์ Storage Transfer Service ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
์ ์ก ์์ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค. ์ ์ก ์์ ๋ง๋ค๊ธฐ ํ์ด์ง๊ฐ ํ์๋ฉ๋๋ค.
์์ค ์ ํ์์ Amazon S3๋ฅผ ์ ํํฉ๋๋ค.
๋์ ์ ํ์ผ๋ก Google Cloud Storage๋ฅผ ์ ํํฉ๋๋ค.
์์ฝ ๋ชจ๋๋ฅผ ์ ํํฉ๋๋ค. ์ผ๊ด ์ ์ก์ ์ผํ์ฑ ๋๋ ์์ฝ ๊ธฐ๋ฐ์ผ๋ก ์คํ๋ฉ๋๋ค. ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ ์ก์ ์์ค๋ฅผ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ ๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ๋๊ฑฐ๋ ์์ ๋๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ ์กํฉ๋๋ค.
์ด๋ฒคํธ ๊ธฐ๋ฐ ์ ์ก์ ๊ตฌ์ฑํ๋ ค๋ฉด ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ ์ก์ ์๋ด๋ฅผ ์ํํฉ๋๋ค.
๋ค์ ๋จ๊ณ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ฒํท ๋๋ ํด๋ ์ด๋ฆ ํ๋์ ์์ค ๋ฒํท ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
๋ฒํท ์ด๋ฆ์ AWS ๊ด๋ฆฌ ์ฝ์์ ๋ํ๋๋ ์ด๋ฆ์ ๋๋ค.
CloudFront ๋ฐฐํฌ๋ฅผ ์ฌ์ฉํ์ฌ S3์์ ์ ์กํ๋ ๊ฒฝ์ฐ CloudFront ๋๋ฉ์ธ ํ๋์ ๋ฐฐํฌ ๋๋ฉ์ธ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด
https://dy1h2n3l4ob56.cloudfront.net
์ ๋๋ค. CloudFront ๋ฐฐํฌ๋ฅผ ๊ตฌ์ฑํ๋ ค๋ฉด CloudFront๋ฅผ ํตํด S3์์ ์ ์ก์ ์ฐธ์กฐํ์ธ์.์ด ์ ์ก์ ๊ด๋ฆฌํ ๋น๊ณต๊ฐ ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ฒดํฌ๋ฐ์ค๋ฅผ ์ ํํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ด๊ทธ๋ ์ค ์ต์ ์ ์ฐธ์กฐํ์ธ์.
Amazon Web Services(AWS) ์ธ์ฆ ๋ฐฉ๋ฒ์ ์ ํํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์์ค์ ๋ํ ์ก์ธ์ค ๊ถํ ๊ตฌ์ฑ: Amazon S3๋ฅผ ์ฐธ์กฐํ์ธ์.
์ก์ธ์ค ํค: ์ก์ธ์ค ํค ID ํ๋์ ์ก์ธ์ค ํค๋ฅผ ์ ๋ ฅํ๊ณ ๋ณด์ ๋น๋ฐ ์ก์ธ์ค ํค ํ๋์ ์ก์ธ์ค ํค์ ์ฐ๊ด๋ ๋ณด์ ๋น๋ฐ์ ์ ๋ ฅํฉ๋๋ค.
ID ์ ํด๋ฅผ ์ํ AWS IAM ์ญํ : AWS IAM ์ญํ ARN ํ๋์ ๋ค์ ๊ตฌ๋ฌธ์ผ๋ก ARN์ ์ ๋ ฅํฉ๋๋ค.
arn:aws:iam::ACCOUNT:role/ROLE-NAME-WITH-PATH
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ACCOUNT
: ํ์ดํ์ด ์๋ AWS ๊ณ์ ID์ ๋๋ค.ROLE-NAME-WITH-PATH
: ๊ฒฝ๋ก๊ฐ ํฌํจ๋ AWS ์ญํ ์ด๋ฆ์ ๋๋ค.
ARN์ ๊ดํ ์์ธํ ๋ด์ฉ์ IAM ARN์ ์ฐธ์กฐํ์ธ์.
๋ณด์ ๋น๋ฐ ๋ฆฌ์์ค: Secret Manager์ ์ ์ฅ๋ Amazon ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ด ์ต์ ์ ์ ํํฉ๋๋ค. ๋ชฉ๋ก์์ ๋ณด์ ๋น๋ฐ์ ์ ํํ๊ฑฐ๋
projects/PROJECT_NUMBER/secrets/SECRET_NAME
ํ์์ผ๋ก ์ง์ ์ ๋ ฅํฉ๋๋ค.
์ด๋ฒคํธ ๊ธฐ๋ฐ ์ ์ก์ธ ๊ฒฝ์ฐ ๋ค์ ํ์์ ์ฌ์ฉํ๋ Amazon SQS ํ ARN์ ์ ๋ ฅํฉ๋๋ค.
arn:aws:sqs:us-east-1:1234567890:event-queue
- ์ํ๋ ๊ฒฝ์ฐ ํ๋ฆฌํฝ์ค๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ฒด๋ฅผ ํํฐ๋งํ๊ฑฐ๋ ์ต์ข
์์ ๋ ์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ฒด๋ฅผ ํํฐ๋งํ๋๋ก ์ ํํฉ๋๋ค. ํด๋๋ฅผ ์์ค ์์น๋ก ์ง์ ํ ๊ฒฝ์ฐ ํ๋ฆฌํฝ์ค ํํฐ๋ ํด๋น ํด๋๋ฅผ ๊ธฐ์ค์ผ๋ก ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์์ค๊ฐ
my-test-bucket/path/
์ธ ๊ฒฝ์ฐfile
์ ํฌํจ ํํฐ๋my-test-bucket/path/file
๋ก ์์ํ๋ ๋ชจ๋ ํ์ผ์ ํฌํจํฉ๋๋ค. ๋ค์ ๋จ๊ณ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ฒํท ๋๋ ํด๋ ํ๋์ ๋์ ๋ฒํท๊ณผ ํด๋ ์ด๋ฆ(์ ํ์ฌํญ)์ ์ ๋ ฅํ๊ฑฐ๋ ์ฐพ์๋ณด๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ ํ์ฌ ํ๋ก์ ํธ์ ๊ธฐ์กด ๋ชฉ๋ก์์ ๋ฒํท์ ์ ํํฉ๋๋ค. ์ ๋ฒํท์ ๋ง๋ค๋ ค๋ฉด
์ ๋ฒํท ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ค์ ๋จ๊ณ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ ์ก ์์ ์ ์ค์ ์ ์ ํํฉ๋๋ค.
์ค๋ช ํ๋์ ์ ์ก ์ค๋ช ์ ์ ๋ ฅํฉ๋๋ค. ์์ ์ ๊ตฌ๋ถํ ์ ์๋๋ก ์๋ฏธ ์๊ณ ๊ณ ์ ํ ์ค๋ช ์ ์ ๋ ฅํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ฉํ๋ฐ์ดํฐ ์ต์ ์์ ๊ธฐ๋ณธ ์ต์ ์ ์ฌ์ฉํ๋๋ก ์ ํํ๊ฑฐ๋ ์ต์ ๋ณด๊ธฐ ๋ฐ ์ ํ์ ํด๋ฆญํ์ฌ ์ง์๋๋ ๋ชจ๋ ๋ฉํ๋ฐ์ดํฐ์ ๊ฐ์ ์ง์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฉํ๋ฐ์ดํฐ ๋ณด์กด์ ์ฐธ์กฐํ์ธ์.
๋ฎ์ด์ธ ์์ ์์ ๋ค์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
๋ค๋ฅธ ๊ฒฝ์ฐ: ์ด๋ฆ์ด ๊ฐ์ ์์ค ํ์ผ์ ๋ค๋ฅธ Etag ๋๋ ์ฒดํฌ์ฌ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๋์ ํ์ผ์ ๋ฎ์ด์๋๋ค.
ํญ์: ์์ค ํ์ผ ์ด๋ฆ์ด ๊ฐ์ผ๋ฉด ๋์ผํ๋๋ผ๋ ํญ์ ๋์ ํ์ผ์ ๋ฎ์ด์๋๋ค.
์ญ์ ์์ ์์ ๋ค์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
์ญ์ ์ํจ: ์์ค ๋๋ ๋์ ์์น์์ ํ์ผ์ ์ญ์ ํ์ง ์์ต๋๋ค.
์ ์ก ํ ์์ค์์ ํ์ผ ์ญ์ : ํ์ผ์ด ๋์์ผ๋ก ์ ์ก๋ ํ ์์ค์์ ํ์ผ์ ์ญ์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋์์ ์ด๋ฏธ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์์ค ํ์ผ์ด ์ ์ก๋์ง ์์ผ๋ฉด ์์ค ํ์ผ์ด ์ญ์ ๋์ง ์์ต๋๋ค.
์์ค์๋ ์๋ ๊ฒฝ์ฐ ๋์ ์์น์์ ํ์ผ ์ญ์ : ๋์ Cloud Storage ๋ฒํท์ ํ์ผ์ด ์์ค์๋ ์๋ ๊ฒฝ์ฐ Cloud Storage ๋ฒํท์์ ํ์ผ์ ์ญ์ ํฉ๋๋ค.
์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด ๋์ Cloud Storage ๋ฒํท์ด ์์ค์ ์ ํํ๊ฒ ์ผ์นํฉ๋๋ค.
์๋ฆผ ์ต์ ์์ Pub/Sub ์ฃผ์ ๋ฐ ์๋ฆผ์ ๋ฐ์ ์ด๋ฒคํธ๋ฅผ ์ ํํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Pub/Sub ์๋ฆผ์ ์ฐธ์กฐํ์ธ์.
๋ค์ ๋จ๊ณ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์์ฝ ์ต์ ์ ์ ํํฉ๋๋ค.
ํ ๋ฒ ์คํ ๋๋กญ๋ค์ด ๋ชฉ๋ก์์ ๋ค์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
ํ ๋ฒ ์คํ: ์ ํํ ์๊ฐ์ ๋จ์ผ ์ ์ก์ ์คํํฉ๋๋ค.
๋งค์ผ ์คํ: ์ ํํ ์์ ๋ถํฐ ๋งค์ผ ์ ์ก์ ์คํํฉ๋๋ค.
์ ํ์ฌํญ์ธ ์ข ๋ฃ์ผ์ ์ ๋ ฅํ๊ฑฐ๋ ์ข ๋ฃ์ผ์ ๋น์ ๋์ด ์ ์ก์ ๊ณ์ ์คํํ ์ ์์ต๋๋ค.
๋งค์ฃผ ์คํ: ์ ํํ ์๊ฐ๋ถํฐ ๋งค์ฃผ ์ ์ก์ ์คํํฉ๋๋ค.
์ปค์คํ ๋น๋๋ก ์คํ: ์ ํํ ๋น๋๋ก ์ ์ก์ ์คํํฉ๋๋ค. ์๊ฐ, ์ผ ๋๋ ์ฃผ๋ผ๋ ์ ๊ธฐ์ ์ธ ๊ฐ๊ฒฉ์ผ๋ก ์ ์ก์ ๋ฐ๋ณตํ๋๋ก ์ ํํ ์ ์์ต๋๋ค.
์ ํ์ฌํญ์ธ ์ข ๋ฃ์ผ์ ์ ๋ ฅํ๊ฑฐ๋ ์ข ๋ฃ์ผ์ ๋น์ ๋์ด ์ ์ก์ ๊ณ์ ์คํํ ์ ์์ต๋๋ค.
์ง๊ธ ์์ ๋๋กญ๋ค์ด ๋ชฉ๋ก์์ ๋ค์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
์ง๊ธ ์์: ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํ ํ ์ ์ก์ ์์ํฉ๋๋ค.
์์์ผ: ์ ํํ ๋ ์ง ๋ฐ ์๊ฐ์ ์ ์ก์ ์์ํฉ๋๋ค. ์บ๋ฆฐ๋๋ฅผ ํด๋ฆญํ์ฌ ์์์ผ์ ์ ํํ ์บ๋ฆฐ๋๋ฅผ ํ์ํฉ๋๋ค.
์ ์ก ์์ ์ ๋ง๋ค๋ ค๋ฉด ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
gcloud CLI
์ ์ ์ก ์์
์ ๋ง๋ค๋ ค๋ฉด gcloud transfer jobs create
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ผ์ ๋๋ --do-not-run
์ด ์ง์ ๋์ง ์์ ํ, ์ ์์
์ ๋ง๋ค๋ฉด ์ง์ ๋ ์ ์ก์ด ์์๋ฉ๋๋ค.
gcloud CLI๋ CloudFront ๋๋ ๊ด๋ฆฌํ ๋น๊ณต๊ฐ ๋คํธ์ํฌ๋ฅผ ํตํ ์ ์ก์ ์ง์ํ์ง ์์ต๋๋ค.
gcloud transfer jobs create \
s3://S3_BUCKET_NAME gs://STORAGE_BUCKET_NAME \
--source-creds-file="relative_path/to/creds.json"
๊ฐ ํญ๋ชฉ์ ์๋ฏธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
S3_BUCKET_NAME๋ ์ด ์ ์ก์ ๋ฐ์ดํฐ ์์ค์ ๋๋ค. ์ํ๋ ๊ฒฝ์ฐ
s3://S3_BUCKET_NAME/S3_FOLDER_PATH
๊ฒฝ๋ก๋ฅผ ํฌํจํ ์ ์์ต๋๋ค.STORAGE_BUCKET_NAME์ ์ ์กํ Cloud Storage ๋ฒํท์ ๋๋ค. ํน์ ๋๋ ํฐ๋ฆฌ๋ก ์ ์กํ๋ ค๋ฉด ํํ ์ฌ๋์๋ฅผ ํฌํจํ์ฌ
gs://STORAGE_BUCKET_NAME/STORAGE_FOLDER_PATH/
๋ฅผ ์ง์ ํฉ๋๋ค.--source-creds-file
์ ๋จธ์ ์์ ์ ์ก ์์ค์ AWS ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๊ฐ ํฌํจ๋ ๋ก์ปฌ ํ์ผ์ ๋ํ ์๋ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค. ์ฝํ ์ธ ๋ ๋ค์ JSON ํ์์ด์ด์ผ ํฉ๋๋ค.{ "accessKeyId": string, "secretAccessKey": string }
์ถ๊ฐ๋ก ์ ํํ ์ ์๋ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
--do-not-run
์ ๋ช ๋ น์ด๋ฅผ ์ ์ถํ ๋ Storage Transfer Service๊ฐ ์์ ์ ์คํํ์ง ๋ชปํ๋๋ก ๋ฐฉ์งํฉ๋๋ค. ์์ ์ ์คํํ๋ ค๋ฉด ์ด๋ฅผ ์ ๋ฐ์ดํธํด์ ์ผ์ ์ ์ถ๊ฐํ๊ฑฐ๋jobs run
์ ์ฌ์ฉํด์ ์๋์ผ๋ก ์์ํฉ๋๋ค.--manifest-file
์ ์์ค์์ ์ ์กํ ํ์ผ ๋ชฉ๋ก์ด ํฌํจ๋ Cloud Storage์ CSV ํ์ผ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค. ๋งค๋ํ์คํธ ํ์ผ ํ์ ์ง์ ์ ๋งค๋ํ์คํธ๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ํ์ผ ๋๋ ๊ฐ์ฒด ์ ์ก์ ์ฐธ์กฐํ์ธ์.์์ ์ ๋ณด:
--name
๋ฐ--description
์ ์ง์ ํ ์ ์์ต๋๋ค.์ผ์ :
--schedule-starts
,--schedule-repeats-every
,--schedule-repeats-until
,--do-not-run
์ ์ง์ ํฉ๋๋ค.๊ฐ์ฒด ์กฐ๊ฑด: ์กฐ๊ฑด์ ์ฌ์ฉํด์ ์ ์ก๋๋ ๊ฐ์ฒด๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ์ฌ๊ธฐ์๋
--include-prefixes
๋ฐ--exclude-prefixes
์--include-modified-[before | after]-[absolute | relative]
์ ์๊ฐ ๊ธฐ์ค ์กฐ๊ฑด์ด ํฌํจ๋ฉ๋๋ค. ์์ค๋ก ํด๋๋ฅผ ์ง์ ํ ๊ฒฝ์ฐ ํ๋ฆฌํฝ์ค ํํฐ๋ ํด๋น ํด๋๋ฅผ ๊ธฐ์ค์ผ๋ก ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ํ๋ฆฌํฝ์ค๋ก ์์ค ๊ฐ์ฒด ํํฐ๋ง์ ์ฐธ์กฐํ์ธ์.์ ์ก ์ต์ : ๋์ ํ์ผ(
--overwrite-when=different
๋๋always
)์ ๋ฎ์ด์ธ์ง ์ฌ๋ถ์ ์ ์ก ์ค ๋๋ ์ ์ก ํ์ ํน์ ํ์ผ์ ์ญ์ ํ ์ง ์ฌ๋ถ(--delete-from=destination-if-unique
๋๋source-after-transfer
)๋ฅผ ์ง์ ํ๊ณ , ๋ณด์กดํ ๋ฉํ๋ฐ์ดํฐ ๊ฐ(--preserve-metadata
)์ ์ง์ ํ๋ฉฐ, ํ์ํ ๊ฒฝ์ฐ ์ ์ก๋ ๊ฐ์ฒด์ ์คํ ๋ฆฌ์ง ํด๋์ค๋ฅผ ์ ํ์ ์ผ๋ก ์ค์ ํ ์ ์์ต๋๋ค(--custom-storage-class
).์๋ฆผ:
--notification-pubsub-topic
,--notification-event-types
,--notification-payload-format
์ผ๋ก Pub/Sub ์ ์ก ์๋ฆผ์ ๊ตฌ์ฑํฉ๋๋ค.Cloud Logging:
--log-actions
๋ฐ--log-action-states
๋ก Cloud Logging์ ์ฌ์ฉ ์ค์ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Storage Transfer Service์ Cloud Logging์ ์ฐธ์กฐํ์ธ์.
๋ชจ๋ ์ต์
์ ๋ณด๋ ค๋ฉด gcloud transfer jobs create --help
๋ฅผ ์คํํ๊ฑฐ๋ gcloud
์ฐธ๊ณ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
REST
๋ค์ ์ํ์์๋ REST API๋ฅผ ํตํด Storage Transfer Service๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
Storage Transfer Service API๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ก ์์ ์ ๊ตฌ์ฑํ๊ฑฐ๋ ํธ์งํ ๋ ์๊ฐ์ UTC์ฌ์ผ ํฉ๋๋ค. ์ ์ก ์์ ์ผ์ ์ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ผ์ ์ ์ฐธ์กฐํ์ธ์.
์ ์ก ์์
์ ๋ง๋ค ๋ Amazon S3 ๋ฒํท ์์ค ์ด๋ฆ์ bucketName
์ s3://
์ ๋์ฌ๋ฅผ ํฌํจํ์ง ๋ง์ธ์.
์์ด์ ํธ๋ฆฌ์ค ์ ์ก
๋ค์ ์์์์๋ ํ์ค ์์ด์ ํธ๋ฆฌ์ค ๊ตฌ์ฑ์ ์ฌ์ฉํ์ฌ ์ ์ก ์์ ์ ๋ง๋ญ๋๋ค. ์์ธํ ๋ด์ฉ์ transferJobs.create ์ฐธ์กฐ๋ฅผ ํ์ธํ์ธ์.
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "transferSpec": { "awsS3DataSource": { "bucketName": "AWS_SOURCE_NAME", "awsAccessKey": { "accessKeyId": "AWS_ACCESS_KEY_ID", "secretAccessKey": "AWS_SECRET_ACCESS_KEY" } }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } }
๋ค๋ฅธ ์ธ์ฆ ์ต์ ์ ์์ค์ ๋ํ ์ก์ธ์ค ๊ถํ ๊ตฌ์ฑ: Amazon S3๋ฅผ ์ฐธ์กฐํ์ธ์.
CloudFront ๋ฐฐํฌ
CloudFront ๋ฐฐํฌ๋ฅผ ํตํด S3์์ ์ ์กํ๋ ๊ฒฝ์ฐ ๋ฐฐํฌ ๋๋ฉ์ธ ์ด๋ฆ์ transferSpec.awsS3DataSource.cloudfrontDomain
ํ๋ ๊ฐ์ผ๋ก ์ง์ ํฉ๋๋ค.
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "transferSpec": { "awsS3DataSource": { "bucketName": "AWS_SOURCE_NAME", "cloudfrontDomain": "https://dy1h2n3l4ob56.cloudfront.net", "awsAccessKey": { "accessKeyId": "AWS_ACCESS_KEY_ID", "secretAccessKey": "AWS_SECRET_ACCESS_KEY" } }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } }
๊ด๋ฆฌํ ๋น๊ณต๊ฐ ๋คํธ์ํฌ
Google ๊ด๋ฆฌ ๋น๊ณต๊ฐ ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ S3์์ ์ ์กํ๋ ค๋ฉด transferSpec.awsS3DataSource.managedPrivateNetwork
ํ๋๋ฅผ ์ง์ ํฉ๋๋ค.
POST https://storagetransfer.googleapis.com/v1/transferJobs { "description": "DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "transferSpec": { "awsS3DataSource": { "bucketName": "AWS_SOURCE_NAME", "managedPrivateNetwork": TRUE, "awsAccessKey": { "accessKeyId": "AWS_ACCESS_KEY_ID", "secretAccessKey": "AWS_SECRET_ACCESS_KEY" } }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } }
ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ค์ ์ํ์์๋ Go, Java, Node.js, Python์ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋๋งคํฑ ๋ฐฉ์์ผ๋ก Storage Transfer Service๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค.
์ ์ก ์์ ์ ํ๋ก๊ทธ๋๋งคํฑ ๋ฐฉ์์ผ๋ก ๊ตฌ์ฑํ๊ฑฐ๋ ํธ์งํ ๋ ์๊ฐ์ UTC์ฌ์ผ ํฉ๋๋ค. ์ ์ก ์์ ์ผ์ ์ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ผ์ ์ ์ฐธ์กฐํ์ธ์.
Storage Transfer Service ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ Storage Transfer Service ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ํ๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
Amazon S3์์ Cloud Storage๋ก ์ด์
์ด ์์์์๋ ํ์ผ์ Amazon S3์์ Cloud Storage ๋ฒํท์ผ๋ก ์ด๋ํ๋ ๋ฐฉ๋ฒ์ ํ์ตํฉ๋๋ค.
์ ์ก ์์
์ ๋ง๋ค ๋ Amazon S3 ๋ฒํท ์์ค ์ด๋ฆ์ bucketName
์ s3://
์ ๋์ฌ๋ฅผ ํฌํจํ์ง ๋ง์ธ์.
Storage Transfer Service ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์๋ CloudFront ๋๋ ๊ด๋ฆฌํ ๋น๊ณต๊ฐ ๋คํธ์ํฌ๋ฅผ ํตํ ์ ์ก์ ์ง์ํ์ง ์์ต๋๋ค.
Go
์๋ฐ
์ด์ ์ํ์ ์ฐพ๊ณ ๊ณ์ ๊ฐ์? Storage Transfer Service ์ด์ ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ธ์.
Node.js
Python
์ด์ ์ํ์ ์ฐพ๊ณ ๊ณ์ ๊ฐ์? Storage Transfer Service ์ด์ ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ธ์.