Google Cloud Run functions

이벤트에 반응해 함수를 실행한다. us-central1 기준 월 200만 요청과 CPU·메모리 지출할인이 상시 적용된다.

···
html
<div class="platform-demo">
    <div class="platform-grid">
      <section class="platform-panel benefit"><h2><b>1</b><span class="ko">무엇을 해주나</span><span class="en">What it does</span></h2><div class="flow"><span class="flow-chip active" data-flow="0"><span class="ko">요청·이벤트</span><span class="en">Request or event</span></span><span class="flow-arrow">→</span><span class="flow-chip" data-flow="1"><span class="ko">Cloud Run 함수 실행</span><span class="en">Run Cloud Run function</span></span><span class="flow-arrow">→</span><span class="flow-chip" data-flow="2"><span class="ko">실행량만 집계</span><span class="en">Meter actual execution</span></span></div><p class="result"><span class="ko">서버 상주 없이 함수가 트래픽에 반응</span><span class="en">Functions respond to traffic without a resident server</span></p></section>
      <section class="platform-panel free"><h2><b>2</b><span class="ko">무료로 어디까지</span><span class="en">Free tier</span></h2><div class="free-metrics"><div class="free-metric"><div class="metric-line"><span><span class="ko">상시 무료 · 미국 단가 기준 요청/월</span><span class="en">Always-free · US-rate requests/mo</span></span><strong>2M</strong></div><div class="meter"><i style="width:60%"></i></div></div><div class="free-metric"><div class="metric-line"><span><span class="ko">상시 무료 · 미국 단가 기준 CPU/월</span><span class="en">Always-free · US-rate CPU/mo</span></span><strong>180,000 vCPU-s</strong></div><div class="meter"><i style="width:50%"></i></div></div></div></section>
      <section class="platform-panel price"><h2><b>3</b><span class="ko">넘으면 얼마</span><span class="en">Beyond free</span></h2><div class="price-core"><div class="price-usage"><span><span class="ko">us-central1 요청/월</span><span class="en">us-central1 requests/mo</span></span><strong id="platform-usage"></strong></div><input id="platform-slider" type="range" min="0" max="12" value="8" aria-label="us-central1 requests/mo"><div class="monthly"><strong id="platform-cost"></strong><small><span class="ko">/월</span><span class="en">/month</span></small></div><p class="price-note"><span class="ko">요청료만 · CPU·메모리·송신 별도 · 서울 할인 사용량 다름</span><span class="en">Requests only · CPU, memory, egress extra · Seoul discount differs</span></p></div></section>
    </div><div class="platform-source"><span class="ko">2026-10-06 공식 가격 기준 · 단순화</span><span class="en">Official prices as of 2026-10-06 · simplified</span></div>
  </div>
