app.yaml
ํ์ผ์ ๋ฐํ์์ ๊ตฌ์ฑ ์ค์ ๋ฟ๋ง ์๋๋ผ ์ผ๋ฐ์ ์ธ ์ฑ, ๋คํธ์ํฌ, ๊ธฐํ ๋ฆฌ์์ค ์ค์ ๊น์ง ์ ์ํฉ๋๋ค.
.gcloudignore
ํ์ผ์ app.yaml
์ ์ถ๊ฐํ์ง ๋ง์ธ์. ๋ฐฐํฌ์ app.yaml
๊ฐ ํ์ํ ์ ์์ผ๋ฉฐ .gcloudignore
์ ์ถ๊ฐํ๋ฉด ๋ฐฐํฌ๊ฐ ์คํจํฉ๋๋ค.
๊ตฌ๋ฌธ
app.yaml
ํ์ผ์ ๊ตฌ๋ฌธ์ YAML ํ์์
๋๋ค.
YAML ํ์์ ํด์ํ๊ทธ(#
) ๋ฌธ์๋ก ์์ํ๋ ๋ชจ๋ ์ค์ด ๋ฌด์๋๋ ์ฃผ์์ ์ง์ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
# This is a comment.
URL ๋ฐ ํ์ผ ๊ฒฝ๋ก ํจํด์ ๋์กฐ ์์์ ๋์กฐ ํด๋์ค๋ฅผ ์ ์ธํ POSIX ํ์ฅ ์ ๊ท ํํ์ ๊ตฌ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ฃนํ๋ ์ผ์น๋ก์ ์ญ์ฐธ์กฐ(์: \1
)๊ฐ ์ง์๋๋ฉฐ Perl ํ์ฅ๋ช
(\w \W \s \S \d \D
)๋ ์ง์๋ฉ๋๋ค.
์ผ๋ฐ ์ค์
app.yaml
ํ์ผ์๋ ์ด๋ฌํ ์ผ๋ฐ ์ค์ ์ด ํฌํจ๋ ์ ์์ต๋๋ค. ์ผ๋ถ ์ค์ ์ ํ์์
๋๋ค.
์ด๋ฆ | ์ค๋ช |
---|---|
build_env_variables
|
์ ํ์ฌํญ์
๋๋ค. ๋น๋ํฉ์ ์ง์ํ๋ ๋ฐํ์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์์ธํ ๋ด์ฉ์ ๋น๋ ํ๊ฒฝ ๋ณ์ ์ฌ์ฉ์ ์ฐธ์กฐํ์ธ์. |
runtime |
ํ์ ํญ๋ชฉ์ ๋๋ค. ์ฑ์์ ์ฌ์ฉ๋๋ ๋ฐํ์ ํ๊ฒฝ ์ด๋ฆ์ ๋๋ค. ์๋ฅผ ๋ค์ด ๋ฐํ์ ํ๊ฒฝ์ ์ง์ ํ๋ ค๋ฉด ๋ค์์ ์ฌ์ฉํฉ๋๋ค. |
env: flex |
ํ์: ๊ฐ๋ณํ ํ๊ฒฝ์ ์ ํํฉ๋๋ค. |
service: service_name |
์๋น์ค๋ฅผ ๋ง๋ค ๊ฒฝ์ฐ ํ์ ํญ๋ชฉ์
๋๋ค. ๊ธฐ๋ณธ ์๋น์ค์ ๊ฒฝ์ฐ ์ ํ ํญ๋ชฉ์
๋๋ค. ๊ฐ ์๋น์ค์ ๋ฒ์ ์๋ ์ด๋ฆ์ด ์์ด์ผ ํฉ๋๋ค. ์ด๋ฆ์๋ ์ซ์, ๋ฌธ์, ํ์ดํ์ด ํฌํจ๋ ์ ์์ต๋๋ค. ๊ฐ๋ณํ ํ๊ฒฝ์์ VERSION-dot-SERVICE-dot-PROJECT_ID ์ ๊ฒฐํฉ๋ ๊ธธ์ด(VERSION ๋ ๋ฒ์ ์ด๋ฆ, SERVICE ์ ์๋น์ค ์ด๋ฆ, PROJECT_ID ๋ ํ๋ก์ ํธ ID)๋ 63์(์๋ฌธ)๋ฅผ ์ด๊ณผํ ์ ์์ผ๋ฉฐ ํ์ดํ์ผ๋ก ์์ํ๊ฑฐ๋ ๋๋ ์ ์์ต๋๋ค.
์๋น์ค ์ด๋ฆ์ ์ง์ ํ์ง ์๊ณ ๋ฐฐํฌํ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ์๋น์ค์ ์ ๋ฒ์ ์ด ์์ฑ๋ฉ๋๋ค. ์ด๋ฏธ ์กด์ฌํ๋ ์๋น์ค ์ด๋ฆ์ผ๋ก ๋ฐฐํฌํ ๊ฒฝ์ฐ ํด๋น ์๋น์ค์ ์ ๋ฒ์ ์ด ์์ฑ๋ฉ๋๋ค. ์กด์ฌํ์ง ์๋ ์ ์๋น์ค ์ด๋ฆ์ผ๋ก ๋ฐฐํฌํ ๊ฒฝ์ฐ ์ ์๋น์ค ๋ฐ ๋ฒ์ ์ด ์์ฑ๋ฉ๋๋ค. ๊ฐ ์๋น์ค-๋ฒ์ ์กฐํฉ์ ๊ณ ์ ํ ์ด๋ฆ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ฐธ๊ณ : ์ด์ ์๋ ์๋น์ค๋ฅผ '๋ชจ๋'์ด๋ผ๊ณ ํ์ต๋๋ค. |
service_account |
์ ํ์ฌํญ์
๋๋ค. ์๋น์ค ๊ณ์ ์ ๋ค์ ํ์์ผ๋ก ์ ๊ณตํด์ผ ํฉ๋๋ค. service_account: [SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com |
skip_files |
์ ํ์ฌํญ์
๋๋ค.
์๋ฅผ ๋ค์ด ์ด๋ฆ์ด skip_files: - ^.*\.bak$ |
๋คํธ์ํฌ ์ค์
app.yaml
๊ตฌ์ฑ ํ์ผ์ ๋คํธ์ํฌ ์ค์ ์ ์ง์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
network: name: NETWORK_NAME instance_ip_mode: INSTANCE_IP_MODE instance_tag: TAG_NAME subnetwork_name: SUBNETWORK_NAME session_affinity: true forwarded_ports: - PORT - HOST_PORT:CONTAINER_PORT - PORT/tcp - HOST_PORT:CONTAINER_PORT/udp
๋คํธ์ํฌ ์ค์ ์ ๊ตฌ์ฑํ ๋ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ต์ | ์ค๋ช |
---|---|
name |
๊ฐ๋ณํ ํ๊ฒฝ์ ๋ชจ๋ VM ์ธ์คํด์ค๋ ์ธ์คํด์ค๊ฐ ๋ง๋ค์ด์ง ๋ Google Compute Engine ๋คํธ์ํฌ์ ํ ๋น๋ฉ๋๋ค. ๋คํธ์ํฌ ์ด๋ฆ์ ์ง์ ํ ๋ ์ด ์ค์ ์ ์ฌ์ฉํฉ๋๋ค. ๋ฆฌ์์ค ๊ฒฝ๋ก๊ฐ ์๋ ์งง์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค(์: https://www.googleapis.com/compute/v1/projects/my-project/global/networks/default ๋์ default ). ๋คํธ์ํฌ ์ด๋ฆ์ ์ง์ ํ์ง ์์ผ๋ฉด ์ธ์คํด์ค๊ฐ ํ๋ก์ ํธ์ ๊ธฐ๋ณธ ๋คํธ์ํฌ(์ด๋ฆ default )์ ํ ๋น๋ฉ๋๋ค. ์๋ธ๋คํธ์ํฌ ์ด๋ฆ์ ์ง์ ํ๋ ค๋ฉด ๋คํธ์ํฌ ์ด๋ฆ์ ์ง์ ํด์ผ ํฉ๋๋ค. |
instance_ip_mode |
์ ํ์ฌํญ์
๋๋ค. ์ธ์คํด์ค๊ฐ ์์ ์ธ๋ถ IP ์ฃผ์๋ฅผ ์์ ํ์ง ๋ชปํ๋๋ก ๋ฐฉ์งํ๋ ค๋ฉด internal ๋ก ์ค์ ํ๊ณ ๋น๊ณต๊ฐ Google ์ก์ธ์ค๋ฅผ ์ฌ์ฉ ์ค์ ํฉ๋๋ค. ์ธ์คํด์ค๊ฐ ์ด์ ์ ์ด ์ค์ ์์ด ๋ฐฐํฌ๋ ๊ฒฝ์ฐ ๋๋ external ๋ก ์ค์ ํ์ฌ ๋ฐฐํฌ๋ ๊ฒฝ์ฐ internal ์ค์ ์ ์ฌ์ฉํ์ฌ ๋ค์ ๋ฐฐํฌํ๋ฉด ์ธ์คํด์ค์์ ์์ ์ธ๋ถ IP ์ฃผ์๊ฐ ์ญ์ ๋ฉ๋๋ค. internal ์ค์ ์๋ ์ ํ์ฌํญ์ด ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์ external ์
๋๋ค. |
instance_tag |
์ ํ์ฌํญ์
๋๋ค. ์ธ์คํด์ค๊ฐ ๋ง๋ค์ด์ง ๋ ์๋น์ค์ ๊ฐ ์ธ์คํด์ค์ ํด๋น ์ด๋ฆ์ด ํ ๋น๋๋ ํ๊ทธ์
๋๋ค. ํ๊ทธ๋ ์ธ์คํด์ค ๊ทธ๋ฃน์ ์์
์ ํ๊ฒํ
ํ๋ gcloud ๋ช
๋ น์ด์์ ์ ์ฉํฉ๋๋ค. compute firewalls-create ๋ช
๋ น์ด์ --source-tags ๋ฐ --target-tags ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ฅผ ์์๋ก ๋ค ์ ์์ต๋๋ค. ์ง์ ํ์ง ์์ผ๋ฉด ๊ณต์ VPC๊ฐ ์ฌ์ฉ๋์ง ์๋ ๊ฒฝ์ฐ ์ธ์คํด์ค์ aef-INSTANCE_ID ํ๊ทธ๊ฐ ์ง์ ๋ฉ๋๋ค. ๊ณต์ VPC๊ฐ ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ ์ธ์คํด์ค์ aef-INSTANCE_ID ํ๊ทธ๊ฐ ๋ชจ๋ ์ง์ ๋ฉ๋๋ค. |
subnetwork_name |
์ ํ์ฌํญ์
๋๋ค. ๋คํธ์ํฌ๋ฅผ ๋ถ๋ฅํ๊ณ ์ปค์คํ
์๋ธ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋คํธ์ํฌ name ์ ์ง์ ํด์ผ ํฉ๋๋ค. ๋ฆฌ์์ค ๊ฒฝ๋ก๊ฐ ์๋ ์งง์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค(์: https://www.googleapis.com/compute/v1/projects/my-project/global/networks/default/subnetworks/default ๋์ default ). ์๋ธ๋คํธ์ํฌ๋ ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ๋์ผํ ๋ฆฌ์ ์ ์์ด์ผ ํฉ๋๋ค. |
session_affinity |
์ ํ์ฌํญ์
๋๋ค. ์ธ์
์ค์ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ๋ก์ปฌ์ ์ ์ฅํ๋ ๊ฒฝ์ฐ์ ๊ฐ์ด ์ง์ ๋ ์ฌ์ฉ์์ ๋ํ ์ฌ๋ฌ ์์ฐจ ์์ฒญ์ ๋์ผํ App Engine ์ธ์คํด์ค๋ก ๋ผ์ฐํ
ํ๋๋ก App Engine์ ๊ตฌ์ฑํ๋ ค๋ฉด true ๋ก ์ค์ ํฉ๋๋ค. ์ธ์
์ดํผ๋ํฐ๋ ๋์ผํ ์ฌ์ฉ์์ ์ฌ๋ฌ ์์ฒญ์ ์๋ณํ๋ ์ฟ ํค ๊ฐ ๊ฒ์ฌ๋ฅผ ์ฌ์ฉ ์ค์ ํ ํ ์ด๋ฌํ ๋ชจ๋ ์์ฒญ์ ๋์ผํ ์ธ์คํด์ค๋ก ์ ๋ฌํฉ๋๋ค. ์ธ์คํด์ค ์๊ฐ ์ถ์๋์์ ๋ ์ธ์คํด์ค๊ฐ ์ฌ๋ถํ
๋๊ฑฐ๋, ๋น์ ์ ๋๋ ๊ณผ๋ถํ ์ํ์ด๊ฑฐ๋, ์ฌ์ฉํ ์ ์๋ ์ํ๊ฐ ๋๋ฉด ์ธ์
์ดํผ๋ํฐ๊ฐ ์์๋๊ณ ์ดํ ์์ฒญ์ด ๋ค๋ฅธ ์ธ์คํด์ค๋ก ๋ผ์ฐํ
๋ฉ๋๋ค. ์ธ์
์ดํผ๋ํฐ๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ฉด ๋ถํ ๋ถ์ฐ ์ค์ ์ ์ํฅ์ ์ค ์ ์์ต๋๋ค. ์ด ๋งค๊ฐ๋ณ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ ์ค์ง๋ฉ๋๋ค. |
forwarded_ports |
์ ํ์ฌํญ์
๋๋ค. ํฌํธ๋ฅผ ์ธ์คํด์ค(HOST_PORT )์์ Docker ์ปจํ
์ด๋(CONTAINER_PORT )๋ก ์ ๋ฌํ ์ ์์ต๋๋ค. HOST_PORT ๋ 1024์ 65535 ์ฌ์ด์ฌ์ผ ํ๋ฉฐ ํฌํธ 22, 8080, 8090, 8443, 10000, 10001, 10400-10500, 11211, 24231๊ณผ ์ถฉ๋ํ ์ ์์ต๋๋ค. CONTAINER_PORT ๋ 1์์ 65535 ์ฌ์ด์ฌ์ผ ํ๋ฉฐ ํฌํธ 22, 10001, 10400-10500, 11211๊ณผ ์ถฉ๋ํ ์ ์์ต๋๋ค. PORT ๋ง ์ง์ ํ ๊ฒฝ์ฐ, App Engine์ ํด๋น ํฌํธ๊ฐ ํธ์คํธ์ ์ปจํ
์ด๋์ ์๋ ํฌํธ์ ๋์ผํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก TCP ํธ๋ํฝ๊ณผ UDP ํธ๋ํฝ์ด ๋ชจ๋ ์ ๋ฌ๋ฉ๋๋ค. ํธ๋ํฝ์ appspot.com ๋๋ฉ์ธ์ด๋ ์ปค์คํ
๋๋ฉ์ธ์ ํตํด์๊ฐ ์๋๋ผ ๋์ ์ธ์คํด์ค์ IP ์ฃผ์๋ก ์ง์ ์ ์ก๋์ด์ผ ํฉ๋๋ค. |
๊ณ ๊ธ ๋คํธ์ํฌ ๊ตฌ์ฑ
Compute Engine ๋คํธ์ํฌ๋ฅผ ์ฌ๋ฌ ๊ฐ์ ํ์ ๋คํธ์ํฌ๋ก ๋ถ๋ฅํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ธฐ์ ๋คํธ์ํฌ ๋ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ก์ธ์คํ๋ ๋ฑ์ VPN ์๋๋ฆฌ์ค๋ฅผ ์ฌ์ฉ ์ค์ ํ ์ ์์ต๋๋ค.
App Engine ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
์์์ ์ง์ ํ ๋๋ก
app.yaml
ํ์ผ์ ๋คํธ์ํฌ ์ด๋ฆ๊ณผ ์๋ธ๋คํธ์ํฌ ์ด๋ฆ์ ์ถ๊ฐํฉ๋๋ค.์ ์ ๋ผ์ฐํ ๊ธฐ๋ฐ์ ๊ฐ๋จํ VPN์ ์ค์ ํ๋ ค๋ฉด ์ปค์คํ ์๋ธ๋ท ๋คํธ์ํฌ๋ฅผ ์ํ ๊ฒ์ดํธ์จ์ด์ ํฐ๋์ ์์ฑํฉ๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ๋ค๋ฅธ ์ ํ์ VPN์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์ฐธ์กฐํ์ธ์.
ํฌํธ ์ ๋ฌ
ํฌํธ ์ ๋ฌ์ ์ด์ฉํ๋ฉด ์ธ์คํด์ค์ Docker ์ปจํ ์ด๋์ ์ง์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์ด ํธ๋ํฝ์ ๋ชจ๋ ํ๋กํ ์ฝ์ ํตํด ์ด๋ํ ์ ์์ต๋๋ค. ํฌํธ ์ ๋ฌ์ ๋๋ฒ๊ฑฐ ๋๋ ํ๋กํ์ผ๋ฌ๋ฅผ ์ฐ๊ฒฐํด์ผ ํ๋ ์ํฉ์ ๋์์ ์ฃผ๊ธฐ ์ํ ๊ฒ์ ๋๋ค. ํธ๋ํฝ์ appspot.com ๋๋ฉ์ธ์ด๋ ์ปค์คํ ๋๋ฉ์ธ์ ํตํด์๊ฐ ์๋๋ผ ๋์ ์ธ์คํด์ค์ IP ์ฃผ์๋ก ์ง์ ์ ์ก๋์ด์ผ ํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก, ๋คํธ์ํฌ ์ธ๋ถ์์ ๋ค์ด์ค๋ ํธ๋ํฝ์ Google Cloud Platform ๋ฐฉํ๋ฒฝ์ ํตํด ํ์ฉ๋์ง ์์ต๋๋ค.
app.yaml
ํ์ผ์ ํฌํธ ์ ๋ฌ์ ์ง์ ํ ํ์๋ ์ด์ด ๋์ ํฌํธ๋ก๋ถํฐ ํธ๋ํฝ์ ํ์ฉํ๋ ๋ฐฉํ๋ฒฝ ๊ท์น์ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
Google Cloud ์ฝ์์ ๋คํธ์ํน ๋ฐฉํ๋ฒฝ ๊ท์น ํ์ด์ง์์ ๋๋ gcloud
๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฉํ๋ฒฝ ๊ท์น์ ์ง์ ํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ํฌํธ 2222
์์ ๋ค์ด์ค๋ TCP ํธ๋ํฝ์ ์ ๋ฌํ๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
app.yaml
์ ๋คํธ์ํฌ ์ค์ ์ ๋ค์์ ํฌํจ์ํต๋๋ค.network: forwarded_ports: - 2222/tcp
Python ๋ฐํ์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ค์์ ํฌํจํ๋๋ก
app.yaml
์ ์์ ํฉ๋๋ค.entrypoint: gunicorn -b :$PORT -b :2222 main:app
Google Cloud ์ฝ์์์ ๋๋
gcloud compute firewall-rules create
๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฉํ๋ฒฝ ๊ท์น์ ์ง์ ํด ๋ชจ๋ ์์ค(0.0.0.0/0
)์tcp:2222
์์ ๋ค์ด์ค๋ ํธ๋ํฝ์ ํ์ฉํฉ๋๋ค.
๋ฆฌ์์ค ์ค์
์ด ์ค์ ์ ์ปดํจํ ๋ฆฌ์์ค๋ฅผ ์ ์ดํฉ๋๋ค. App Engine์ ์ฌ์ฉ์๊ฐ ์ง์ ํ CPU์ ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋จธ์ ์ ํ์ ํ ๋นํฉ๋๋ค. ๋จธ์ ์๋ ์ต์ํ ์ฌ์ฉ์๊ฐ ์ง์ ํ ์์ค ์ด์์ ๋ฆฌ์์ค๊ฐ ๋ณด์ฅ๋๋ฉฐ ๊ทธ ์ด์์ ๋ฆฌ์์ค๊ฐ ์ ๊ณต๋ ์๋ ์์ต๋๋ค.
๋ฆฌ์์ค ์ค์ ์์ ์ต๋ 8๊ฐ์ tmpfs ๋ณผ๋ฅจ์ ์ง์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ tmpfs๋ฅผ ํตํด ๊ณต์ ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์๋ก ํ๋ ์ํฌ๋ก๋๋ฅผ ์ฌ์ฉ ์ค์ ํ๊ณ ํ์ผ ์์คํ I/O๋ฅผ ๊ฐ์ ํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
resources:
cpu: 2
memory_gb: 2.3
disk_size_gb: 10
volumes:
- name: ramdisk1
volume_type: tmpfs
size_gb: 0.5
๋ฆฌ์์ค ์ค์ ์ ๊ตฌ์ฑํ ๋ ๋ค์ ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ต์ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|
cpu |
์ฝ์ด ์๋ ํ๋์ฌ์ผ ํ๋ฉฐ 2~32 ์ฌ์ด์ ์ง์์ด๊ฑฐ๋ 32์ 80 ์ฌ์ด์ 4์ ๋ฐฐ์์ฌ์ผ ํฉ๋๋ค. | 1๊ฐ์ ์ฝ์ด |
memory_gb |
RAM(GB). ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฒญ๋ ๋ฉ๋ชจ๋ฆฌ์ด๋ฉฐ, ์ผ๋ถ ํ๋ก์ธ์ค์ ์ค๋ฒํค๋์ ํ์ํ 0.4GB ์ดํ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ฌ๊ธฐ์ ํฌํจ๋์ง ์์ต๋๋ค ๊ฐ CPU ์ฝ์ด์ 1.0~6.5GB ์ฌ์ด์ ์ด ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํฉ๋๋ค. ์์ฒญ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณ์ฐํ๋ ค๋ฉด ๋ค์์ ์ฌ์ฉํ์ธ์.
2๊ฐ์ ์ฝ์ด๋ฅผ ์ง์ ํ ์์ ์์์์๋ 1.6~12.6GB๋ฅผ ์์ฒญํ ์ ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์
์ ์ ๊ณต๋๋ ์ด ๋ฉ๋ชจ๋ฆฌ๋ ๋ฐํ์ ํ๊ฒฝ์์ ํ๊ฒฝ ๋ณ์ |
0.6GB |
disk_size_gb |
ํฌ๊ธฐ(GB). ์ต์๊ฐ์ 10GB์ด๊ณ ์ต๋๊ฐ์ 10,240GB์ ๋๋ค. | 13GB |
name |
๋ณผ๋ฅจ์ ์ฌ์ฉํ ๊ฒฝ์ฐ ํ์ ํญ๋ชฉ์ด๋ฉฐ, ๋ณผ๋ฅจ์ ์ด๋ฆ์
๋๋ค. ์ด๋ฆ์ ๊ณ ์ ํด์ผ ํ๋ฉฐ 1~63์์ฌ์ผ ํฉ๋๋ค. ์๋ฌธ์, ์ซ์, ๋์๋ก ๊ตฌ์ฑ๋ ์ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ๊ธ์๋ ๋ฌธ์์ฌ์ผ ํ๊ณ , ๋ง์ง๋ง ๊ธ์๋ ๋์๊ฐ ์๋์ด์ผ ํฉ๋๋ค. ๋ณผ๋ฅจ์ ์ฑ ์ปจํ
์ด๋์ /mnt/NAME ์ผ๋ก ๋ง์ดํธ๋ฉ๋๋ค.
|
|
volume_type |
๋ณผ๋ฅจ์ ์ฌ์ฉํ ๊ฒฝ์ฐ ํ์ ํญ๋ชฉ์ด๋ฉฐ, tmpfs ์ด์ด์ผ ํฉ๋๋ค. |
|
size_gb |
๋ณผ๋ฅจ์ ์ฌ์ฉํ ๊ฒฝ์ฐ ํ์ ํญ๋ชฉ์ด๋ฉฐ, ๋ณผ๋ฅจ์ ํฌ๊ธฐ(GB)์ ๋๋ค. ์ต์๊ฐ์ 0.001GB์ด๊ณ ์ต๋๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ปจํ ์ด๋์ ๊ธฐ๋ณธ ๊ธฐ๊ธฐ์ ์ ๊ณต๋๋ ๋ฉ๋ชจ๋ฆฌ ์์ ๋๋ค. Google์ ๋์คํฌ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๊ธฐ ์ํด ์์คํ ์ ์ถ๊ฐ RAM์ ์ถ๊ฐํ์ง ์์ต๋๋ค. tmpfs ๋ณผ๋ฅจ์ ํ ๋น๋๋ RAM์ ์ฑ ์ปจํ ์ด๋์ ์ ๊ณต๋๋ ๋ฉ๋ชจ๋ฆฌ์์ ์ฐจ๊ฐ๋ฉ๋๋ค. ์ ๋ฐ๋๋ ์์คํ ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. |
๋ถํ ์ํ ํ์ธ
๊ธฐ๋ณธ์ ์ผ๋ก ๋ถํ ์ํ ํ์ธ์ ์ฌ์ฉํ๋๋ก ์ค์ ๋ฉ๋๋ค. ์ ๊ธฐ์ ์ธ ์ํ ํ์ธ ์์ฒญ์ ํตํด VM ์ธ์คํด์ค๊ฐ ์ฑ๊ณต์ ์ผ๋ก ๋ฐฐํฌ๋์๋์ง ํ์ธํ๊ณ ์คํ ์ค์ธ ์ธ์คํด์ค๊ฐ ์ ์ ์ํ๋ก ์ ์ง๋๋์ง ํ์ธํ ์ ์์ต๋๋ค. ๊ฐ ์ํ ํ์ธ์ ๋ํ ์๋ต์ ์ง์ ๋ ์๊ฐ ๊ฐ๊ฒฉ ๋ด์ ์ด๋ฃจ์ด์ ธ์ผ ํฉ๋๋ค.
์ง์ ๋ ํ์๋งํผ ์ฐ์์ผ๋ก ์ํ ํ์ธ ์์ฒญ์ ์๋ตํ์ง ๋ชปํ๋ ์ธ์คํด์ค๋ ๋น์ ์ ์ํ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ์ธ์คํด์ค๊ฐ ํ์ฑ ์ํ๊ฐ ์๋๋ฉด ๋ค์ ์์๋ฉ๋๋ค. ์ธ์คํด์ค๊ฐ ์ค๋น๋ ์ํ๊ฐ ์๋๋ฉด ์ด๋ค ํด๋ผ์ด์ธํธ ์์ฒญ๋ ์์ ํ์ง ๋ชปํฉ๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ๋์คํฌ ๊ณต๊ฐ์ด ์์ผ๋ฉด ์ํ ํ์ธ์ ์คํจํ ์๋ ์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง ์ ํ์ ์ํ ํ์ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ํ์ฑ ํ์ธ์ VM ๋ฐ Docker ์ปจํ ์ด๋๊ฐ ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค. App Engine์ด ๋น์ ์ ์ธ์คํด์ค๋ฅผ ๋ค์ ์์ํฉ๋๋ค.
- ์ค๋น ํ์ธ์ ์ธ์คํด์ค๊ฐ ์์ ๋๋ ์์ฒญ์ ์๋ฝํ ์ ์๋์ง ํ์ธํฉ๋๋ค. ์ค๋น ํ์ธ์ ์คํจํ ์ธ์คํด์ค๋ ์ฌ์ฉ ๊ฐ๋ฅํ ์ธ์คํด์ค์ ํ์ ์ถ๊ฐ๋์ง ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก, ์ํ ํ์ธ์ HTTP ์์ฒญ์ ์ ํ๋ฆฌ์ผ์ด์
์ปจํ
์ด๋๋ก ์ ๋ฌ๋์ง ์์ต๋๋ค. ์ํ ํ์ธ์ ์ ํ๋ฆฌ์ผ์ด์
์ผ๋ก ํ์ฅํ๋ ค๋ฉด ํ์ฑ ํ์ธ ๋๋ ์ค๋น ํ์ธ์ ์ํ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค. 200 OK
์๋ต ์ฝ๋๋ฅผ ๋ฐํํ ๊ฒฝ์ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ์ปค์คํ
์ํ ํ์ธ์ ์ฑ๊ณตํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค.
ํ์ฑ ํ์ธ
ํ์ฑ ํ์ธ์ VM ๋ฐ Docker ์ปจํ ์ด๋๊ฐ ์คํ ์ค์ธ์ง ํ์ธํฉ๋๋ค. ๋น์ ์์ผ๋ก ๊ฐ์ฃผ๋๋ ์ธ์คํด์ค๋ ๋ค์ ์์๋ฉ๋๋ค.
์ ํ์ฌํญ์ธ liveness_check
์น์
์ app.yaml
ํ์ผ์ ์ถ๊ฐํ์ฌ ํ์ฑ ํ์ธ ์์ฒญ์ ๋ง์ถค์ค์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
liveness_check:
path: "/liveness_check"
check_interval_sec: 30
timeout_sec: 4
failure_threshold: 2
success_threshold: 2
ํ์ฑ ํ์ธ์ ๋ค์ ์ค์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ | ๊ธฐ๋ณธ๊ฐ | ๋ฒ์(์ต์-์ต๋) | ์ค๋ช |
---|---|---|---|
path |
์์ | ํ์ฑ ํ์ธ์ ์ ํ๋ฆฌ์ผ์ด์
์ปจํ
์ด๋์ ์ ๋ฌํ๋ ค๋ฉด "/liveness_check" ์ ๊ฐ์ URL ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค. |
|
timeout_sec |
4์ด | 1~300๋ช | ๊ฐ ์์ฒญ์ ์ ํ ์๊ฐ ๊ฐ๊ฒฉ(์ด)์ ๋๋ค. |
check_interval_sec |
30์ด | 1~300๋ช | ๊ฐ ํ์ธ ์ฌ์ด์ ์๊ฐ ๊ฐ๊ฒฉ(์ด)์ ๋๋ค. ์ด ๊ฐ์ timeout_sec๋ณด๋ค ์ปค์ผ ํฉ๋๋ค. |
failure_threshold |
4ํ ํ์ธ | 1~10 | ์ด ํ์๋งํผ ์ฐ์์ผ๋ก ํ์ธ์ ์คํจํ๋ฉด ์ธ์คํด์ค๊ฐ ๋น์ ์์ ๋๋ค. |
success_threshold |
2ํ ํ์ธ | 1~10 | ๋น์ ์ ์ธ์คํด์ค๊ฐ ์ด ํ์๋งํผ ์ฐ์์ผ๋ก ํ์ธ์ ์๋ตํ๋ ๋ฐ ์ฑ๊ณตํ๋ฉด ์ ์์ด ๋ฉ๋๋ค. |
initial_delay_sec |
300์ด | 0-3600 | ์ธ์คํด์ค๊ฐ ์์๋ ํ์ ์ํ ํ์ธ ์๋ต์ด ๋ฌด์๋๋ ์ง์ฐ ์๊ฐ(์ด)์ ๋๋ค. ์ด ์ค์ ์ ์๋ก ์์ฑ๋ ๊ฐ ์ธ์คํด์ค์ ์ ์ฉ๋๋ฉฐ ์ ์ธ์คํด์ค์ ์ค๋น ๋ฐ ์คํ ์๊ฐ์ ๋๋ฆด ์ ์์ต๋๋ค. ์ด ์ค์ ์ ์ธ์คํด์ค๋ฅผ ์์ํ๋ ์ค์ ์ธ์คํด์ค๋ฅผ ์ ๊ฒํ๊ณ ์กฐ๊ธฐ์ ๋ค์ ๋ง๋ค์ง ์๋๋ก ์๋ ๋ณต๊ตฌ๋ฅผ ์ง์ฐํฉ๋๋ค. ์ธ์คํด์ค๊ฐ RUNNING ๋ชจ๋์ด๋ฉด ์ด๊ธฐ ์ง์ฐ ํ์ด๋จธ๊ฐ ์์๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ด๊ธฐํ ์์ ๋๋ฌธ์ ํธ๋ํฝ ์ฒ๋ฆฌ ์ค๋น๊น์ง ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค๋ฉด ์ง์ฐ์ ๋๋ฆด ์ ์์ต๋๋ค. |
์ค๋น ํ์ธ
์ค๋น ํ์ธ์ ์ธ์คํด์ค๊ฐ ์์ ๋๋ ์์ฒญ์ ์๋ฝํ ์ ์๋์ง ํ์ธํฉ๋๋ค. ์ค๋น ํ์ธ์ ํต๊ณผํ์ง ๋ชปํ ์ธ์คํด์ค๋ ์ฌ์ฉ ๊ฐ๋ฅํ ์ธ์คํด์ค์ ํ์ ์ถ๊ฐ๋์ง ์์ต๋๋ค.
์ ํ์ฌํญ์ธ readiness_check
์น์
์ app.yaml
ํ์ผ์ ์ถ๊ฐํ์ฌ ์ํ ํ์ธ ์์ฒญ์ ๋ง์ถค์ค์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
readiness_check:
path: "/readiness_check"
check_interval_sec: 5
timeout_sec: 4
failure_threshold: 2
success_threshold: 2
app_start_timeout_sec: 300
์ค๋น ํ์ธ์ ๋ค์ ์ค์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ | ๊ธฐ๋ณธ๊ฐ | ๋ฒ์(์ต์-์ต๋) | ์ค๋ช |
---|---|---|---|
path |
์์ | ์ค๋น ํ์ธ์ ์ ํ๋ฆฌ์ผ์ด์
์ปจํ
์ด๋์ ์ ๋ฌํ๋ ค๋ฉด "/readiness_check" ์ ๊ฐ์ URL ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค. |
|
timeout_sec |
4์ด | 1~300๋ช | ๊ฐ ์์ฒญ์ ์ ํ ์๊ฐ ๊ฐ๊ฒฉ(์ด)์ ๋๋ค. |
check_interval_sec |
5์ด | 1~300๋ช | ๊ฐ ํ์ธ ์ฌ์ด์ ์๊ฐ ๊ฐ๊ฒฉ(์ด)์ ๋๋ค. ์ด ๊ฐ์ timeout_sec๋ณด๋ค ์ปค์ผ ํฉ๋๋ค. |
failure_threshold |
2ํ ํ์ธ | 1~10 | ์ด ํ์๋งํผ ์ฐ์์ผ๋ก ํ์ธ์ ์คํจํ๋ฉด ์ธ์คํด์ค๊ฐ ๋น์ ์์ ๋๋ค. |
success_threshold |
2ํ ํ์ธ | 1~10 | ๋น์ ์ ์ธ์คํด์ค๊ฐ ์ด ํ์๋งํผ ์ฐ์์ผ๋ก ํ์ธ์ ์๋ตํ๋ ๋ฐ ์ฑ๊ณตํ๋ฉด ์ ์์ด ๋ฉ๋๋ค. |
app_start_timeout_sec |
300์ด | 1-1800 | ์ด ์ค์ ์ ๊ฐ๋ณ VM์ด ์๋ ์ ๋ฐฐํฌ์ ์ ์ฉ๋ฉ๋๋ค. ๋ฐฐํฌ์์ ์ถฉ๋ถํ ์์ ์ธ์คํด์ค๊ฐ ์ํ ํ์ธ์ ํต๊ณผํ๋ ๋ฐ ํ์ํ ์ต๋ ์๊ฐ(์ด)์ ์ง์ ํฉ๋๋ค. ์ด ์๊ฐ์ด ์ง๋๋ฉด ๋ฐฐํฌ๊ฐ ์คํจํ์ฌ ๋กค๋ฐฑ๋ฉ๋๋ค. ์ด ํ์ด๋จธ๋ Compute Engine ์ธ์คํด์ค๊ฐ ํ๋ก๋น์ ๋๋๊ณ Load Balancer ๋ฐฑ์๋ ์๋น์ค๊ฐ ์์ฑ๋๋ฉด ์๋ํ๊ธฐ ์์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ฐฐํฌ ์ค์ ์ถฉ๋ถํ ์์ ์ธ์คํด์ค๊ฐ ์ํธํ ์ํ๋ฅผ ์ ์งํ๋๋ก ์ ํ ์๊ฐ์ ๋๋ฆฌ๊ณ ์ถ๋ค๋ฉด ์ ํ ์๊ฐ์ ๋๋ฆฌ๋ฉด ๋ฉ๋๋ค. |
์ํ ํ์ธ ๋น๋
๊ฐ์ฉ์ฑ์ ๋์ด๊ธฐ ์ํด App Engine์์๋ ๊ฐ ์ํ ๊ฒ์ฌ๊ธฐ์ ์ค๋ณต ์ฌ๋ณธ์ ๋ง๋ญ๋๋ค. ์ํ ๊ฒ์ฌ๊ธฐ๊ฐ ์คํจํ๋ฉด ์ง์ฐ ์๊ฐ ์์ด ์ค๋ณต ๊ฒ์ฌ๊ธฐ๊ฐ ๊ทธ ์ญํ ์ ๋์ ํฉ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์
์ nginx.health_check
๋ก๊ทธ๋ฅผ ํ์ธํ๋ฉด ์ฌ์ฉ์ ์ค์ ๊น์ง ๋ฐ๋ฅด๋ ์ค๋ณต ์ํ ๊ฒ์ฌ๊ธฐ ๋๋ฌธ์ ์ํ ํ์ธ ํด๋ง์ด ์ฌ์ฉ์๊ฐ ๊ตฌ์ฑํ ๋น๋๋ณด๋ค ๋ ์์ฃผ ์ผ์ด๋๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด ์ค๋ณต ์ํ ๊ฒ์ฌ๊ธฐ๋ ์๋์ผ๋ก ์์ฑ๋๋ฉฐ ์ฌ์ฉ์๊ฐ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์๋น์ค ํ์ฅ ์ค์
์๋น์ค์ ํ์ฅ์ ์ ์ดํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํค๋ ์๋น์ค์ ํ ๋นํ๋ ํ์ฅ์ ์ ํ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
์๋ ํ์ฅ ๋๋ ์๋ ํ์ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์๋ ํ์ฅ์ ๋๋ค.
์๋ ํ์ฅ
app.yaml
ํ์ผ์ automatic_scaling
์น์
์ ์ถ๊ฐํ์ฌ ์๋ ํ์ฅ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
automatic_scaling:
min_num_instances: 1
max_num_instances: 15
cool_down_period_sec: 180
cpu_utilization:
target_utilization: 0.6
target_concurrent_requests: 100
๋ค์ ํ์๋ ์๋ ํ์ฅ์ ์ฌ์ฉํ ์ ์๋ ์ค์ ์ด ๋์ ์์ต๋๋ค.
์ด๋ฆ | ์ค๋ช |
---|---|
automatic_scaling |
๊ธฐ๋ณธ์ ์ผ๋ก ์๋ ํ์ฅ์ด ์ ์ฉ๋ฉ๋๋ค. ์๋ ํ์ฅ ์ค์ ์ ์ง์ ํ๋ ค๋ฉด ์ด ์ค์ ํฌํจ์ํต๋๋ค. |
min_num_instances |
์๋น์ค์ ์ ๊ณต๋๋ ์ธ์คํด์ค์ ์ต์ ๊ฐ์์
๋๋ค. ์๋น์ค๊ฐ ๋ฐฐํฌ๋๋ฉด ํธ๋ํฝ์ ๋ฐ๋ผ ์ด ๊ฐ์๋งํผ ์ธ์คํด์ค์ ํ์ฅ์ด ์ ๊ณต๋ฉ๋๋ค.
1 ์ด์์ด์ด์ผ ํ๋ฉฐ, ์ง์ฐ ์๊ฐ์ ์ค์ด๊ธฐ ์ํ ๊ธฐ๋ณธ๊ฐ์ 2 ์
๋๋ค.
|
max_num_instances |
์๋น์ค๊ฐ ํ์ฅ๋ ์ ์๋ ์ธ์คํด์ค์ ์ต๋ ๊ฐ์์
๋๋ค. ํ๋ก์ ํธ ๋ด ์ต๋ ์ธ์คํด์ค ์๋ ํ๋ก์ ํธ์ ๋ฆฌ์์ค ํ ๋น๋์ ๋ฐ๋ผ ์ ํ๋ฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ์ 20 ์
๋๋ค.
|
cool_down_period_sec |
์๋ ํ์ฅ ์ฒ๋ฆฌ๊ฐ ์๋ก์ด ์ธ์คํด์ค์์ ์ ๋ณด๋ฅผ ์์งํ๊ธฐ ์ ์ ๋๊ธฐํ๋ ์๊ฐ(์ด)์
๋๋ค. ์ด ์ค์ ์ ์ธ์คํด์ค๊ฐ ์ด๊ธฐํ๋ ๋ ์๋ ํ์ฅ ์ฒ๋ฆฌ๊ฐ ์ ๋ณด๋ฅผ ์์งํ์ง ๋ชปํ๊ฒ ํฉ๋๋ค. ์ด๊ธฐํํ๋ ๋์ ์์ง๋ ์ฌ์ฉ๋์ ์ ํํ์ง ์๊ธฐ ๋๋ฌธ์
๋๋ค. ๋๊ธฐ ์๊ฐ์ 60์ด ์ด์์ด์ด์ผ ํฉ๋๋ค.
๊ธฐ๋ณธ๊ฐ์ 120 ์
๋๋ค.
|
cpu_utilization |
๋์ CPU ์ฌ์ฉ๋ฅ ์ ์ง์ ํ๋ ค๋ฉด ์ด ํค๋๋ฅผ ์ฌ์ฉํ์ธ์. |
target_utilization |
๋์ CPU ์ฌ์ฉ๋ฅ ์
๋๋ค. CPU ์ฌ์ฉ๋ฅ ์ ์คํ ์ค์ธ ๋ชจ๋ ์ธ์คํด์ค์ ํ๊ท ์ผ๋ก ๊ณ์ฐ๋๋ฉฐ ์ธ์คํด์ค์ ๊ฐ์๋ฅผ ์ค์ด๊ฑฐ๋ ๋๋ฆด ์๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ธ์คํด์ค๊ฐ ์ข
๋ฃ ์ ํธ๋ฅผ ์์ ํ ํ 25์ด๊ฐ ์ง๋๋ฉด ์ฒ๋ฆฌ ์ค์ธ ์์ฒญ๊ณผ ๊ด๊ณ์์ด ์ธ์คํด์ค๊ฐ ์ถ์๋ฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 0.5 ์
๋๋ค.
|
target_concurrent_requests |
(๋ฒ ํ) ์ธ์คํด์ค๋น ๋์ ์ฐ๊ฒฐ ์๋ฅผ ํ๊ฒํ ํฉ๋๋ค. ์ด ๋งค๊ฐ๋ณ์์ ๊ฐ์ ์ง์ ํ๋ฉด ์๋ ํ์ฅ ์ฒ๋ฆฌ๋ ์คํ ์ค์ธ ๋ชจ๋ ์ธ์คํด์ค์ ํ๊ท ๋์ ์ฐ๊ฒฐ ์๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์คํด์ค ์๋ฅผ ์ค์ด๊ฑฐ๋ ๋๋ฆด ์๊ธฐ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ์ฒ๋ฆฌ ์ค์ธ ์์ฒญ๊ณผ ๊ด๊ณ์์ด ์ข ๋ฃ ์ ํธ๋ฅผ ์์ ํ ํ 25์ด๊ฐ ์ง๋๋ฉด ์ธ์คํด์ค๊ฐ ์ถ์๋ฉ๋๋ค. ์ด ๋งค๊ฐ๋ณ์์ ๊ฐ์ ์ง์ ํ์ง ์์ผ๋ฉด ์๋ ํ์ฅ ์ฒ๋ฆฌ๊ฐ ์ธ์คํด์ค๋น ๋์ ์ฐ๊ฒฐ ์๋ฅผ ํ๊ฒํ ํ์ง ์์ต๋๋ค. ์ฐ๊ฒฐ์ ์์ฒญ๊ณผ ๋ค๋ฆ ๋๋ค. ํด๋ผ์ด์ธํธ๋ ์ฐ๊ฒฐ์ ์ฌ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ์์ฒญ์ ๋ณด๋ผ ์ ์์ต๋๋ค. |
์๋ ํ์ฅ
app.yaml
ํ์ผ์ manual_scaling
์น์
์ ์ถ๊ฐํ์ฌ ์๋ ํ์ฅ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
manual_scaling:
instances: 5
๋ค์ ํ์๋ ์๋ ํ์ฅ๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์๋ ์ค์ ์ด ๋์ ์์ต๋๋ค.
์ด๋ฆ | ์ค๋ช |
---|---|
manual_scaling |
์๋น์ค์ ์๋ ํ์ฅ์ ์ฌ์ฉ ์ค์ ํ๋ ๋ฐ ํ์ํฉ๋๋ค. |
instances |
์๋น์ค์ ํ ๋นํ ์ธ์คํด์ค์ ๊ฐ์์ ๋๋ค. |
ํ๊ฒฝ ๋ณ์ ์ ์
app.yaml
์์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ ์ํ์ฌ ์ฑ์์ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
env_variables:
MY_VAR: "my value"
์ฌ๊ธฐ์ MY_VAR
๋ฐ my value
๋ ์ ์ํ๋ ค๋ ํ๊ฒฝ ๋ณ์์ ์ด๋ฆ๊ณผ ๊ฐ์ด๋ฉฐ, ๊ฐ ํ๊ฒฝ ๋ณ์ ํญ๋ชฉ์ env_variables
์์ ์๋์ ๋ ์นธ์ ๊ณต๋ฐฑ์ผ๋ก ๋ค์ฌ์ฐ๊ธฐ๋ฉ๋๋ค.
ํ๊ฒฝ ๋ณ์ ์ฌ์ฉ