์ด ํ์ด์ง์์๋ Cloud Run ์์ ์ ํ์ ์ง์ ์ ๋ช ๋ น์ด ๋ฐ ์ธ์๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
Cloud Run์ ์ปจํ
์ด๋๋ฅผ ์์ํ ๋ ์ด๋ฏธ์ง์ ๊ธฐ๋ณธ ์ง์
์ ๋ช
๋ น์ด ๋ฐ ๊ธฐ๋ณธ ๋ช
๋ น์ด ์ธ์๋ฅผ ์คํํฉ๋๋ค. ์ด๋ฏธ์ง์ ๊ธฐ๋ณธ ์ง์
์ ๋ฐ ๋ช
๋ น์ด ์ธ์๋ฅผ ์ฌ์ ์ํ๋ ค๋ฉด ์ปจํ
์ด๋ ๊ตฌ์ฑ์์ command
๋ฐ args
ํ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. command
ํ๋๋ ์ปจํ
์ด๋์์ ์คํํ๋ ์ค์ ๋ช
๋ น์ด๋ฅผ ์ง์ ํฉ๋๋ค. args
ํ๋๋ ํด๋น ๋ช
๋ น์ด๋ก ์ ๋ฌ๋๋ ์ธ์๋ฅผ ์ง์ ํฉ๋๋ค.
์์ ์ ํ๋ง๋ค ์ปจํ ์ด๋๋น ์ต๋ 1,000๊ฐ์ ์ธ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ์ํ ์ญํ
Cloud Run ์์ ์ ํ์ ๊ตฌ์ฑํ๊ณ ๋ฐฐํฌํ๋ ๋ฐ ํ์ํ ๊ถํ์ ์ป์ผ๋ ค๋ฉด ๊ด๋ฆฌ์์๊ฒ ๋ค์ IAM ์ญํ ์ ๋ถ์ฌํด ๋ฌ๋ผ๊ณ ์์ฒญํ์ธ์.
-
Cloud Run ์์
์ ํ์ ๋ํ Cloud Run ๊ฐ๋ฐ์(
roles/run.developer
) ์ญํ -
์๋น์ค ID์ ๋ํ ์๋น์ค ๊ณ์ ์ฌ์ฉ์(
roles/iam.serviceAccountUser
) ์ญํ
Cloud Run๊ณผ ์ฐ๊ฒฐ๋ IAM ์ญํ ๋ฐ ๊ถํ ๋ชฉ๋ก์ Cloud Run IAM ์ญํ ๋ฐ Cloud Run IAM ๊ถํ์ ์ฐธ์กฐํ์ธ์. Cloud Run ์์ ์ ํ์ด Cloud ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฐ์Google Cloud API์ ์ํธ์์ฉํ๋ ๊ฒฝ์ฐ์๋ ์๋น์ค ID ๊ตฌ์ฑ ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ธ์. ์ญํ ๋ถ์ฌ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ฐฐํฌ ๊ถํ ๋ฐ ์ก์ธ์ค ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
์ง์ ์ ๋ฐ ์ธ์ ๊ตฌ์ฑ
๊ตฌ์ฑ์ ๋ณ๊ฒฝํ๋ฉด ์ ๋ฒ์ ์ด ์์ฑ๋ฉ๋๋ค. ์ด๋ฅผ ๋ณ๊ฒฝํ๋ ๋ช ์์ ์ ๋ฐ์ดํธ๊ฐ ์์ผ๋ฉด ์ดํ ๋ฒ์ ์๋ ์ด ๊ตฌ์ฑ ์ค์ ์ด ์๋์ผ๋ก ์ ์ฉ๋ฉ๋๋ค.
์ง์ ๋ ์ปจํ
์ด๋ ๋ช
๋ น์ด ๋ฐ ์ธ์๋ ๊ธฐ๋ณธ ์ด๋ฏธ์ง ENTRYPOINT
๋ฐ CMD
๋ฅผ ์ฌ์ ์ํฉ๋๋ค.
์ ์์ ์ ํ์ ๋ง๋ค๊ฑฐ๋ ์ ๋ฒ์ ์ ๋ฐฐํฌํ ๋ Google Cloud CLI๋ฅผ ์ฌ์ฉํ์ฌ Cloud Run ์์ ์ ํ์ ์ง์ ์ ๋ช ๋ น์ด์ ์ธ์๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
gcloud
๊ธฐ์กด ์๋น์ค์ ์์ ๋ช ๋ น์ด ๋ฐ ์ธ์๋ฅผ ์ ๋ฐ์ดํธํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
gcloud beta run worker-pools update WORKER_POOL --command COMMAND --args ARG1,ARG-N
๋ค์๊ณผ ๊ฐ์ด ๋ฐ๊ฟ๋๋ค.
- WORKER_POOL์ ์์ ์ ํ์ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
- ๊ธฐ๋ณธ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ COMMAND๋ฅผ ์ปจํ ์ด๋๊ฐ ์์ํ ๋ ์คํํ๋ ๋ช ๋ น์ด๋ก ๋ฐ๊ฟ๋๋ค.
- ARG1: ์ปจํ ์ด๋ ๋ช ๋ น์ด๋ก ์ ์ก ์ค์ธ ์ธ์. ๋ ๊ฐ ์ด์์ ์ธ์์๋ ์ผํ๋ก ๊ตฌ๋ถ๋ ๋ชฉ๋ก์ ์ฌ์ฉํฉ๋๋ค.
์ ์์ ์ ํ ๋๋ ๊ธฐ์กด ์์ ์ ํ์ ๋ฐฐํฌํ๋ ๋์ ์ง์ ์ ๋ฐ ์ธ์๋ฅผ ์ง์ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud beta run worker-pools deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N
IMAGE_URL์ ์์
์ ํ์ด ํฌํจ๋ ์ปจํ
์ด๋ ์ด๋ฏธ์ง์ ๋ํ ์ฐธ์กฐ๋ก ๋ฐ๊ฟ๋๋ค(์: us-docker.pkg.dev/cloudrun/container/worker-pool:latest
).
์ง์ ์ ๋ช ๋ น์ด ๋ฐ ์ธ์์ ์ปจํ ์ด๋ ๊ธฐ๋ณธ๊ฐ์ ๋ณต์ํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋น ๋ฌธ์์ด์ ์ ๊ณตํฉ๋๋ค.
gcloud beta run worker-pools deploy --image IMAGE_URL --command "" --args ""
์ฌ์ด๋์นด ๋ฐฐํฌ๋ฅผ ์ํ ์ปจํ ์ด๋ ์์ ์์ ๊ตฌ์ฑ
์ฌ์ด๋์นด ๋ฐฐํฌ์์ ์ปจํ ์ด๋ ์์ ์์๋ฅผ ์ง์ ํ๋ ค๋ฉด ์ปจํ ์ด๋ ์ข ์ ํญ๋ชฉ ๊ธฐ๋ฅ์ ์ฌ์ฉํฉ๋๋ค. ์ข ์ ํญ๋ชฉ์ด ์๋ ์ปจํ ์ด๋๋ฅผ ์ง์ ํ๊ณ ์ข ์๋ ์ปจํ ์ด๋๋ฅผ ๋์ดํ์ฌ ํด๋น ์ปจํ ์ด๋๊ฐ ๋จผ์ ์์๋๋๋ก ํฉ๋๋ค. ์ข ์ ํญ๋ชฉ์ด ์๋ ์ปจํ ์ด๋๋ ํญ์ ๋์์ ๋จผ์ ์์๋ฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ฑ๊ณต์ ์ผ๋ก ์ฌ์ฉํ๋ ค๋ฉด ์์ ์ํ ์ ๊ฒ ํ๋ก๋ธ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์์ ํ๋ก๋ธ๋ฅผ ์ฌ์ฉํ๋ฉด Cloud Run์ด ์ข ์ ์ปจํ ์ด๋์ ์ํ๋ฅผ ๊ฒ์ฌํ์ฌ ํต๊ณผ ์ฌ๋ถ๋ฅผ ํ์ธํ ํ์ ๋ค์ ์ปจํ ์ด๋๋ฅผ ์์ํ ์ ์์ต๋๋ค. ์ํ ํ์ธ์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ์ข ์๋ ์ปจํ ์ด๋ ์์์ ์คํจํ๋๋ผ๋ ์ปจํ ์ด๋๊ฐ ์ง์ ๋ ์์๋ก ์์๋ฉ๋๋ค.
์์ ์ ํ์๋ ๊ธฐ๋ณธ ์์ ์ํ ์ ๊ฒ ํ๋ก๋ธ๊ฐ ์์ต๋๋ค.
Google Cloud CLI๋ฅผ ์ฌ์ฉํ์ฌ ์์ ์์๋ฅผ ์ง์ ํฉ๋๋ค.
gcloud
Google Cloud CLI๋ฅผ ์ฌ์ฉํ์ฌ ์์ ์์๋ฅผ ์ง์ ํ๊ธฐ ์ ์ ์์ ์ํ ์ ๊ฒ์ ๊ตฌ์ฑํ์ธ์.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
์ง์ ๋ ์์ ์์์ ๋ฐ๋ผ ์ฌ๋ฌ ์ปจํ ์ด๋๋ฅผ ์๋น์ค์ ๋ฐฐํฌํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค.
gcloud beta run worker-pools deploy WORKER_POOL \ --container CONTAINER_1_NAME --image='WORKER_POOL_IMAGE' --container CONTAINER_2_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME \ --container CONTAINER_3_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME,CONTAINER_2_NAME
- WORKER_POOL์ ๋ฐฐํฌํ ์์ ์ ํ์ ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค. ์ด ํ๋ผ๋ฏธํฐ๋ฅผ ์๋ตํ๋ฉด ๋์ค์ ์์ ์ ํ ์ด๋ฆ์ ์ ๋ ฅํ๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค.
- IMAGE_URL์ ์์
์ ํ์ด ํฌํจ๋ ์ปจํ
์ด๋ ์ด๋ฏธ์ง์ ๋ํ ์ฐธ์กฐ(์:
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
)๋ก ๋ฐ๊ฟ๋๋ค. SIDECAR_IMAGE๋ฅผ ์ฌ์ด๋์นด ์ปจํ ์ด๋ ์ด๋ฏธ์ง์ ๋ํ ์ฐธ์กฐ๋ก ๋ฐ๊ฟ๋๋ค.
๋ฐฐํฌ ๋ช ๋ น์ด์์ ๊ฐ ์ปจํ ์ด๋๋ฅผ ๊ตฌ์ฑํ๋ ค๋ฉด ๊ฐ ์ปจํ ์ด๋ ๊ตฌ์ฑ์
container
๋งค๊ฐ๋ณ์ ๋ค์์ ์ ๊ณตํฉ๋๋ค.
์์ ์ ํ์ ์ปจํ ์ด๋ ๊ตฌ์ฑ ๋ณด๊ธฐ
Google Cloud ์ฝ์์์ Cloud Run์ผ๋ก ์ด๋ํฉ๋๋ค.
์์ ์ ํ์ ํด๋ฆญํ์ฌ ๋ฐฐํฌ๋ ์์ ์ ํ ๋ชฉ๋ก์ ํ์ํฉ๋๋ค.
๊ฒ์ฌํ ์์ ์ ํ์ ํด๋ฆญํ์ฌ ์ธ๋ถ์ ๋ณด ์ฐฝ์ ํ์ํฉ๋๋ค.
์ปจํ ์ด๋ ํญ์ ํด๋ฆญํ์ฌ ์์ ์ ํ ์ปจํ ์ด๋ ๊ตฌ์ฑ์ ํ์ํฉ๋๋ค.