css
.platform-demo{width:min(98vw,1160px);height:min(98vh,368px);padding:clamp(4px,1.3vmin,10px);border:1px solid var(--line);border-radius:12px;background:var(--surface);display:flex;flex-direction:column;gap:4px;overflow:hidden;font:500 clamp(13px,3.6vmin,16px)/1.3 ui-sans-serif,-apple-system,sans-serif}
.platform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(4px,1vmin,9px);flex:1;min-height:0}
.platform-panel{border:1px solid var(--line);border-radius:8px;min-width:0;padding:clamp(6px,1.5vmin,14px);display:flex;flex-direction:column;overflow:hidden}
.platform-panel h2{margin:0;display:flex;align-items:center;gap:7px;font-size:clamp(15px,4vmin,18px);font-weight:700;white-space:nowrap}
.platform-panel h2 b{display:grid;place-items:center;flex:none;width:1.45em;height:1.45em;border:1px solid var(--line);border-radius:50%;font-size:.85em;color:var(--accent)}
.benefit{justify-content:space-between}.flow{display:flex;align-items:center;justify-content:center;gap:3px;min-height:0;flex:1}.flow-chip{border:1px solid var(--line);border-radius:5px;padding:5px 4px;text-align:center;font-size:clamp(12px,3.6vmin,15px);overflow-wrap:anywhere;min-width:0;max-width:30%;transition:border-color .2s,color .2s}.flow-chip.active{border-color:var(--accent);color:var(--accent);font-weight:750}.flow-arrow{color:var(--muted);flex:none}.result{margin:0;font-size:clamp(15px,4vmin,18px);font-weight:700;overflow-wrap:anywhere;color:var(--fg)}
.free-metrics{display:flex;flex-direction:column;justify-content:center;gap:clamp(9px,3vmin,24px);flex:1}.metric-line{display:flex;justify-content:space-between;gap:6px;align-items:baseline;font-size:.86em}.metric-line span{color:var(--muted)}.metric-line strong{font-variant-numeric:tabular-nums;text-align:right}.meter{margin-top:6px;height:7px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.meter i{display:block;height:100%;background:var(--accent);animation:meter-in .8s ease-out both}@keyframes meter-in{from{width:0}}
.price-core{display:flex;flex-direction:column;justify-content:center;flex:1;min-height:0}.price-usage{display:flex;align-items:baseline;justify-content:space-between;gap:5px;font-size:.83em}.price-usage span{color:var(--muted)}.price-usage strong{font-variant-numeric:tabular-nums;text-align:right}.price input{width:100%;margin:clamp(8px,2vmin,15px) 0;accent-color:var(--accent)}.monthly{display:flex;align-items:baseline;gap:4px}.monthly strong{font-size:clamp(27px,8vmin,38px);color:var(--accent);font-variant-numeric:tabular-nums}.monthly small{color:var(--muted)}.price-note{margin:4px 0 0;color:var(--muted);font-size:.74em;overflow-wrap:anywhere}.platform-source{text-align:right;color:var(--muted);font-size:clamp(8px,1.3vmin,10px);line-height:1.1}
@media(min-width:700px){.flow{flex-direction:column;gap:clamp(3px,1vmin,7px);padding:clamp(6px,1.5vmin,12px) 0}.flow-chip{display:grid;place-items:center;width:min(100%,290px);max-width:none;flex:1;max-height:clamp(42px,12vmin,56px);padding:clamp(7px,1.8vmin,11px);font-size:clamp(15px,4vmin,19px);line-height:1.2}.flow-arrow{transform:rotate(90deg);font-size:clamp(15px,4vmin,19px);line-height:1}.result{font-size:clamp(19px,5vmin,24px);line-height:1.25}.free-metrics{gap:clamp(12px,4vmin,28px)}.free-metric{display:flex;flex-direction:column;justify-content:center;flex:1}.metric-line{align-items:center;font-size:clamp(15px,3.8vmin,18px)}.metric-line strong{font-size:clamp(20px,5.5vmin,28px)}.meter{height:clamp(10px,2.8vmin,14px);margin-top:clamp(9px,2.5vmin,15px)}}
html:lang(en) .ko{display:none}html:not(:lang(en)) .en{display:none}
@media(max-width:500px){.platform-demo{height:100%;width:100%;border-radius:0;padding:4px;gap:2px;font-size:10px}.platform-grid{grid-template-columns:1fr;grid-template-rows:minmax(0,1.12fr) minmax(0,1fr);gap:3px}.platform-panel{padding:5px 7px;border-radius:5px}.platform-panel h2{font-size:11px;gap:4px}.free{display:none}.flow-chip{padding:2px 3px;font-size:9px}.flow{margin:1px 0}.result{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price-core{display:grid;grid-template-columns:1fr auto;gap:0 5px;align-items:center}.price-usage{grid-column:1/3;font-size:9px}.price input{margin:1px 0;grid-column:1}.monthly{grid-column:2;grid-row:2;white-space:nowrap}.monthly strong{font-size:17px}.monthly small{font-size:8px}.price-note{grid-column:1/3;font-size:8px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.platform-source{font-size:8px}}
js
const points=[{"usage":0,"cost":0},{"usage":0.5,"cost":0},{"usage":1,"cost":0},{"usage":1.5,"cost":0},{"usage":2,"cost":0},{"usage":2.5,"cost":0.2},{"usage":3,"cost":0.4},{"usage":3.5,"cost":0.6000000000000001},{"usage":4,"cost":0.8},{"usage":4.5,"cost":1},{"usage":5,"cost":1.2000000000000002},{"usage":5.5,"cost":1.4000000000000001},{"usage":6,"cost":1.6}];const slider=document.getElementById('platform-slider');const usage=document.getElementById('platform-usage');const cost=document.getElementById('platform-cost');const unit={"ko":"백만 건","en":"M requests"};let manual=false;function paint(){const point=points[Number(slider.value)];usage.textContent=point.usage.toLocaleString()+' '+(document.documentElement.lang==='en'?unit.en:unit.ko);cost.textContent=point.cost===null?'—':'$'+point.cost.toFixed(2)}paint();let direction=1;if(true)setInterval(()=>{if(manual)return;const next=Number(slider.value)+direction;if(next<0||next>=points.length){direction*=-1;return}slider.value=String(next);paint()},950);slider.addEventListener('input',()=>{manual=true;paint()});const chips=[...document.querySelectorAll('[data-flow]')];let frame=0;setInterval(()=>{chips.forEach((chip,index)=>chip.classList.toggle('active',index===frame));frame=(frame+1)%chips.length},950);

1 무엇을 해주나 — Cloud Run functions는 코드로 만든 함수를 HTTP 요청이나 이벤트에 연결하고 호출량에 맞춰 실행한다. 여기서는 Cloud Run Admin API 기반 함수를 다룬다.

2 무료로 어디까지 — 상시 무료는 us-central1 단가 기준 월 요청 200만 건·180,000 vCPU-seconds·360,000 GiB-seconds에 해당하는 지출할인이다. 서울에서 같은 사용량이 전부 무료라는 뜻은 아니다. 1세대 Cloud Functions 한도와 섞지 않는다.

3 넘으면 얼마 — 2026-10 기준 us-central1 초과 요금은 요청 100만 건당 $0.40, CPU $0.000024/vCPU-second, 메모리 $0.0000025/GiB-second다. 데모는 미국 기준 요청 요금만 계산한다. 송신·Cloud Build·Artifact Registry·Eventarc와 CPU·메모리 요금은 별도다.

언제 쓰나

이벤트별 함수를 간단히 배포할 때 쓴다. 서울 리전이나 빌드·아티팩트 비용까지 고려할 때는 무료 요청 수만으로 판단하지 않는다.

페이지로 열기 ↗