์ด ํ์ด์ง์์๋ ๊ฐ Cloud Run ์ธ์คํด์ค์ ์ฌ์ฉํ CPU ์๋ฅผ ์ง์ ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Cloud Run ์ปจํ ์ด๋ ์ธ์คํด์ค๋ CPU 1๊ฐ๋ก ์ ํ๋ฉ๋๋ค. ์ด ํ์ด์ง์ ์ค๋ช ๋๋ก ์ด ๊ฐ์ ๋๋ฆฌ๊ฑฐ๋ ์ค์ผ ์ ์์ต๋๋ค.
๋ํ ์ด ํ์ด์ง์์๋ ์์ ์ง์ฐ ์๊ฐ์ ์ค์ด๊ธฐ ์ํด ์ธ์คํด์ค ์์ ์ค์ CPU ํ ๋น์ ์ผ์์ ์ผ๋ก ๋๋ฆฌ๋ ๊ธฐ๋ฅ์ธ ์์ CPU ๋ถ์คํธ๋ฅผ ์ฌ์ฉ ์ค์ ํ๊ฑฐ๋ ์ฌ์ฉ ์ค์งํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
CPU ํ๋ ์ค์ ๋ฐ ์ ๋ฐ์ดํธ
๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ ์ธ์คํด์ค๋ 1๊ฐ์ CPU๋ก ์ ํ๋ฉ๋๋ค. ๋ค์ ํ์ ํ์๋ ๊ฐ์ผ๋ก ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
CPU ๋ฐ ๋ฉ๋ชจ๋ฆฌ ํ
๋ค์์ CPU์ ์ต์ ๋ฉ๋ชจ๋ฆฌ ์๊ตฌ์ฌํญ์ ๋๋ค.
CPU | ์ต์ ๋ฉ๋ชจ๋ฆฌ |
---|---|
1 | 128MB |
2 | 128MB |
4 | 2GiB |
6 | 4GiB |
8 | 4GiB |
๋๋ CPU 1๊ฐ ๋ฏธ๋ง์ ์ฌ์ฉํ๋ ค๋ฉด 0.08~1 ์ฌ์ด์ ๊ฐ์ ์ ํํ๋ฉด ๋ฉ๋๋ค(0.01 ๋จ์). 1๋ณด๋ค ํฐ ๊ฐ์ ์ ์ ๊ฐ์ด์ด์ผ ํฉ๋๋ค. CPU 1๊ฐ ๋ฏธ๋ง์ ์ฌ์ฉํ๋ฉด ๋ค์ ์๊ตฌ์ฌํญ์ด ์ ์ฉ๋ฉ๋๋ค.
์ค์ | ์๊ตฌ์ฌํญ |
---|---|
๋ฉ๋ชจ๋ฆฌ | ๋ฉ๋ชจ๋ฆฌ ํ๋๋ฅผ 512MiB ์ด์์ผ๋ก ์ค์ ํ๋ ค๋ฉด CPU๊ฐ ์ต์ 0.5๊ฐ ํ์ํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ํ๋๋ฅผ 1GiB ์ด์์ผ๋ก ์ค์ ํ๋ ค๋ฉด CPU๊ฐ ์ต์ 1๊ฐ ํ์ํฉ๋๋ค. |
๋์ ์คํ | ์ต๋ ๋์ ์คํ์ 1 ๋ก ์ค์ ํด์ผ ํฉ๋๋ค. |
๊ฒฐ์ | ๊ฒฐ์ ์ค์ ์ ์์ฒญ ๊ธฐ๋ฐ ๊ฒฐ์ ๋ก ์ค์ ํด์ผ ํฉ๋๋ค. |
์คํ ํ๊ฒฝ | 1์ธ๋ ์คํ ํ๊ฒฝ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. |
ํ์ํ ์ญํ
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 ๊ตฌ์ฑ ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ธ์. ์ญํ ๋ถ์ฌ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ฐฐํฌ ๊ถํ ๋ฐ ์ก์ธ์ค ๊ด๋ฆฌ๋ฅผ ์ฐธ์กฐํ์ธ์.
CPU ํ๋ ๊ตฌ์ฑ
๊ตฌ์ฑ์ ๋ณ๊ฒฝํ๋ฉด ์ ๋ฒ์ ์ด ์์ฑ๋ฉ๋๋ค. ์ด๋ฅผ ๋ณ๊ฒฝํ๋ ๋ช ์์ ์ ๋ฐ์ดํธ๊ฐ ์์ผ๋ฉด ์ดํ ๋ฒ์ ์๋ ์ด ๊ตฌ์ฑ ์ค์ ์ด ์๋์ผ๋ก ์ ์ฉ๋ฉ๋๋ค.
์ ์๋น์ค๋ฅผ ๋ง๋ค๊ฑฐ๋ ์ ๋ฒ์ ์ ๋ฐฐํฌํ ๋ Google Cloud ์ฝ์, gcloud ๋ช ๋ น์ค ๋๋ YAML ํ์ผ์ ์ฌ์ฉํ์ฌ CPU ํ๋๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
์ฝ์
Google Cloud ์ฝ์์์ Cloud Run์ผ๋ก ์ด๋ํฉ๋๋ค.
๋ฉ๋ด์์ ์๋น์ค๋ฅผ ์ ํํ๊ณ ์ปจํ ์ด๋ ๋ฐฐํฌ๋ฅผ ํด๋ฆญํ์ฌ ์ ์๋น์ค๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ๊ธฐ์กด ์๋น์ค๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ ์๋น์ค๋ฅผ ํด๋ฆญํ ํ ์ ๋ฒ์ ์์ ๋ฐ ๋ฐฐํฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ ์๋น์ค๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ ์ด๊ธฐ ์๋น์ค ์ค์ ํ์ด์ง๋ฅผ ์์ฑํ ํ ์ปจํ ์ด๋, ๋ณผ๋ฅจ, ๋คํธ์ํน, ๋ณด์์ ํด๋ฆญํ์ฌ ์๋น์ค ๊ตฌ์ฑ ํ์ด์ง๋ฅผ ํผ์นฉ๋๋ค.
์ปจํ ์ด๋ ํญ์ ํด๋ฆญํฉ๋๋ค.
- CPU 1๊ฐ ๋ฏธ๋ง์ ์ฌ์ฉํ๋ ค๋ฉด ์ปค์คํ
์ ์ฌ์ฉํ์ฌ ๋๋กญ๋ค์ด ๋ชฉ๋ก์์ ์ํ๋ CPU ํ๋๋ฅผ ์ ํํฉ๋๋ค.
1
,2
,4
,6
๋๋8
CPU ๊ฐ์ ์ ํํ๊ฑฐ๋ CPU 1๊ฐ ๋ฏธ๋ง์ ๊ฒฝ์ฐ 0.08์์ 1.00 ๋ฏธ๋ง์ ๊ฐ์ 0.01 ๋จ์๋ก ์ง์ ํฉ๋๋ค. ํ์ํ ์ค์ ์ CPU ํ๋ ์ค์ ๋ฐ ์ ๋ฐ์ดํธ์ ํ๋ฅผ ์ฐธ์กฐํ์ธ์.
- CPU 1๊ฐ ๋ฏธ๋ง์ ์ฌ์ฉํ๋ ค๋ฉด ์ปค์คํ
์ ์ฌ์ฉํ์ฌ ๋๋กญ๋ค์ด ๋ชฉ๋ก์์ ์ํ๋ CPU ํ๋๋ฅผ ์ ํํฉ๋๋ค.
๋ง๋ค๊ธฐ ๋๋ ๋ฐฐํฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
gcloud
๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ํน์ ์๋น์ค์ CPU ํ๋๋ฅผ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
gcloud run services update SERVICE --cpu CPU
๋ค์๊ณผ ๊ฐ์ด ๋ฐ๊ฟ๋๋ค.
- SERVICE๋ฅผ ์๋น์ค ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
- CPU๋ฅผ ์ํ๋ CPU ํ๋๋ก ๋ฐ๊ฟ๋๋ค.
1
,2
,4
,6
๋๋8
CPU ๊ฐ์ ์ง์ ํ๊ฑฐ๋ CPU 1๊ฐ ๋ฏธ๋ง์ ๊ฒฝ์ฐ 0.08์์ 1.00 ๋ฏธ๋ง์ ๊ฐ์ 0.01 ๋จ์๋ก ์ง์ ํฉ๋๋ค. ํ์ํ ์ค์ ์ CPU ํ๋ ์ค์ ๋ฐ ์ ๋ฐ์ดํธ์ ํ๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ํ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐํฌ ์ค CPU๋ฅผ ์ค์ ํ ์๋ ์์ต๋๋ค.
gcloud run deploy --image IMAGE_URL --cpu CPU
๋ค์๊ณผ ๊ฐ์ด ๋ฐ๊ฟ๋๋ค.
- IMAGE_URL: ์ปจํ
์ด๋ ์ด๋ฏธ์ง์ ๋ํ ์ฐธ์กฐ(์:
us-docker.pkg.dev/cloudrun/container/hello:latest
). Artifact Registry๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ ์ฅ์ REPO_NAME์ด ์ด๋ฏธ ์์ฑ๋์ด ์์ด์ผ ํฉ๋๋ค. URL์ ํ์์LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
์ ๋๋ค. - CPU๋ฅผ
1
,2
,4
,6
๋๋8
CPU ๊ฐ์ผ๋ก ๋ฐ๊พธ๊ฑฐ๋ CPU 1๊ฐ ๋ฏธ๋ง์ ๊ฒฝ์ฐ 0.08์์ 1.00 ๋ฏธ๋ง์ ๊ฐ์ 0.01 ๋จ์๋ก ์ง์ ํฉ๋๋ค. ํ์ํ ์ค์ ์ CPU ํ๋ ์ค์ ๋ฐ ์ ๋ฐ์ดํธ์ ํ๋ฅผ ์ฐธ์กฐํ์ธ์.
YAML
์ ์๋น์ค๋ฅผ ๋ง๋๋ ๊ฒฝ์ฐ์๋ ์ด ๋จ๊ณ๋ฅผ ๊ฑด๋๋๋๋ค. ๊ธฐ์กด ์๋น์ค๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒฝ์ฐ YAML ๊ตฌ์ฑ์ ๋ค์ด๋ก๋ํฉ๋๋ค.
gcloud run services describe SERVICE --format export > service.yaml
cpu
์์ฑ์ ์ ๋ฐ์ดํธํฉ๋๋ค.apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: name: REVISION spec: containers: - image: IMAGE resources: limits: cpu: CPU
๋ค์๊ณผ ๊ฐ์ด ๋ฐ๊ฟ๋๋ค.
- SERVICE: Cloud Run ์๋น์ค ์ด๋ฆ
- IMAGE_URL: ์ปจํ
์ด๋ ์ด๋ฏธ์ง์ ๋ํ ์ฐธ์กฐ(์:
us-docker.pkg.dev/cloudrun/container/hello:latest
). Artifact Registry๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ ์ฅ์ REPO_NAME์ด ์ด๋ฏธ ์์ฑ๋์ด ์์ด์ผ ํฉ๋๋ค. URL์ ํ์์LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
์ ๋๋ค. - CPU๋ฅผ ์ํ๋ CPU ํ๋ ๊ฐ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
1
,2
,4
,6
๋๋8
CPU ๊ฐ์ ์ง์ ํ๊ฑฐ๋ CPU 1๊ฐ ๋ฏธ๋ง์ ๊ฒฝ์ฐ 0.08์์ 1.00 ๋ฏธ๋ง์ ๊ฐ์ 0.01 ๋จ์๋ก ์ง์ ํฉ๋๋ค. ํ์ํ ์ค์ ์ CPU ํ๋ ์ค์ ๋ฐ ์ ๋ฐ์ดํธ์ ํ๋ฅผ ์ฐธ์กฐํ์ธ์. - REVISION์ ์ ๋ฒ์ ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝํ๊ฑฐ๋ ์ญ์ ํฉ๋๋ค(์๋ ๊ฒฝ์ฐ). ์ ๋ฒ์ ์ด๋ฆ์ ์ ๊ณตํ ๊ฒฝ์ฐ ๋ค์ ๊ธฐ์ค์ ๋ฐ๋์ ์ถฉ์กฑํด์ผ ํฉ๋๋ค.
SERVICE-
๋ก ์์ํด์ผ ํฉ๋๋ค.- ์๋ฌธ์, ์ซ์,
-
๋ง ํฌํจํฉ๋๋ค. -
๋ก ๋๋๋ฉด ์ ๋ฉ๋๋ค.- 63์(์๋ฌธ ๊ธฐ์ค) ์ดํ์ฌ์ผ ํฉ๋๋ค.
๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์๋น์ค๋ฅผ ๋ง๋ค๊ฑฐ๋ ์ ๋ฐ์ดํธํฉ๋๋ค.
gcloud run services replace service.yaml
Terraform
Terraform ๊ตฌ์ฑ์ ์ ์ฉํ๊ฑฐ๋ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ๋ณธ Terraform ๋ช ๋ น์ด๋ฅผ ์ฐธ์กฐํ์ธ์.
Terraform ๊ตฌ์ฑ์์ ๋ค์์google_cloud_run_v2_service
๋ฆฌ์์ค์ ์ถ๊ฐํฉ๋๋ค.์์ ๋์จ google_cloud_run_v2_service
๋ฆฌ์์ค๋ template.containers.resources.limits
์์ CPU ํ๋๋ฅผ ์ง์ ํฉ๋๋ค.
1
์ ์ํ๋ CPU ์๋ก ๋ฐ๊ฟ๋๋ค. ํ: 1
์ vCPU 1๊ฐ์ ํด๋นํฉ๋๋ค.
์์ CPU ๋ถ์คํธ ์ค์
๋ฒ์ ์ ์์ CPU ๋ถ์คํธ ๊ธฐ๋ฅ์ ์ธ์คํด์ค ์์ ์๊ฐ ๋์ ๊ทธ๋ฆฌ๊ณ ์ธ์คํด์ค๊ฐ ์์๋ ํ 10์ด ๋์ ์ถ๊ฐ CPU๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ค์ CPU ๋ถ์คํธ๋ CPU ํ๋ ์ค์ ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
CPU ํ๋ | ๋ถ์คํฐ๋ CPU |
---|---|
0~1 | 2 |
2 | 4 |
4 | 8 |
6 | 8 |
8 | 8 |
์ปจํ ์ด๋์ ์์ ์๊ฐ ๋์ ํ ๋น๋ ๋ถ์คํธ๋ CPU์ ๋ํ ์๊ธ์ด ์ฒญ๊ตฌ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ปจํ ์ด๋ ์์ ์๊ฐ์ด 15์ด์ด๊ณ ์์ CPU ๋ถ์คํธ๋ฅผ ํฌํจํ์ฌ 2๊ฐ์ CPU๋ฅผ ํ ๋นํ ๊ฒฝ์ฐ ์ปจํ ์ด๋๊ฐ ์์์ ์๋ฃํ ํ 10์ด๋ฅผ ํฌํจํ ์ธ์คํด์ค ์์ ์๊ฐ(๋ ์งง์ ์ ์์) ๋์ 4๊ฐ CPU์ ๋ํ ์๊ธ์ด ์ฒญ๊ตฌ๋๊ณ ๋๋จธ์ง ์ปจํ ์ด๋ ์๋ช ์ฃผ๊ธฐ ๋์ 2๊ฐ์ CPU์ ๋ํ ์๊ธ์ด ์ฒญ๊ตฌ๋ฉ๋๋ค.
Cloud Run ๋ฐฐํฌ์์ ์ฌ์ด๋์นด๋ฅผ ์ฌ์ฉํ๊ณ ์์ CPU ๋ถ์คํธ๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ฉด ๋ชจ๋ ์ปจํ ์ด๋๊ฐ CPU ๋ถ์คํธ๋ฅผ ๋ฐ์ต๋๋ค. Cloud Run์ CPU ํ๋์ ๋ฐ๋ผ ๊ฐ ์ปจํ ์ด๋์ ๋ถ์คํ ๋ CPU ์์ ๊ฒฐ์ ํฉ๋๋ค.
Google Cloud ์ฝ์, Google Cloud CLI, YAML ํ์ผ ๋๋ Terraform ํ์ผ์ ์ฌ์ฉํ์ฌ ์์ CPU ๋ถ์คํธ๋ฅผ ์ฌ์ฉ ์ค์ ํ๊ฑฐ๋ ์ฌ์ฉ ์ค์งํ ์ ์์ต๋๋ค.
์ฝ์
Google Cloud ์ฝ์์์ Cloud Run์ผ๋ก ์ด๋ํฉ๋๋ค.
๋ฉ๋ด์์ ์๋น์ค๋ฅผ ์ ํํ๊ณ ์ปจํ ์ด๋ ๋ฐฐํฌ๋ฅผ ํด๋ฆญํ์ฌ ์ ์๋น์ค๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ๊ธฐ์กด ์๋น์ค๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ ์๋น์ค๋ฅผ ํด๋ฆญํ ํ ์ ๋ฒ์ ์์ ๋ฐ ๋ฐฐํฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ ์๋น์ค๋ฅผ ๊ตฌ์ฑํ๋ ๊ฒฝ์ฐ ์ด๊ธฐ ์๋น์ค ์ค์ ํ์ด์ง๋ฅผ ์์ฑํ ํ ์ปจํ ์ด๋, ๋ณผ๋ฅจ, ๋คํธ์ํน, ๋ณด์์ ํด๋ฆญํ์ฌ ์๋น์ค ๊ตฌ์ฑ ํ์ด์ง๋ฅผ ํผ์นฉ๋๋ค.
์ปจํ ์ด๋ ํญ์ ํด๋ฆญํฉ๋๋ค.
- ์์ CPU ๋ถ์คํธ๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด ์์ CPU ๋ถ์คํธ ์ฒดํฌ๋ฐ์ค๋ฅผ ์ ํํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉ ์ค์งํ๋ ค๋ฉด ์ฒดํฌ๋ฐ์ค๋ฅผ ์ ํ ํด์ ํ์ธ์.
๋ง๋ค๊ธฐ ๋๋ ๋ฐฐํฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
gcloud
๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ๋ ์๋น์ค์ ์์ CPU ๋ถ์คํธ๋ฅผ ์ฌ์ฉ ์ค์ ํ ์ ์์ต๋๋ค.
gcloud run services update SERVICE --cpu-boost
SERVICE๋ฅผ ์๋น์ค ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
๋ฐฐํฌ ์ค์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์์ CPU ๋ถ์คํธ๋ฅผ ์ฌ์ฉ ์ค์ ํ ์ ์์ต๋๋ค.
gcloud run deploy --image IMAGE_URL --cpu-boost
IMAGE_URL์ ์ปจํ ์ด๋ ์ด๋ฏธ์ง์ ๋ํ ์ฐธ์กฐ(์:
us-docker.pkg.dev/cloudrun/container/hello:latest
)๋ก ๋ฐ๊ฟ๋๋ค. Artifact Registry๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ ์ฅ์ REPO_NAME์ด ์ด๋ฏธ ์์ฑ๋์ด ์์ด์ผ ํฉ๋๋ค. URL์ ํ์์LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
์ ๋๋ค.๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ๋ ์๋น์ค์ ๋ํด ์์ CPU ๋ถ์คํธ๋ฅผ ์ฌ์ฉ ์ค์งํ ์ ์์ต๋๋ค.
gcloud run services update SERVICE --no-cpu-boost
SERVICE๋ฅผ ์๋น์ค ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
๋ฐฐํฌ ์ค์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์์ CPU ๋ถ์คํธ๋ฅผ ์ฌ์ฉ ์ค์งํ ์ ์์ต๋๋ค.
gcloud run deploy --image IMAGE_URL --no-cpu-boost
YAML
์ ์๋น์ค๋ฅผ ๋ง๋๋ ๊ฒฝ์ฐ์๋ ์ด ๋จ๊ณ๋ฅผ ๊ฑด๋๋๋๋ค. ๊ธฐ์กด ์๋น์ค๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒฝ์ฐ YAML ๊ตฌ์ฑ์ ๋ค์ด๋ก๋ํฉ๋๋ค.
gcloud run services describe SERVICE --format export > service.yaml
์์ CPU ๋ถ์คํธ๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด
'true'
๋ฅผ ์ง์ ํ๊ณ ์ฌ์ฉ ์ค์งํ๋ ค๋ฉด'false'
๋ฅผ ์ง์ ํ์ฌrun.googleapis.com/startup-cpu-boost
์์ฑ์ ์ ๋ฐ์ดํธํฉ๋๋ค.apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: run.googleapis.com/startup-cpu-boost: 'true'
๋ค์๊ณผ ๊ฐ์ด ๋ฐ๊ฟ๋๋ค.
- SERVICE: Cloud Run ์๋น์ค ์ด๋ฆ
๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์๋น์ค๋ฅผ ๋ง๋ค๊ฑฐ๋ ์ ๋ฐ์ดํธํฉ๋๋ค.
gcloud run services replace service.yaml
Terraform
Terraform ๊ตฌ์ฑ์ ์ ์ฉํ๊ฑฐ๋ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ๋ณธ Terraform ๋ช ๋ น์ด๋ฅผ ์ฐธ์กฐํ์ธ์.
Terraform ๊ตฌ์ฑ์์ ๋ค์์google_cloud_run_v2_service
๋ฆฌ์์ค์ ์ถ๊ฐํฉ๋๋ค.resource "google_cloud_run_v2_service" "default" {
name = "SERVICE"
location = "REGION"
template {
containers {
image = "us-docker.pkg.dev/cloudrun/container/hello"
resources {
startup_cpu_boost = CPU_BOOST
}
}
}
}
๋ค์๊ณผ ๊ฐ์ด ๋ฐ๊ฟ๋๋ค.
- SERVICE๋ฅผ Cloud Run ์๋น์ค ์ด๋ฆ์ผ๋ก ๋ฐ๊ฟ๋๋ค.
- REGION์ Google Cloud ๋ฆฌ์ ์ผ๋ก ๋ฐ๊ฟ๋๋ค. ์๋ฅผ ๋ค๋ฉด
europe-west1
์ ๋๋ค. - CPU_BOOST๋ฅผ ์์ CPU ๋ถ์คํธ๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด
true
๋ก, ์ฌ์ฉ ์ค์งํ๋ ค๋ฉดfalse
๋ก ๋ฐ๊ฟ๋๋ค.
CPU ์ค์ ๋ณด๊ธฐ
Cloud Run ์๋น์ค์ ํ์ฌ CPU ํ ๋น ์ค์ ์ ๋ณด๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
์ฝ์
Google Cloud ์ฝ์์์ Cloud Run์ผ๋ก ์ด๋ํฉ๋๋ค.
๊ด์ฌ์ด ์๋ ์๋น์ค๋ฅผ ํด๋ฆญํ์ฌ ์๋น์ค ์ธ๋ถ์ ๋ณด ํ์ด์ง๋ฅผ ์ฝ๋๋ค.
๋ฒ์ ํญ์ ํด๋ฆญํฉ๋๋ค.
์ค๋ฅธ์ชฝ์ ์ธ๋ถ์ ๋ณด ํจ๋์์ CPU ์ค์ ์ด ์ปจํ ์ด๋ ํญ์ ํ์๋ฉ๋๋ค.
gcloud
๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ธ์.
gcloud run services describe SERVICE
๋ฐํ๋ ๊ตฌ์ฑ์์ CPU ์ค์ ์ ์ฐพ์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ค๋ ๋ฉ ๋ฐ CPU ์ฌ์ฉ๋ฅ
vCPU๊ฐ 1๊ฐ๋ฅผ ์ด๊ณผํ๋ CPU ํ๋๋ฅผ ์ ํํ ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค๋ ๋ฉ ๋ชจ๋ธ์ ๊ณ ๋ คํ์ธ์. ์๋ ํ์ฅ ์ Cloud Run์ ํ ๋น๋ ๋ชจ๋ CPU์ ํ๊ท CPU ์ฌ์ฉ๋ฅ ์ ์ฌ์ฉํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋จ์ผ ์ค๋ ๋์ธ ๊ฒฝ์ฐ ํ๋์ ์ฝ์ด๋ง ์์ ํ ํ์ฉํ ์ ์์ผ๋ฏ๋ก ๋ถํ๊ฐ ๊ฑธ๋ ค๋ ํ๊ท CPU ์ฌ์ฉ๋์ด ๋ฎ์์ง๋๋ค. ์ด๋ก ์ธํด CPU ๊ธฐ๋ฐ ์๋ ํ์ฅ์ด ์์๋๋ก ๋ฐ์ํ์ง ์์ ์ ์์ต๋๋ค.
๋จ์ผ ์ค๋ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด ๋์์ ๋ฐฉ์งํ๋ ค๋ฉด ๋ฉ๋ชจ๋ฆฌ ์๊ตฌ์ฌํญ์ด ํ์ฉํ๋ ๊ฒฝ์ฐ vCPU 1๊ฐ๋ก ์์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด CPU ๊ธฐ๋ฐ ์๋ ํ์ฅ์ด ๊ฐ์ ๋ฉ๋๋ค. ๋์ ๋ฉ๋ชจ๋ฆฌ ์๊ตฌ์ฌํญ์ผ๋ก ์ธํด ๋จ์ผ ์ค๋ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ค CPU๋ฅผ ์ ํํด์ผ ํ๋ ๊ฒฝ์ฐ ๋์ ์คํ ์ค์ ์ ์กฐ์ ํด ๋ณด์ธ์.