SpyBara
Go Premium

Documentation 2026-09-18 23:58 UTC to 2026-09-19 23:57 UTC

11 files changed +199 โˆ’85. View all changes and history on the product overview
2026
Wed 30 23:00 Tue 29 23:58 Mon 28 22:59 Fri 25 23:58 Thu 24 22:57 Wed 23 23:57 Tue 22 23:59 Mon 21 22:59 Sun 20 23:59 Sat 19 23:57 Fri 18 23:58 Tue 15 23:58 Mon 14 22:58 Sat 12 03:02 Thu 10 23:00 Wed 9 22:58 Tue 8 20:00 Tue 1 21:02
Details

126 126 

127๊ฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ •์ฑ…์„ ์ €์žฅํ•˜๋Š” ์œ„์น˜๋Š” [๊ฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ •์ฑ…์„ ์ €์žฅํ•˜๋Š” ์œ„์น˜](/docs/ko/managed-settings#where-each-mechanism-stores-the-policy)๋ฅผ ์ฐธ์กฐํ•˜๊ณ , Claude Desktop `bootstrapUrl` ๋™๋“ฑ๋ฌผ์€ [ํด๋ผ์ด์–ธํŠธ ์ธก ๊ด€๋ฆฌํ˜• ์„ค์ •](/docs/ko/claude-apps-gateway-config#client-side-managed-settings)์„ ์ฐธ์กฐํ•˜์„ธ์š”.127๊ฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ •์ฑ…์„ ์ €์žฅํ•˜๋Š” ์œ„์น˜๋Š” [๊ฐ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ •์ฑ…์„ ์ €์žฅํ•˜๋Š” ์œ„์น˜](/docs/ko/managed-settings#where-each-mechanism-stores-the-policy)๋ฅผ ์ฐธ์กฐํ•˜๊ณ , Claude Desktop `bootstrapUrl` ๋™๋“ฑ๋ฌผ์€ [ํด๋ผ์ด์–ธํŠธ ์ธก ๊ด€๋ฆฌํ˜• ์„ค์ •](/docs/ko/claude-apps-gateway-config#client-side-managed-settings)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

128 128 

129<h3 id="large-rollouts">

130 ๋Œ€๊ทœ๋ชจ ๋กค์•„์›ƒ

131</h3>

132 

133๋กœ๊ทธ์ธ์€ ํด๋ผ์ด์–ธํŠธ IP ์ฃผ์†Œ๋ณ„๋กœ ์†๋„ ์ œํ•œ๋˜๋ฉฐ, ๊ธฐ๋ณธ๊ฐ’์€ ์†Œ๊ทœ๋ชจ ํŒ€์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ฃผ์†Œ๋Š” 10๋ถ„๋งˆ๋‹ค 30๊ฐœ์˜ ๋กœ๊ทธ์ธ ์‹œ์ž‘๊ณผ 10๊ฐœ์˜ ์ฝ”๋“œ ์ œ์ถœ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค. ์ˆ˜์ฒœ ๋ช…์˜ ๊ฐœ๋ฐœ์ž๋กœ์˜ ๋กค์•„์›ƒ์€ ์ฒซ ๋ฒˆ์งธ ์•„์นจ์— ํ•ด๋‹น ์ œํ•œ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‘ ๊ฐ€์ง€ ์ด์œ  ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค:

134 

135* **๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.** [`listen.trusted_proxies`](/docs/ko/claude-apps-gateway-config#listen)๊ฐ€ ์—†์œผ๋ฉด, ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๊ฐ€ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์˜ ์ฃผ์†Œ์—์„œ ์˜ค๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๊ณ  ํ•˜๋‚˜์˜ ์ œํ•œ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฒƒ๋ณด๋‹ค ๋จผ์ € ์„ค์ •ํ•˜์„ธ์š”. ๊ฒŒ์ดํŠธ์›จ์ด๋Š” `X-Forwarded-For` ํ—ค๋”๋ฅผ ๋ฌด์‹œํ•  ๋•Œ ์ฒ˜์Œ์œผ๋กœ ๊ฒฝ๊ณ ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

136* **๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ช‡ ๊ฐœ์˜ NAT ๋˜๋Š” VPN ์†ก์‹  ์ฃผ์†Œ๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.** `trusted_proxies`๊ฐ€ ์˜ฌ๋ฐ”๋ฅผ ๋•Œ๋„ ํ•ด๋‹น ์ฃผ์†Œ์˜ ์ œํ•œ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. [`rate_limits`](/docs/ko/claude-apps-gateway-config#http-tuning)๋ฅผ ๋งž์ถ”๋„๋ก ์˜ฌ๋ฆฌ์„ธ์š”.

137 

138`max`๋ฅผ ํฌ๊ธฐ ์กฐ์ •ํ•˜๋ ค๋ฉด, ๊ฐœ๋ฐœ์ž๋ฅผ ๊ณต์œ ํ•˜๋Š” ์†ก์‹  ์ฃผ์†Œ๋กœ ๋‚˜๋ˆ„์„ธ์š”. ๊ธฐ๋ณธ๊ฐ’์ธ 10๋ถ„์ธ ํ•˜๋‚˜์˜ `window_seconds` ๊ธฐ๊ฐ„ ๋‚ด์— ๊ทธ ์ค‘ ๋ช‡ ๋ช…์ด ๋กœ๊ทธ์ธํ•˜๋Š”์ง€ ์ถ”์ •ํ•˜์„ธ์š”. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์žฌ์‹œ๋„ ๋ฐ Claude Code์™€ Claude Desktop ๋ชจ๋‘์— ๋กœ๊ทธ์ธํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ํฌํ•จํ•˜๋„๋ก ๋‘ ๋ฐฐ๋กœ ๋Š˜๋ฆฌ์„ธ์š”.

139 

140์˜ˆ๋ฅผ ๋“ค์–ด, 4๊ฐœ์˜ ์†ก์‹  ์ฃผ์†Œ ๋’ค์— ์žˆ๋Š” 10,000๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ 1์‹œ๊ฐ„์— ๊ฑธ์ณ ๊ท ๋“ฑํ•˜๊ฒŒ ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ฃผ์†Œ๋‹น 2,500๋ช…์˜ ๊ฐœ๋ฐœ์ž์ด๊ณ  ๊ฐ 10๋ถ„๋งˆ๋‹ค ์•ฝ 420๋ช…์ด๋ฉฐ, ์ด๋ฅผ ๋‘ ๋ฐฐ๋กœ ๋Š˜๋ฆฌ๊ณ  1,000์œผ๋กœ ์˜ฌ๋ฆผํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ์˜ˆ์ œ๋Š” ๋‘ ์ œํ•œ์„ ๋ชจ๋‘ 1,000์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค:

141 

142```yaml theme={null}

143rate_limits:

144 device_authorization: { max: 1000, window_seconds: 600 }

145 device_verify: { max: 1000, window_seconds: 600 }

146```

147 

148`device_verify`๋Š” ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์˜ ๋กœ๊ทธ์ธ ์ฝ”๋“œ๋ฅผ ์ถ”์ธกํ•˜๋Š” ๊ฒƒ์„ ๋ง‰๋Š” ๊ฒƒ์ด๋ฏ€๋กœ, ์ถ”์ •์ด ํ•„์š”ํ•œ ๋งŒํผ๋งŒ ์˜ฌ๋ฆฌ์„ธ์š”. ์ด ์ œํ•œ์—์„œ๋„, ์ฝ”๋“œ๋Š” 20์ž ์•ŒํŒŒ๋ฒณ์—์„œ 8์ž์ด๊ณ  10๋ถ„ ํ›„์— ๋งŒ๋ฃŒ๋˜๋ฏ€๋กœ, ์ถ”์ธก์€ ๋น„์‹ค์šฉ์ ์œผ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. [์‚ฌ์šฉ์ž ์ฝ”๋“œ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ๊ณต๊ฒฉ ์ €ํ•ญ](#user-code-brute-force-resistance)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

149 

150IdP๊ฐ€ ์ƒˆ๋กœ๊ณ ์นจ ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•  ๋•Œ, Claude Code๋Š” ์„ธ์…˜์„ ์ž๋™์œผ๋กœ ๊ฐฑ์‹ ํ•˜๋ฏ€๋กœ, ๋กค์•„์›ƒ ํ›„ ์ œํ•œ์„ ๋‹ค์‹œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ๊ณ ์นจ ํ† ํฐ์ด ์—†์œผ๋ฉด, ๊ฐœ๋ฐœ์ž๋Š” [`session.ttl_hours`](/docs/ko/claude-apps-gateway-config#session)๋งˆ๋‹ค ๋‹ค์‹œ ๋กœ๊ทธ์ธํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์ •์ƒ ์ƒํƒœ ์†๋„์— ๋Œ€ํ•ด ๋‘ ์ œํ•œ์„ ๋ชจ๋‘ ํฌ๊ธฐ ์กฐ์ •ํ•˜๊ณ  ์˜ฌ๋ฆฐ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜์„ธ์š”.

151 

152์ œํ•œ์— ๋„๋‹ฌํ•˜๋ฉด, Claude Code v2.1.274 ์ด์ƒ์€ `The gateway is limiting sign-in attempts right now`๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. v2.1.274 ์ด์ƒ์˜ ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ํ™•์ธ ํŽ˜์ด์ง€์— `Too many attempts came from your network address`๋ฅผ ํ‘œ์‹œํ•˜๋ฉฐ, ํ™•์ธํ•  ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ณ€๊ฒฝํ•  ์„ค์ •์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋Š” `sign-in refused` ๋กœ๊ทธ ๋ผ์ธ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

153 

129<h2 id="operations">154<h2 id="operations">

130 ์šด์˜155 ์šด์˜

131</h2>156</h2>


160 185 

161`/.well-known/oauth-authorization-server`์˜ OAuth ๊ฒ€์ƒ‰ ๋ฌธ์„œ๋Š” ๊ตฌ์„ฑ ๋กœ๋“œ, OIDC ๊ฒ€์ƒ‰, ์—…์ŠคํŠธ๋ฆผ ํด๋ผ์ด์–ธํŠธ ๊ตฌ์„ฑ ๋ฐ Postgres ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ๋ชจ๋‘ ์„ฑ๊ณตํ•œ ํ›„์—๋งŒ `200`์„ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ, ์—”๋“œ ํˆฌ ์—”๋“œ ๋ถ€ํŒ… ํ™•์ธ์œผ๋กœ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.186`/.well-known/oauth-authorization-server`์˜ OAuth ๊ฒ€์ƒ‰ ๋ฌธ์„œ๋Š” ๊ตฌ์„ฑ ๋กœ๋“œ, OIDC ๊ฒ€์ƒ‰, ์—…์ŠคํŠธ๋ฆผ ํด๋ผ์ด์–ธํŠธ ๊ตฌ์„ฑ ๋ฐ Postgres ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ๋ชจ๋‘ ์„ฑ๊ณตํ•œ ํ›„์—๋งŒ `200`์„ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ, ์—”๋“œ ํˆฌ ์—”๋“œ ๋ถ€ํŒ… ํ™•์ธ์œผ๋กœ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

162 187 

188<h3 id="concurrent-upstream-requests">

189 ๋™์‹œ ์—…์ŠคํŠธ๋ฆผ ์š”์ฒญ

190</h3>

191 

192๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ ๊ฒŒ์ดํŠธ์›จ์ด ๋ณต์ œ๋ณธ์€ ๋™์‹œ์— ์ตœ๋Œ€ 256๊ฐœ์˜ ์š”์ฒญ์„ ์—…์ŠคํŠธ๋ฆผ์œผ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ŠคํŠธ๋ฆฌ๋ฐ ์‘๋‹ต์€ ์ŠคํŠธ๋ฆผ์ด ๋๋‚  ๋•Œ๊นŒ์ง€ ์ œํ•œ์— ๋Œ€ํ•ด ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค.

193 

194๋ณต์ œ๋ณธ์ด ์ œํ•œ์— ์žˆ์„ ๋•Œ ๋„์ฐฉํ•˜๋Š” ์š”์ฒญ์€ ๊ฒŒ์ดํŠธ์›จ์ด ๋‚ด์—์„œ ๋นˆ ์Šฌ๋กฏ์„ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์‹œ์ž‘์ด ๋А๋ฆฌ๊ฑฐ๋‚˜ ์ค‘๋‹จ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ์‘๋‹ต์„ ๋ด…๋‹ˆ๋‹ค. `provider: anthropic` ์—…์ŠคํŠธ๋ฆผ์—์„œ, [`timeouts.upstream_ttfb_ms`](/docs/ko/claude-apps-gateway-config#http-tuning)๋ณด๋‹ค ์˜ค๋ž˜ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์š”์ฒญ์€ ํ•ด๋‹น ์—…์ŠคํŠธ๋ฆผ์„ ํฌ๊ธฐํ•˜๊ณ , ๋‚˜์ค‘ ์—…์ŠคํŠธ๋ฆผ์ด ์ด๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์œผ๋ฉด 502๋กœ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

195 

196`upstream requests:`๋ฅผ ํฌํ•จํ•˜๋Š” ์‹œ์ž‘ ๋กœ๊ทธ ์ค„์€ ์ ์šฉ ์ค‘์ธ ์ œํ•œ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ์ด ์ œํ•œ๋ณด๋‹ค ๋” ๋งŽ์€ ์š”์ฒญ์„ ์—ด์–ด ๋‘๋Š” ๋™์•ˆ, ๋˜ํ•œ `client requests are open`์„ ํฌํ•จํ•˜๋Š” ๊ฒฝ๊ณ ๋ฅผ ์ตœ๋Œ€ ๋ถ„๋‹น ํ•œ ๋ฒˆ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

197 

198๋™์‹œ์— ๋” ๋งŽ์€ ์š”์ฒญ์„ ์ œ๊ณตํ•˜๋ ค๋ฉด ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค:

199 

200* ๋ณต์ œ๋ณธ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

201* ๊ฐ ๋ณต์ œ๋ณธ์˜ ์ œํ•œ์„ ๋†’์ž…๋‹ˆ๋‹ค. ๊ฒŒ์ดํŠธ์›จ์ด ์ปจํ…Œ์ด๋„ˆ์—์„œ `BUN_CONFIG_MAX_HTTP_REQUESTS` ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ 1์—์„œ 65535 ์‚ฌ์ด์˜ ์ •์ˆ˜๋กœ ์„ค์ •ํ•œ ๋‹ค์Œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

202 

203๋ณต์ œ๋ณธ์€ ์š”์ฒญ์ด ์—ด๋ ค ์žˆ๋Š” ํ‰๊ท  ์ดˆ ์ˆ˜๋กœ ๋‚˜๋ˆˆ ์ œํ•œ ์ •๋„์˜ ์š”์ฒญ ์†๋„๋กœ ์ œํ•œ์„ ์ฑ„์›๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์š”์ฒญ์ด ํ‰๊ท  10์ดˆ ๋™์•ˆ ์—ด๋ ค ์žˆ์œผ๋ฉด, ๊ธฐ๋ณธ ์ œํ•œ 256์˜ ๋ณต์ œ๋ณธ์€ ์•ฝ ์ดˆ๋‹น 26๊ฐœ ์š”์ฒญ์œผ๋กœ ์ œํ•œ์„ ์ฑ„์›๋‹ˆ๋‹ค.

204 

205CPU์—์„œ ์ž๋™ ์Šค์ผ€์ผ๋งํ•˜๋ฉด, ์ œํ•œ์˜ ๋ณต์ œ๋ณธ์€ ์Šค์ผ€์ผ ์•„์›ƒ์„ ํŠธ๋ฆฌ๊ฑฐํ•˜์ง€ ์•Š๊ณ  ์š”์ฒญ์„ ํ์— ๋„ฃ์œผ๋ฏ€๋กœ, ๋ณต์ œ๋ณธ์ด `client requests are open` ๊ฒฝ๊ณ ๋ฅผ ๊ธฐ๋กํ•  ๋•Œ ํ‘œ์‹œํ•˜๋Š” CPU ์ˆ˜์ค€ ์•„๋ž˜๋กœ ๋Œ€์ƒ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

206 

207<Warning>

208 ๋ชจ๋“  ์—ด๋ฆฐ ์š”์ฒญ์€ ์ŠคํŠธ๋ฆฌ๋ฐ ์ค‘ ๋ฐ ์Šฌ๋กฏ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋™์•ˆ ๊ฒŒ์ดํŠธ์›จ์ด ํ”„๋กœ์„ธ์Šค์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค. ์ œํ•œ์„ 256์œผ๋กœ ์œ ์ง€ํ•˜๋ฉด, ๊ณผ๋ถ€ํ•˜ ๋ณต์ œ๋ณธ์˜ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๊ธฐ ์š”์ฒญ์ด ์š”์ฒญ ๋ณธ๋ฌธ์„ ์œ ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ”ผํฌ ์‹œ ์—ด๋ฆฐ ์š”์ฒญ ์ˆ˜์— ๋งž๊ฒŒ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•˜๊ณ , ์ œํ•œ์„ ๋ณ€๊ฒฝํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ๋ณต์ œ๋ณธ์€ ์ข…๋ฃŒ๋˜๊ณ  ๋ณด์œ ํ•œ ๋ชจ๋“  ์ŠคํŠธ๋ฆผ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

209</Warning>

210 

163<h3 id="outage-behavior">211<h3 id="outage-behavior">

164 ์ค‘๋‹จ ๋™์ž‘212 ์ค‘๋‹จ ๋™์ž‘

165</h3>213</h3>


207 ์—…๊ทธ๋ ˆ์ด๋“œ255 ์—…๊ทธ๋ ˆ์ด๋“œ

208</h3>256</h3>

209 257 

210๋ณต์ œ๋ณธ์€ ์ƒํƒœ ๋น„์ €์žฅ์ด๋ฏ€๋กœ ๋กค๋ง ์žฌ์‹œ์ž‘์€ ์–ธ์ œ๋“ ์ง€ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ๋ถ€ํŒ… ์‹œ ์Šคํ‚ค๋งˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์‹คํ–‰ํ•˜๋ฏ€๋กœ, ์ƒˆ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋ฐฐํฌํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ž๋™์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋ฉ๋‹ˆ๋‹ค. ๋™์‹œ ๋ณต์ œ๋ณธ์€ Postgres ์ž๋ฌธ ์ž ๊ธˆ์—์„œ ์ง๋ ฌํ™”๋˜๋ฏ€๋กœ ๊ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์€ ํ•˜๋‚˜๋ฟ์ž…๋‹ˆ๋‹ค.258๋ณต์ œ๋ณธ์€ ์ƒํƒœ ๋น„์ €์žฅ์ด๋ฏ€๋กœ ๋กค๋ง ์žฌ์‹œ์ž‘์€ ๊ฒŒ์ดํŠธ์›จ์ด ์ƒํƒœ๋ฅผ ์žƒ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ๋ถ€ํŒ… ์‹œ ์Šคํ‚ค๋งˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์‹คํ–‰ํ•˜๋ฏ€๋กœ, ์ƒˆ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ๋ฐฐํฌํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ž๋™์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋ฉ๋‹ˆ๋‹ค. ๋™์‹œ ๋ณต์ œ๋ณธ์€ Postgres ์ž๋ฌธ ์ž ๊ธˆ์—์„œ ์ง๋ ฌํ™”๋˜๋ฏ€๋กœ ๊ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์€ ํ•˜๋‚˜๋ฟ์ž…๋‹ˆ๋‹ค.

259 

260์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๊ฐ€ ๋กค๋ง ์žฌ์‹œ์ž‘ ๋˜๋Š” ์Šค์ผ€์ผ ์ธ์—์„œ์ฒ˜๋Ÿผ `SIGTERM`์œผ๋กœ ๋ณต์ œ๋ณธ์„ ์ค‘์ง€ํ•  ๋•Œ, ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ์ƒˆ ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฝํ•˜๋Š” ๊ฒƒ์„ ์ค‘์ง€ํ•˜๊ณ  ์ด๋ฏธ ์ง„ํ–‰ ์ค‘์ธ ์š”์ฒญ ๋ฐ ์ŠคํŠธ๋ฆผ์ด ์ข…๋ฃŒ๋˜๊ธฐ ์ „์— ์™„๋ฃŒ๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋“œ๋ ˆ์ธ ์œˆ๋„์šฐ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์ตœ๋Œ€ 25์ดˆ๋ฅผ ๊ธฐ๋‹ค๋ฆฐ ๋‹ค์Œ ์—ฌ์ „ํžˆ ์—ด๋ ค ์žˆ๋Š” ๊ฒƒ์„ ๋‹ซ์Šต๋‹ˆ๋‹ค. `SIGINT`(์˜ˆ: ํ„ฐ๋ฏธ๋„์˜ Ctrl+C)๋Š” ๋™์ผํ•œ ๋“œ๋ ˆ์ธ์„ ์‹œ์ž‘ํ•˜๊ณ , ๋“œ๋ ˆ์ธ ์ค‘ ๋‘ ๋ฒˆ์งธ ์‹ ํ˜ธ๋Š” ์—ด๋ฆฐ ์š”์ฒญ์„ ๋‹ซ๊ณ  ์ฆ‰์‹œ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ๋“œ๋ ˆ์ธ์€ ๊ฒŒ์ดํŠธ์›จ์ด v2.1.274 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

261 

262๊ธด ์ƒ์„ฑ์€ ๋ช‡ ๋ถ„ ๋™์•ˆ ์ŠคํŠธ๋ฆฌ๋ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Kubernetes ๋ฐ Amazon ECS์—์„œ ์ด ๋‘˜์„ ํ•จ๊ป˜ ๋†’์—ฌ ํ•ด๋‹น ์ŠคํŠธ๋ฆผ์— ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

263 

264* **๋“œ๋ ˆ์ธ ์œˆ๋„์šฐ**: ๊ฒŒ์ดํŠธ์›จ์ด ์ปจํ…Œ์ด๋„ˆ์—์„œ `CLAUDE_GATEWAY_DRAIN_TIMEOUT_MS` ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ `120000`๊ณผ ๊ฐ™์€ ์–‘์˜ ์ •์ˆ˜ ๋ฐ€๋ฆฌ์ดˆ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฒŒ์ดํŠธ์›จ์ด๋Š” `120s`์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ํ˜•์‹์˜ ๊ฐ’์„ ๋ฌด์‹œํ•˜๊ณ  25์ดˆ ๊ธฐ๋ณธ๊ฐ’์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค

265* **์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ์˜ ์œ ์˜ˆ ๊ธฐ๊ฐ„**: Kubernetes์˜ `terminationGracePeriodSeconds` ๋˜๋Š” Amazon ECS์˜ `stopTimeout`

266 

267์œ ์˜ˆ ๊ธฐ๊ฐ„์€ ๋‘ ํ”Œ๋žซํผ ๋ชจ๋‘์—์„œ ๊ธฐ๋ณธ๊ฐ’ 30์ดˆ์ž…๋‹ˆ๋‹ค. ๋“œ๋ ˆ์ธ ์œˆ๋„์šฐ๋ณด๋‹ค ์ตœ์†Œ 5์ดˆ ์ด์ƒ ๊ธธ๊ฒŒ ์œ ์ง€ํ•˜๊ฑฐ๋‚˜, ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๊ฐ€ ๋“œ๋ ˆ์ธ์ด ์™„๋ฃŒ๋˜๊ธฐ ์ „์— ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. Kubernetes์—์„œ ์œ ์˜ˆ ๊ธฐ๊ฐ„์ด ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ `SIGTERM`์„ ๋ฐ›์„ ๋•Œ๊ฐ€ ์•„๋‹ˆ๋ผ ํ›…์ด ์‹คํ–‰๋˜๊ธฐ ์ „์— ๊ณ„์‚ฐ์„ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— `preStop` ํ›…์˜ ๊ธฐ๊ฐ„๋„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

268 

269ํ”Œ๋žซํผ์€ ๋˜ํ•œ ๋“œ๋ ˆ์ธ์ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ฐ„์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

270 

271* **Amazon ECS on Fargate**: `stopTimeout`์€ ์ตœ๋Œ€ 120์ดˆ๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค

272* **Cloud Run**: `SIGTERM` ํ›„ 10์ดˆ ํ›„์— ์ธ์Šคํ„ด์Šค๋ฅผ ์ค‘์ง€ํ•˜๋ฏ€๋กœ, ์—ด๋ฆฐ ์ŠคํŠธ๋ฆผ์€ ๋“œ๋ ˆ์ธ ์œˆ๋„์šฐ๊ฐ€ ๋ฌด์—‡์ด๋“  ์ตœ๋Œ€ 10์ดˆ๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค

273 

274๋“œ๋ ˆ์ธ ์œˆ๋„์šฐ๊ฐ€ ์—ฌ์ „ํžˆ ์—ด๋ฆฐ ์š”์ฒญ์œผ๋กœ ๋๋‚˜๋ฉด, ๊ฒŒ์ดํŠธ์›จ์ด๋Š” `drain window over after`๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒฝ๊ณ ๋ฅผ ๊ธฐ๋กํ•˜๊ณ , ์ž๋ฅธ ์š”์ฒญ์„ ๊ณ„์‚ฐํ•˜๋ฉฐ, ๋†’์ผ ๋‘ ์„ค์ •์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

211 275 

212๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์€ ์ถ”๊ฐ€ ์ „์šฉ์ด๋ฏ€๋กœ ๋” ์ ์€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์•„๋Š” ์ด์ „ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ๋กค๋ฐฑํ•˜๋Š” ๊ฒƒ์€ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ํ–‰์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. ๋กค๋ฐฑ์€ ๋˜ํ•œ YAML์„ ์ด์ „ ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•ด ์žฌ๊ฒ€์ฆํ•˜๋ฏ€๋กœ, ์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ ๋„์ž…ํ•œ ํ‚ค๋ฅผ ์ฑ„ํƒํ•œ ๊ตฌ์„ฑ์€ ์ด์ „ ๋ฐ”์ด๋„ˆ๋ฆฌ์—์„œ ๋ถ€ํŒ…์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ๋กค๋ฐฑ ์ „์— ์ƒˆ ํ‚ค๋ฅผ ์ œ๊ฑฐํ•˜์„ธ์š”.276๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์€ ์ถ”๊ฐ€ ์ „์šฉ์ด๋ฏ€๋กœ ๋” ์ ์€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์•„๋Š” ์ด์ „ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ๋กค๋ฐฑํ•˜๋Š” ๊ฒƒ์€ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ํ–‰์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. ๋กค๋ฐฑ์€ ๋˜ํ•œ YAML์„ ์ด์ „ ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•ด ์žฌ๊ฒ€์ฆํ•˜๋ฏ€๋กœ, ์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ ๋„์ž…ํ•œ ํ‚ค๋ฅผ ์ฑ„ํƒํ•œ ๊ตฌ์„ฑ์€ ์ด์ „ ๋ฐ”์ด๋„ˆ๋ฆฌ์—์„œ ๋ถ€ํŒ…์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ๋กค๋ฐฑ ์ „์— ์ƒˆ ํ‚ค๋ฅผ ์ œ๊ฑฐํ•˜์„ธ์š”.

213 277 


239 303 

240* ๊ฐœ๋ฐœ์ž๋Š” ์›์‹œ ์—…์ŠคํŠธ๋ฆผ ํ‚ค ๋Œ€์‹  ๋‹จ๊ธฐ JWT๋ฅผ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค. CLI-๊ฒŒ์ดํŠธ์›จ์ด ๋ ˆ๊ทธ๋Š” RFC 8628 ์žฅ์น˜ ๋ถ€์—ฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๊ฒŒ์ดํŠธ์›จ์ด์˜ IdP์™€์˜ ์ธ์ฆ ์ฝ”๋“œ ๊ตํ™˜์€ ๊ธฐ๋ณธ ๊ตฌ์„ฑ์—์„œ PKCE๋ฅผ ์‹คํ–‰ํ•˜๋ฏ€๋กœ, ๊ฐ€๋กœ์ฑˆ IdP ์ธ์ฆ ์ฝ”๋“œ๋Š” ์“ธ๋ชจ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.304* ๊ฐœ๋ฐœ์ž๋Š” ์›์‹œ ์—…์ŠคํŠธ๋ฆผ ํ‚ค ๋Œ€์‹  ๋‹จ๊ธฐ JWT๋ฅผ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค. CLI-๊ฒŒ์ดํŠธ์›จ์ด ๋ ˆ๊ทธ๋Š” RFC 8628 ์žฅ์น˜ ๋ถ€์—ฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๊ฒŒ์ดํŠธ์›จ์ด์˜ IdP์™€์˜ ์ธ์ฆ ์ฝ”๋“œ ๊ตํ™˜์€ ๊ธฐ๋ณธ ๊ตฌ์„ฑ์—์„œ PKCE๋ฅผ ์‹คํ–‰ํ•˜๋ฏ€๋กœ, ๊ฐ€๋กœ์ฑˆ IdP ์ธ์ฆ ์ฝ”๋“œ๋Š” ์“ธ๋ชจ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

241* ์žฅ์น˜ ๊ฒ€์ฆ ํŽ˜์ด์ง€๋Š” ๋™์ผ ์ถœ์ฒ˜ POST ๋ฐ RFC 8628 ยง5.1๋‹น IP๋‹น ์†๋„ ์ œํ•œ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. [์‚ฌ์šฉ์ž ์ฝ”๋“œ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ์ €ํ•ญ](#user-code-brute-force-resistance)์„ ์ฐธ์กฐํ•˜์„ธ์š”.305* ์žฅ์น˜ ๊ฒ€์ฆ ํŽ˜์ด์ง€๋Š” ๋™์ผ ์ถœ์ฒ˜ POST ๋ฐ RFC 8628 ยง5.1๋‹น IP๋‹น ์†๋„ ์ œํ•œ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. [์‚ฌ์šฉ์ž ์ฝ”๋“œ ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž… ์ €ํ•ญ](#user-code-brute-force-resistance)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

242* ์•„์›ƒ๋ฐ”์šด๋“œ ์š”์ฒญ์€ DNS๋ฅผ ํ™•์ธํ•˜๊ณ , ๋งํฌ ๋กœ์ปฌ ๋ฐ ํด๋ผ์šฐ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ฃผ์†Œ์™€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฃจํ”„๋ฐฑ์„ ์ฐจ๋‹จํ•˜๋ฉฐ, ์—ฐ๊ฒฐ์„ ํ™•์ธ๋œ IP์— ๊ณ ์ •ํ•˜๋Š” ์„œ๋ฒ„ ์ธก ์š”์ฒญ ์œ„์กฐ(SSRF) ๊ฐ€๋“œ๋ฅผ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ IdP ๋ฐ OTLP ๋Œ€์ƒ๊ณผ ๊ฐ™์€ ์šด์˜์ž ์˜ํ–ฅ URL์€ ํด๋ผ์šฐ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์—”๋“œํฌ์ธํŠธ๋กœ ๋ฆฌ๋””๋ ‰์…˜๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. RFC 1918 ํ”„๋ผ์ด๋น— ๋ฒ”์œ„๋Š” ์˜๋„์ ์œผ๋กœ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. IdP ๋ฐ OTLP ์ˆ˜์ง‘๊ธฐ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋ผ์ด๋น— IP์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ฃจํ”„๋ฐฑ IdP ๋˜๋Š” `localhost`์˜ ์‚ฌ์ด๋“œ์นด OTLP ์ˆ˜์ง‘๊ธฐ์™€ ๊ฐ™์ด ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์ •๋‹นํ•˜๊ฒŒ ๋„๋‹ฌํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด ๋ฃจํ”„๋ฐฑ์— ์žˆ์„ ๋•Œ๋งŒ ๊ฒŒ์ดํŠธ์›จ์ด์˜ ํ™˜๊ฒฝ์—์„œ `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1`์„ ์„ค์ •ํ•˜์„ธ์š”. ๋ณ€์ˆ˜๋Š” ๋ชจ๋“  ์šด์˜์ž ๊ตฌ์„ฑ URL์— ๋Œ€ํ•ด ๋ฃจํ”„๋ฐฑ ๋ธ”๋ก์„ ์™„ํ™”ํ•˜๊ณ  ๋˜ํ•œ ํฌ๋“œ๊ฐ€ ํด๋ผ์šฐ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์—”๋“œํฌ์ธํŠธ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ถ€ํŒ… ์‹œ๊ฐ„ ๊ฒฝ๊ณ ๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ˆ˜์ง‘๊ธฐ์— ์ž์ฒด ๋‚ด๋ถ€ ์ฃผ์†Œ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•˜์„ธ์š”.306* ๊ฒŒ์ดํŠธ์›จ์ด์˜ IdP, OTLP ์ˆ˜์ง‘๊ธฐ ๋ฐ `provider: anthropic` ์—…์ŠคํŠธ๋ฆผ์— ๋Œ€ํ•œ ์š”์ฒญ์€ DNS๋ฅผ ํ™•์ธํ•˜๊ณ , ๋งํฌ ๋กœ์ปฌ ๋ฐ ํด๋ผ์šฐ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ฃผ์†Œ์™€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฃจํ”„๋ฐฑ์„ ์ฐจ๋‹จํ•˜๋ฉฐ, ์—ฐ๊ฒฐ์„ ํ™•์ธ๋œ IP์— ๊ณ ์ •ํ•˜๋Š” ์„œ๋ฒ„ ์ธก ์š”์ฒญ ์œ„์กฐ(SSRF) ๊ฐ€๋“œ๋ฅผ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šด์˜์ž ์˜ํ–ฅ URL์€ ํด๋ผ์šฐ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์—”๋“œํฌ์ธํŠธ๋กœ ๋ฆฌ๋””๋ ‰์…˜๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. RFC 1918 ํ”„๋ผ์ด๋น— ๋ฒ”์œ„๋Š” ์˜๋„์ ์œผ๋กœ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. IdP ๋ฐ OTLP ์ˆ˜์ง‘๊ธฐ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋ผ์ด๋น— IP์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ณต๊ธ‰์ž์˜ ๊ฒฝ์šฐ, ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ๊ตฌ์„ฑ์„ ๋กœ๋“œํ•  ๋•Œ ์ด๋Ÿฌํ•œ ์ฃผ์†Œ ๋˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ˜ธ์ŠคํŠธ๋ช…์„ ์ง€์ •ํ•˜๋Š” `base_url`์„ ๊ฑฐ๋ถ€ํ•˜๊ณ , ๊ณต๊ธ‰์ž์˜ SDK๋Š” DNS ํ™•์ธ ์—†์ด ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

307 

308 [ํ”„๋ก์‹œ ์ „์šฉ ์†ก์‹ ](/docs/ko/claude-apps-gateway-config#proxy-only-egress)์„ ์ผœ๋ฉด, ํ•ด๋‹น ์ฃผ์†Œ ํ™•์ธ์ด ํฌ์›Œ๋“œ ํ”„๋ก์‹œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค: ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ํ˜ธ์ŠคํŠธ๋ช…์„ ์ „๋‹ฌํ•˜๊ณ  ํ”„๋ก์‹œ์˜ ํ—ˆ์šฉ ๋ชฉ๋ก์€ ํ•ด๋‹น ๋Œ€์ƒ์„ ๊ฑฐ๋ถ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

309 

310 ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์ •๋‹นํ•˜๊ฒŒ ๋„๋‹ฌํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด ๋ฃจํ”„๋ฐฑ์— ์žˆ์„ ๋•Œ๋งŒ ๊ฒŒ์ดํŠธ์›จ์ด์˜ ํ™˜๊ฒฝ์—์„œ `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1`์„ ์„ค์ •ํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด ๋กœ์ปฌ ๊ฐœ๋ฐœ IdP ๋˜๋Š” `localhost`์˜ ์‚ฌ์ด๋“œ์นด OTLP ์ˆ˜์ง‘๊ธฐ. ๋ณ€์ˆ˜๋Š” ๋ชจ๋“  ์šด์˜์ž ๊ตฌ์„ฑ URL์— ๋Œ€ํ•ด ๋ฃจํ”„๋ฐฑ ๋ธ”๋ก์„ ์™„ํ™”ํ•˜๊ณ  ๋˜ํ•œ ํฌ๋“œ๊ฐ€ ํด๋ผ์šฐ๋“œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์—”๋“œํฌ์ธํŠธ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ถ€ํŒ… ์‹œ๊ฐ„ ๊ฒฝ๊ณ ๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ˆ˜์ง‘๊ธฐ์— ์ž์ฒด ๋‚ด๋ถ€ ์ฃผ์†Œ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•˜์„ธ์š”.

243 311 

244์ž์‹ ์˜ ์†ก์‹  ์ œ์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด, ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ์›Œํฌ๋กœ๋“œ ID์™€ ๊ฐ™์€ ์ธ์Šคํ„ด์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ž๊ฒฉ ์ฆ๋ช…์„ ์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„œ๋ฒ„์— ๋„๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.312์ž์‹ ์˜ ์†ก์‹  ์ œ์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด, ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ์›Œํฌ๋กœ๋“œ ID์™€ ๊ฐ™์€ ์ธ์Šคํ„ด์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ž๊ฒฉ ์ฆ๋ช…์„ ์‚ฌ์šฉํ•  ๋•Œ๋งˆ๋‹ค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„œ๋ฒ„์— ๋„๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

245 313 


254 322 

255`user_code` ๊ฐœ๋ฐœ์ž๊ฐ€ `/device` ๊ฒ€์ฆ ํŽ˜์ด์ง€์— ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์€ 20์ž ์•ŒํŒŒ๋ฒณ์—์„œ ๊ทธ๋ ค์ง„ 8์ž์ด๋ฉฐ, 20โธ ๋˜๋Š” ์•ฝ 2.56ร—10ยนโฐ ์กฐํ•ฉ์„ ์‚ฐ์ถœํ•˜๊ณ  10๋ถ„ ํ›„ ๋งŒ๋ฃŒ๋ฉ๋‹ˆ๋‹ค.323`user_code` ๊ฐœ๋ฐœ์ž๊ฐ€ `/device` ๊ฒ€์ฆ ํŽ˜์ด์ง€์— ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์€ 20์ž ์•ŒํŒŒ๋ฒณ์—์„œ ๊ทธ๋ ค์ง„ 8์ž์ด๋ฉฐ, 20โธ ๋˜๋Š” ์•ฝ 2.56ร—10ยนโฐ ์กฐํ•ฉ์„ ์‚ฐ์ถœํ•˜๊ณ  10๋ถ„ ํ›„ ๋งŒ๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

256 324 

257๊ฒŒ์ดํŠธ์›จ์ด๋Š” [`rate_limits`](/docs/ko/claude-apps-gateway-config#http-tuning)๋ฅผ ํ†ตํ•ด ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ ์žฅ์น˜ ๋ถ€์—ฌ ์—”๋“œํฌ์ธํŠธ์— IP๋‹น ์†๋„ ์ œํ•œ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‹จ์ผ ๊ณต์œ  ํšŒ์‚ฌ NAT ์ฃผ์†Œ์—์„œ ๋กœ๊ทธ์ธํ•˜๋ฉด ์ œํ•œ์„ ์˜ฌ๋ฆฌ์„ธ์š”. ์ œํ•œ์€ ๋กœ๊ทธ์ธ ํ๋ฆ„์—๋งŒ ์ ์šฉ๋˜๋ฉฐ ์ถ”๋ก ์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.325๊ฒŒ์ดํŠธ์›จ์ด๋Š” [`rate_limits`](/docs/ko/claude-apps-gateway-config#http-tuning)๋ฅผ ํ†ตํ•ด ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ ์žฅ์น˜ ๋ถ€์—ฌ ์—”๋“œํฌ์ธํŠธ์— IP๋‹น ์†๋„ ์ œํ•œ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‹จ์ผ ๊ณต์œ  ํšŒ์‚ฌ NAT ์ฃผ์†Œ์—์„œ ๋กœ๊ทธ์ธํ•˜๋ฉด ์ œํ•œ์„ ์˜ฌ๋ฆฌ์„ธ์š”. [๋Œ€๊ทœ๋ชจ ๋กค์•„์›ƒ](#large-rollouts)์€ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ œํ•œ์€ ๋กœ๊ทธ์ธ ํ๋ฆ„์—๋งŒ ์ ์šฉ๋˜๋ฉฐ ์ถ”๋ก ์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

258 326 

259<h3 id="compliance-posture">327<h3 id="compliance-posture">

260 ๊ทœ์ • ์ค€์ˆ˜ ํƒœ์„ธ328 ๊ทœ์ • ์ค€์ˆ˜ ํƒœ์„ธ


284gateway stderr์—๋Š” ๊ฐ์‚ฌ ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆผ์ด ํฌํ•จ๋˜๊ณ , ๊ฐ์‚ฌ ๋กœ๊ทธ๋Š” ๊ฐœ๋ฐœ์ž ์‹ ์›์„ ๊ธฐ๋กํ•˜๋ฉฐ, ๋””๋ฒ„๊ทธ ํŒŒ์ผ์€ ๊ฐœ๋ฐœ์ž ๋จธ์‹ ์˜ hook ๋ฐ MCP ์„œ๋ฒ„ ์ถœ๋ ฅ์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ฐœ ์ด์Šˆ์— ๊ฒŒ์‹œํ•˜๊ธฐ ์ „์— ์ด๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ  ์ˆ˜์ •ํ•˜์„ธ์š”.352gateway stderr์—๋Š” ๊ฐ์‚ฌ ์ด๋ฒคํŠธ ์ŠคํŠธ๋ฆผ์ด ํฌํ•จ๋˜๊ณ , ๊ฐ์‚ฌ ๋กœ๊ทธ๋Š” ๊ฐœ๋ฐœ์ž ์‹ ์›์„ ๊ธฐ๋กํ•˜๋ฉฐ, ๋””๋ฒ„๊ทธ ํŒŒ์ผ์€ ๊ฐœ๋ฐœ์ž ๋จธ์‹ ์˜ hook ๋ฐ MCP ์„œ๋ฒ„ ์ถœ๋ ฅ์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ฐœ ์ด์Šˆ์— ๊ฒŒ์‹œํ•˜๊ธฐ ์ „์— ์ด๋ฅผ ๊ฒ€ํ† ํ•˜๊ณ  ์ˆ˜์ •ํ•˜์„ธ์š”.

285 353 

286| ์ฆ์ƒ | ์›์ธ | ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• |354| ์ฆ์ƒ | ์›์ธ | ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• |

287| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |355| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

288| ๊ฐœ๋ฐœ์ž์˜ `/login`์ด **Cloud gateway** ํ™”๋ฉด ๋Œ€์‹  ํ‘œ์ค€ ๊ณ„์ • ์„ ํƒ๊ธฐ๋ฅผ ํ‘œ์‹œํ•จ | ํ•ด๋‹น ๋จธ์‹ ์˜ ๊ด€๋ฆฌ ์„ค์ •์—์„œ `forceLoginMethod` ๋˜๋Š” `forceLoginGatewayUrl`์ด ์„ค์ •๋˜์ง€ ์•Š์Œ | [๊ด€๋ฆฌ ์„ค์ • ํŒŒ์ผ](/docs/ko/claude-apps-gateway#set-the-gateway-url)์„ ๊ธฐ๊ธฐ์— ๋ฐฐํฌํ•˜์„ธ์š”. `/login`์€ ์—ฌ๊ธฐ์„œ gateway URL์„ ์ฝ์Šต๋‹ˆ๋‹ค |356| ๊ฐœ๋ฐœ์ž์˜ `/login`์ด **Cloud gateway** ํ™”๋ฉด ๋Œ€์‹  ํ‘œ์ค€ ๊ณ„์ • ์„ ํƒ๊ธฐ๋ฅผ ํ‘œ์‹œํ•จ | ํ•ด๋‹น ๋จธ์‹ ์˜ ๊ด€๋ฆฌ ์„ค์ •์—์„œ `forceLoginMethod` ๋˜๋Š” `forceLoginGatewayUrl`์ด ์„ค์ •๋˜์ง€ ์•Š์Œ | [๊ด€๋ฆฌ ์„ค์ • ํŒŒ์ผ](/docs/ko/claude-apps-gateway#set-the-gateway-url)์„ ๊ธฐ๊ธฐ์— ๋ฐฐํฌํ•˜์„ธ์š”. `/login`์€ ์—ฌ๊ธฐ์„œ gateway URL์„ ์ฝ์Šต๋‹ˆ๋‹ค |

289| ๊ฐœ๋ฐœ์ž์˜ ์š”์ฒญ์ด `Not signed in to the Cloud gateway โ€” run /login.`์œผ๋กœ ์‹คํŒจํ•จ | ๋จธ์‹ ์˜ ๊ด€๋ฆฌ ์„ค์ •์ด `forceLoginMethod: "gateway"` ๋˜๋Š” `forceLoginGatewayUrl`์„ ์„ค์ •ํ–ˆ๊ณ , ์„ธ์…˜์— gateway ๋กœ๊ทธ์ธ์ด ์—†์Œ. ๋‚จ์€ claude.ai ๋กœ๊ทธ์ธ์€ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜์ง€ ์•Š์Œ | ๊ฐœ๋ฐœ์ž๊ฐ€ `/login`์„ ์‹คํ–‰ํ•˜๊ณ  gateway ๋กœ๊ทธ์ธ์„ ์™„๋ฃŒํ•˜๋„๋ก ํ•˜์„ธ์š”. [๊ด€๋ฆฌ์ž ์ •์ฑ…์ด Cloud gateway ๋กœ๊ทธ์ธ์„ ์š”๊ตฌํ•จ](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)๋„ ์ฐธ์กฐํ•˜์„ธ์š”. |357| ๊ฐœ๋ฐœ์ž์˜ ์š”์ฒญ์ด `Not signed in to the Cloud gateway โ€” run /login.`์œผ๋กœ ์‹คํŒจํ•จ | ๋จธ์‹ ์˜ ๊ด€๋ฆฌ ์„ค์ •์ด `forceLoginMethod: "gateway"` ๋˜๋Š” `forceLoginGatewayUrl`์„ ์„ค์ •ํ–ˆ๊ณ , ์„ธ์…˜์— gateway ๋กœ๊ทธ์ธ์ด ์—†์Œ. ๋‚จ์€ claude.ai ๋กœ๊ทธ์ธ์€ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜์ง€ ์•Š์Œ | ๊ฐœ๋ฐœ์ž๊ฐ€ `/login`์„ ์‹คํ–‰ํ•˜๊ณ  gateway ๋กœ๊ทธ์ธ์„ ์™„๋ฃŒํ•˜๋„๋ก ํ•˜์„ธ์š”. [๊ด€๋ฆฌ์ž ์ •์ฑ…์ด Cloud gateway ๋กœ๊ทธ์ธ์„ ์š”๊ตฌํ•จ](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)๋„ ์ฐธ์กฐํ•˜์„ธ์š”. |

290| Claude Desktop์ด ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๊ตฌ์„ฑ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†๋‹ค๊ณ  ๋ณด๊ณ ํ•จ | `/user/bootstrap`์ด 404๋ฅผ ๋ฐ˜ํ™˜ํ•จ: ์‚ฌ์šฉ์ž์™€ ์ผ์น˜ํ•˜๋Š” ์ •์ฑ…์ด `desktop` ํ‚ค๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ผ์น˜ํ•˜๋Š” ์ •์ฑ…์ด ์—†์Œ. gateway ๊ฐ์‚ฌ ๋กœ๊ทธ๋Š” ๊ฐ ๊ฑฐ๋ถ€๋ฅผ `desktop_bootstrap.denied`๋กœ ์ด์œ ์™€ ํ•จ๊ป˜ ๊ธฐ๋กํ•จ | ์‚ฌ์šฉ์ž์™€ ์ผ์น˜ํ•˜๋Š” ์ •์ฑ… ๋˜๋Š” `match: {}` ๊ธฐ๋ณธ ๊ณ„์ธต์— `desktop` ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ๋นˆ `desktop: {}`์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. [Claude Desktop ์˜ค๋ฒ„๋ ˆ์ด](/docs/ko/claude-apps-gateway-config#claude-desktop-overlay)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. |358| Claude Desktop์ด ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๊ตฌ์„ฑ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†๋‹ค๊ณ  ๋ณด๊ณ ํ•จ | `/user/bootstrap`์ด 404๋ฅผ ๋ฐ˜ํ™˜ํ•จ: ์‚ฌ์šฉ์ž์™€ ์ผ์น˜ํ•˜๋Š” ์ •์ฑ…์ด `desktop` ํ‚ค๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ผ์น˜ํ•˜๋Š” ์ •์ฑ…์ด ์—†์Œ. gateway ๊ฐ์‚ฌ ๋กœ๊ทธ๋Š” ๊ฐ ๊ฑฐ๋ถ€๋ฅผ `desktop_bootstrap.denied`๋กœ ์ด์œ ์™€ ํ•จ๊ป˜ ๊ธฐ๋กํ•จ | ์‚ฌ์šฉ์ž์™€ ์ผ์น˜ํ•˜๋Š” ์ •์ฑ… ๋˜๋Š” `match: {}` ๊ธฐ๋ณธ ๊ณ„์ธต์— `desktop` ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ๋นˆ `desktop: {}`์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. [Claude Desktop ์˜ค๋ฒ„๋ ˆ์ด](/docs/ko/claude-apps-gateway-config#claude-desktop-overlay)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. |

291| ์‹œ์ž‘ ์‹œ `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.`๋ฅผ ํ‘œ์‹œํ•จ | ์„ค์น˜๋œ Claude Code ๋นŒ๋“œ๊ฐ€ gateway ์ง€์›๋ณด๋‹ค ์ด์ „ ๋ฒ„์ „์ž„ | ๊ฐœ๋ฐœ์ž๊ฐ€ Cloud gateway ์ง€์›์„ ํฌํ•จํ•˜๋Š” ๋ฆด๋ฆฌ์Šค๋กœ Claude Code๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋„๋ก ํ•˜์„ธ์š” |359| ์‹œ์ž‘ ์‹œ `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.`๋ฅผ ํ‘œ์‹œํ•จ | ์„ค์น˜๋œ Claude Code ๋นŒ๋“œ๊ฐ€ gateway ์ง€์›๋ณด๋‹ค ์ด์ „ ๋ฒ„์ „์ž„ | ๊ฐœ๋ฐœ์ž๊ฐ€ Cloud gateway ์ง€์›์„ ํฌํ•จํ•˜๋Š” ๋ฆด๋ฆฌ์Šค๋กœ Claude Code๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋„๋ก ํ•˜์„ธ์š” |

292| ์‹œ์ž‘์ด `Administrator policy requires a Cloud gateway sign-in on this machine`์œผ๋กœ ์ข…๋ฃŒ๋จ | ๊ฐœ๋ฐœ์ž์˜ ํ™˜๊ฒฝ์ด `ANTHROPIC_API_KEY` ๋˜๋Š” `ANTHROPIC_AUTH_TOKEN`์„ ์„ค์ •ํ•˜๊ฑฐ๋‚˜, ์„ค์ •์ด [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper)๋ฅผ ๊ตฌ์„ฑํ•˜๊ฑฐ๋‚˜, ์ด์ „ Claude Console ๋กœ๊ทธ์ธ์˜ API ํ‚ค๊ฐ€ ์—ฌ์ „ํžˆ ์ €์žฅ๋˜์–ด ์žˆ์Œ | ํ•ด๋‹นํ•˜๋Š” ๊ฐ๊ฐ์„ ์ง€์šฐ๋„๋ก ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ง€์‹œํ•˜์„ธ์š”: ๋ณ€์ˆ˜๋ฅผ ์„ค์ • ํ•ด์ œํ•˜๊ฑฐ๋‚˜, `apiKeyHelper` ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜, `claude auth logout`์„ ์‹คํ–‰ํ•˜์—ฌ ์ €์žฅ๋œ ํ‚ค๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ `claude`๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  `/login`์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋„๋ก ํ•˜์„ธ์š”. [๊ด€๋ฆฌ์ž ์ •์ฑ…์ด Cloud gateway ๋กœ๊ทธ์ธ์„ ์š”๊ตฌํ•จ](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)๋„ ์ฐธ์กฐํ•˜์„ธ์š”. |360| ์‹œ์ž‘์ด `Administrator policy requires a Cloud gateway sign-in on this machine`์œผ๋กœ ์ข…๋ฃŒ๋จ | ๊ฐœ๋ฐœ์ž์˜ ํ™˜๊ฒฝ์ด `ANTHROPIC_API_KEY` ๋˜๋Š” `ANTHROPIC_AUTH_TOKEN`์„ ์„ค์ •ํ•˜๊ฑฐ๋‚˜, ์„ค์ •์ด [`apiKeyHelper`](/docs/ko/settings-reference#apikeyhelper)๋ฅผ ๊ตฌ์„ฑํ•˜๊ฑฐ๋‚˜, ์ด์ „ Claude Console ๋กœ๊ทธ์ธ์˜ API ํ‚ค๊ฐ€ ์—ฌ์ „ํžˆ ์ €์žฅ๋˜์–ด ์žˆ์Œ | ํ•ด๋‹นํ•˜๋Š” ๊ฐ๊ฐ์„ ์ง€์šฐ๋„๋ก ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ง€์‹œํ•˜์„ธ์š”: ๋ณ€์ˆ˜๋ฅผ ์„ค์ • ํ•ด์ œํ•˜๊ฑฐ๋‚˜, `apiKeyHelper` ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜, `claude auth logout`์„ ์‹คํ–‰ํ•˜์—ฌ ์ €์žฅ๋œ ํ‚ค๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ `claude`๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  `/login`์œผ๋กœ ๋กœ๊ทธ์ธํ•˜๋„๋ก ํ•˜์„ธ์š”. [๊ด€๋ฆฌ์ž ์ •์ฑ…์ด Cloud gateway ๋กœ๊ทธ์ธ์„ ์š”๊ตฌํ•จ](/docs/ko/errors#administrator-policy-requires-a-cloud-gateway-sign-in)๋„ ์ฐธ์กฐํ•˜์„ธ์š”. |

293| ์‹œ์ž‘ ๋˜๋Š” `/login`์ด `/managed/settings` ๋กœ๋“œ์—์„œ 403 ํ›„ `Claude Code may not be enabled for your organization`์„ ๋ณด๊ณ ํ•จ | gateway ๋˜๋Š” ๊ทธ ์•ž์˜ ๋ฌด์–ธ๊ฐ€๊ฐ€ `/managed/settings` ์š”์ฒญ์— 403์œผ๋กœ ์‘๋‹ตํ•จ. gateway ์ž์ฒด ์„ค์ • ๊ฒฝ๋กœ๋Š” ์ ˆ๋Œ€ 403์œผ๋กœ ์‘๋‹ตํ•˜์ง€ ์•Š์Œ. ์ƒํƒœ๋Š” [`access_control`](/docs/ko/claude-apps-gateway-config#http-tuning) IP ํ™•์ธ ๋˜๋Š” gateway ์•ž์˜ ํ”„๋ก์‹œ ๋˜๋Š” WAF์—์„œ ์˜ด. ๊ฐ์‚ฌ ๋กœ๊ทธ๋Š” IP ํ™•์ธ ๊ฑฐ๋ถ€๋ฅผ `access.denied`๋กœ ์ด์œ ์™€ ํ•จ๊ป˜ ๊ธฐ๋กํ•จ. ๊ฐœ๋ฐœ์ž๋Š” ๋กœ๊ทธ์ธ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•จ | ์‹คํŒจ ์‹œ๊ฐ„์— `access.denied`์— ๋Œ€ํ•œ ๊ฐ์‚ฌ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜๊ณ  `access_control` ๋ชฉ๋ก ๋˜๋Š” ํ”„๋ก ํŠธ ์—”๋“œ๋ฅผ ์ˆ˜์ •ํ•œ ํ›„ ๊ฐœ๋ฐœ์ž๊ฐ€ `claude`๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋„๋ก ํ•˜์„ธ์š” |361| ์‹œ์ž‘ ๋˜๋Š” `/login`์ด `/managed/settings` ๋กœ๋“œ์—์„œ 403 ํ›„ `Claude Code may not be enabled for your organization`์„ ๋ณด๊ณ ํ•จ | gateway ๋˜๋Š” ๊ทธ ์•ž์˜ ๋ฌด์–ธ๊ฐ€๊ฐ€ `/managed/settings` ์š”์ฒญ์— 403์œผ๋กœ ์‘๋‹ตํ•จ. gateway ์ž์ฒด ์„ค์ • ๊ฒฝ๋กœ๋Š” ์ ˆ๋Œ€ 403์œผ๋กœ ์‘๋‹ตํ•˜์ง€ ์•Š์Œ. ์ƒํƒœ๋Š” [`access_control`](/docs/ko/claude-apps-gateway-config#http-tuning) IP ํ™•์ธ ๋˜๋Š” gateway ์•ž์˜ ํ”„๋ก์‹œ ๋˜๋Š” WAF์—์„œ ์˜ด. ๊ฐ์‚ฌ ๋กœ๊ทธ๋Š” IP ํ™•์ธ ๊ฑฐ๋ถ€๋ฅผ `access.denied`๋กœ ์ด์œ ์™€ ํ•จ๊ป˜ ๊ธฐ๋กํ•จ. ๊ฐœ๋ฐœ์ž๋Š” ๋กœ๊ทธ์ธ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•จ | ์‹คํŒจ ์‹œ๊ฐ„์— `access.denied`์— ๋Œ€ํ•œ ๊ฐ์‚ฌ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•˜๊ณ  `access_control` ๋ชฉ๋ก ๋˜๋Š” ํ”„๋ก ํŠธ ์—”๋“œ๋ฅผ ์ˆ˜์ •ํ•œ ํ›„ ๊ฐœ๋ฐœ์ž๊ฐ€ `claude`๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋„๋ก ํ•˜์„ธ์š” |

362| CLI `/login`: `The gateway is limiting sign-in attempts right now`, ๋˜๋Š” ์ด์ „ ๋ฒ„์ „์—์„œ `Request failed with status code 429`. `/device` ํŽ˜์ด์ง€๋Š” ์ด์ „์— ์‹œ๋„ํ•˜์ง€ ์•Š์€ ๊ฐœ๋ฐœ์ž์—๊ฒŒ `Too many attempts`๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Œ | IP๋‹น ๋กœ๊ทธ์ธ ์†๋„ ์ œํ•œ์— ๋„๋‹ฌํ•จ. `listen.trusted_proxies`๊ฐ€ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š์•„ ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•ด๋‹น ์ฃผ์†Œ๋ฅผ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜, ๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ NAT ๋˜๋Š” VPN ์†ก์‹  ์ฃผ์†Œ๋ฅผ ๊ณต์œ ํ•จ. `result: rate_limited`๊ฐ€ ์žˆ๋Š” ๊ฐ์‚ฌ ์ด๋ฒคํŠธ๋Š” ๋™์ผํ•œ ํ•˜๋‚˜ ๋˜๋Š” ๋ช‡ ๊ฐœ์˜ `client_ip` ๊ฐ’์„ ํ‘œ์‹œํ•จ. | ๋จผ์ € `listen.trusted_proxies`๋ฅผ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์˜ ์†Œ์Šค ๋ฒ”์œ„๋กœ ์„ค์ •ํ•œ ํ›„, ๊ฐœ๋ฐœ์ž๊ฐ€ ์—ฌ์ „ํžˆ ์ฃผ์†Œ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๊ฒฝ์šฐ `rate_limits`๋ฅผ ๋†’์ด์„ธ์š”. [๋Œ€๊ทœ๋ชจ ๋กค์•„์›ƒ](#large-rollouts)์„ ์ฐธ์กฐํ•˜์„ธ์š”. |

294| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | gateway ํ˜ธ์ŠคํŠธ๋ช…์ด ์ตœ์†Œ ํ•˜๋‚˜์˜ ๊ณต๊ฐœ IP ์ฃผ์†Œ๋กœ ํ™•์ธ๋จ. Claude Code๋Š” ๊ฐ ํ™•์ธ๋œ ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•˜๊ณ  ๋ชจ๋“  ์ฃผ์†Œ๊ฐ€ ๋น„๊ณต๊ฐœ์—ฌ์•ผ ํ•จ. ์ผ๋ฐ˜์ ์ธ ์›์ธ์€ ํ•œ ํŒจ๋ฐ€๋ฆฌ๊ฐ€ ๊ณต๊ฐœ ์ฃผ์†Œ๋กœ ํ™•์ธ๋˜๋Š” ์ด์ค‘ ์Šคํƒ ์ด๋ฆ„์ด๋ฉฐ, AWS ๋‚ด๋ถ€ ์ด์ค‘ ์Šคํƒ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ํฌํ•จํ•˜์—ฌ ๊ณต๊ฐœ ๋ฒ”์œ„ AAAA ์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•จ | gateway ์ด๋ฆ„์ด ๊ฐœ๋ฐœ์ž ๋จธ์‹ ์—์„œ ๋น„๊ณต๊ฐœ ์ฃผ์†Œ๋กœ๋งŒ ํ™•์ธ๋˜๋„๋ก ํ•˜์„ธ์š”. ์ด์ค‘ ์Šคํƒ ์ด๋ฆ„์˜ ๊ฒฝ์šฐ ๊ณต๊ฐœ ๋ฒ”์œ„ ๋ ˆ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๋ณ„๋„์˜ ๋‚ด๋ถ€ ์ „์šฉ DNS ์ด๋ฆ„์„ ์ œ๊ณตํ•˜์„ธ์š”. [๋น„๊ณต๊ฐœ ๋„คํŠธ์›Œํฌ ์ „์ œ ์กฐ๊ฑด](/docs/ko/claude-apps-gateway#prerequisites)์„ ์ฐธ์กฐํ•˜์„ธ์š”. ์ฃผ์†Œ๊ฐ€ ์กฐ์ง์ด ์†Œ์œ ํ•˜๊ณ  ๋‚ด๋ถ€์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ฐœ ๊ณต๊ฐ„์ธ ๊ฒฝ์šฐ [ํ•ด๋‹น ๋ธ”๋ก์„ ์„ ์–ธ](/docs/ko/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)ํ•˜์„ธ์š”. |363| CLI `/login`: `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | gateway ํ˜ธ์ŠคํŠธ๋ช…์ด ์ตœ์†Œ ํ•˜๋‚˜์˜ ๊ณต๊ฐœ IP ์ฃผ์†Œ๋กœ ํ™•์ธ๋จ. Claude Code๋Š” ๊ฐ ํ™•์ธ๋œ ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•˜๊ณ  ๋ชจ๋“  ์ฃผ์†Œ๊ฐ€ ๋น„๊ณต๊ฐœ์—ฌ์•ผ ํ•จ. ์ผ๋ฐ˜์ ์ธ ์›์ธ์€ ํ•œ ํŒจ๋ฐ€๋ฆฌ๊ฐ€ ๊ณต๊ฐœ ์ฃผ์†Œ๋กœ ํ™•์ธ๋˜๋Š” ์ด์ค‘ ์Šคํƒ ์ด๋ฆ„์ด๋ฉฐ, AWS ๋‚ด๋ถ€ ์ด์ค‘ ์Šคํƒ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ํฌํ•จํ•˜์—ฌ ๊ณต๊ฐœ ๋ฒ”์œ„ AAAA ์ฃผ์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•จ | gateway ์ด๋ฆ„์ด ๊ฐœ๋ฐœ์ž ๋จธ์‹ ์—์„œ ๋น„๊ณต๊ฐœ ์ฃผ์†Œ๋กœ๋งŒ ํ™•์ธ๋˜๋„๋ก ํ•˜์„ธ์š”. ์ด์ค‘ ์Šคํƒ ์ด๋ฆ„์˜ ๊ฒฝ์šฐ ๊ณต๊ฐœ ๋ฒ”์œ„ ๋ ˆ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๋ณ„๋„์˜ ๋‚ด๋ถ€ ์ „์šฉ DNS ์ด๋ฆ„์„ ์ œ๊ณตํ•˜์„ธ์š”. [๋น„๊ณต๊ฐœ ๋„คํŠธ์›Œํฌ ์ „์ œ ์กฐ๊ฑด](/docs/ko/claude-apps-gateway#prerequisites)์„ ์ฐธ์กฐํ•˜์„ธ์š”. ์ฃผ์†Œ๊ฐ€ ์กฐ์ง์ด ์†Œ์œ ํ•˜๊ณ  ๋‚ด๋ถ€์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ฐœ ๊ณต๊ฐ„์ธ ๊ฒฝ์šฐ [ํ•ด๋‹น ๋ธ”๋ก์„ ์„ ์–ธ](/docs/ko/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)ํ•˜์„ธ์š”. |

295| CLI `/login`: `Gateway login would go through proxy <proxy>, which is not on a private network` | `HTTPS_PROXY` ๋˜๋Š” `HTTP_PROXY`๊ฐ€ gateway ํ˜ธ์ŠคํŠธ์— ์ ์šฉ๋˜๊ณ  ํ”„๋ก์‹œ์˜ ํ˜ธ์ŠคํŠธ๋ช…์ด ๊ณต๊ฐœ ์ฃผ์†Œ๋กœ ํ™•์ธ๋จ. ํ˜ธ์ŠคํŠธ๊ฐ€ ๋น„๊ณต๊ฐœ ์ฃผ์†Œ๋กœ๋งŒ ํ™•์ธ๋˜๋Š” ํ”„๋ก์‹œ๋Š” ํ—ˆ์šฉ๋˜๋ฉฐ ์ด ์˜ค๋ฅ˜๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜์ง€ ์•Š์Œ | ๊ฐœ๋ฐœ์ž ๋จธ์‹ ์˜ `NO_PROXY`์— gateway ํ˜ธ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์—ฐ๊ฒฐ์ด ์ง์ ‘ ์ด๋ฃจ์–ด์ง€๋„๋ก ํ•˜๊ฑฐ๋‚˜, ํ˜ธ์ŠคํŠธ๋ช…์ด ๋น„๊ณต๊ฐœ ์ฃผ์†Œ๋กœ ํ™•์ธ๋˜๋Š” ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ๋ฉ”์‹œ์ง€๋Š” ์ถ”๊ฐ€ํ•  ์ •ํ™•ํ•œ `NO_PROXY` ํ•ญ๋ชฉ์„ ์ด๋ฆ„์œผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค |364| CLI `/login`: `Gateway login would go through proxy <proxy>, which is not on a private network` | `HTTPS_PROXY` ๋˜๋Š” `HTTP_PROXY`๊ฐ€ gateway ํ˜ธ์ŠคํŠธ์— ์ ์šฉ๋˜๊ณ  ํ”„๋ก์‹œ์˜ ํ˜ธ์ŠคํŠธ๋ช…์ด ๊ณต๊ฐœ ์ฃผ์†Œ๋กœ ํ™•์ธ๋จ. ํ˜ธ์ŠคํŠธ๊ฐ€ ๋น„๊ณต๊ฐœ ์ฃผ์†Œ๋กœ๋งŒ ํ™•์ธ๋˜๋Š” ํ”„๋ก์‹œ๋Š” ํ—ˆ์šฉ๋˜๋ฉฐ ์ด ์˜ค๋ฅ˜๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜์ง€ ์•Š์Œ | ๊ฐœ๋ฐœ์ž ๋จธ์‹ ์˜ `NO_PROXY`์— gateway ํ˜ธ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์—ฐ๊ฒฐ์ด ์ง์ ‘ ์ด๋ฃจ์–ด์ง€๋„๋ก ํ•˜๊ฑฐ๋‚˜, ํ˜ธ์ŠคํŠธ๋ช…์ด ๋น„๊ณต๊ฐœ ์ฃผ์†Œ๋กœ ํ™•์ธ๋˜๋Š” ํ”„๋ก์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ๋ฉ”์‹œ์ง€๋Š” ์ถ”๊ฐ€ํ•  ์ •ํ™•ํ•œ `NO_PROXY` ํ•ญ๋ชฉ์„ ์ด๋ฆ„์œผ๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค |

296| CLI `/login`: `Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | gateway๊ฐ€ [`gatewayInternalNetworks`](/docs/ko/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)์— ์„ ์–ธ๋œ ๋ธ”๋ก์— ์žˆ๊ณ , ๊ฐœ๋ฐœ์ž ๋จธ์‹ ์ด ํ•ด๋‹น ๋ธ”๋ก ์™ธ๋ถ€์˜ ์ฃผ์†Œ์—์„œ ๋„๋‹ฌํ•จ: VPN ์ฃผ์†Œ ํ’€, ์ปจํ…Œ์ด๋„ˆ ๋˜๋Š” WSL2 NAT ์„ธ๊ทธ๋จผํŠธ, ๋˜๋Š” ์กฐ์ง์˜ ๋„คํŠธ์›Œํฌ๊ฐ€ ์•„๋‹˜ | ๊ฐœ๋ฐœ์ž๊ฐ€ ๋„คํŠธ์›Œํฌ์˜ ํ˜ธ์ŠคํŠธ OS์—์„œ `/login`์„ ์‹คํ–‰ํ•˜๋„๋ก ํ•˜์„ธ์š”. ํ‘œ์‹œ๋œ ์ฃผ์†Œ๋„ ์กฐ์ง์˜ ๊ณต๊ฐœ ๊ณต๊ฐ„์ธ ๊ฒฝ์šฐ gateway ํ•ญ๋ชฉ์„ ๋‘ ์ฃผ์†Œ๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•˜๋Š” ๋ธ”๋ก์œผ๋กœ ๋ฐ”๊พธ์„ธ์š”(`/8`๊นŒ์ง€). ๋‘ ๋ฒˆ์งธ ๊ฒน์น˜๋Š” ํ•ญ๋ชฉ์€ ๊ฑฐ๋ถ€๋ฉ๋‹ˆ๋‹ค |365| CLI `/login`: `Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | gateway๊ฐ€ [`gatewayInternalNetworks`](/docs/ko/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own)์— ์„ ์–ธ๋œ ๋ธ”๋ก์— ์žˆ๊ณ , ๊ฐœ๋ฐœ์ž ๋จธ์‹ ์ด ํ•ด๋‹น ๋ธ”๋ก ์™ธ๋ถ€์˜ ์ฃผ์†Œ์—์„œ ๋„๋‹ฌํ•จ: VPN ์ฃผ์†Œ ํ’€, ์ปจํ…Œ์ด๋„ˆ ๋˜๋Š” WSL2 NAT ์„ธ๊ทธ๋จผํŠธ, ๋˜๋Š” ์กฐ์ง์˜ ๋„คํŠธ์›Œํฌ๊ฐ€ ์•„๋‹˜ | ๊ฐœ๋ฐœ์ž๊ฐ€ ๋„คํŠธ์›Œํฌ์˜ ํ˜ธ์ŠคํŠธ OS์—์„œ `/login`์„ ์‹คํ–‰ํ•˜๋„๋ก ํ•˜์„ธ์š”. ํ‘œ์‹œ๋œ ์ฃผ์†Œ๋„ ์กฐ์ง์˜ ๊ณต๊ฐœ ๊ณต๊ฐ„์ธ ๊ฒฝ์šฐ gateway ํ•ญ๋ชฉ์„ ๋‘ ์ฃผ์†Œ๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•˜๋Š” ๋ธ”๋ก์œผ๋กœ ๋ฐ”๊พธ์„ธ์š”(`/8`๊นŒ์ง€). ๋‘ ๋ฒˆ์งธ ๊ฒน์น˜๋Š” ํ•ญ๋ชฉ์€ ๊ฑฐ๋ถ€๋ฉ๋‹ˆ๋‹ค |


301| CLI `/login`: `Could not resolve gateway host <host>` | ๋จธ์‹ ์ด gateway์˜ ๋‚ด๋ถ€ DNS ์ด๋ฆ„์„ ํ™•์ธํ•  ์ˆ˜ ์—†์Œ. ์ผ๋ฐ˜์ ์œผ๋กœ ํšŒ์‚ฌ ๋„คํŠธ์›Œํฌ์— ์—†๊ธฐ ๋•Œ๋ฌธ | ๊ฐœ๋ฐœ์ž๊ฐ€ ๋„คํŠธ์›Œํฌ ๋˜๋Š” VPN์— ์—ฐ๊ฒฐํ•œ ํ›„ `/login`์„ ๋‹ค์‹œ ์‹œ๋„ํ•˜๋„๋ก ํ•˜์„ธ์š” |370| CLI `/login`: `Could not resolve gateway host <host>` | ๋จธ์‹ ์ด gateway์˜ ๋‚ด๋ถ€ DNS ์ด๋ฆ„์„ ํ™•์ธํ•  ์ˆ˜ ์—†์Œ. ์ผ๋ฐ˜์ ์œผ๋กœ ํšŒ์‚ฌ ๋„คํŠธ์›Œํฌ์— ์—†๊ธฐ ๋•Œ๋ฌธ | ๊ฐœ๋ฐœ์ž๊ฐ€ ๋„คํŠธ์›Œํฌ ๋˜๋Š” VPN์— ์—ฐ๊ฒฐํ•œ ํ›„ `/login`์„ ๋‹ค์‹œ ์‹œ๋„ํ•˜๋„๋ก ํ•˜์„ธ์š” |

302| ๋ถ€ํŠธ๊ฐ€ `store.postgres_url`์„ ์ด๋ฆ„์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๊ตฌ์„ฑ ๊ฒ€์ฆ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒ๋จ | Postgres๊ฐ€ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์Œ. gateway๋Š” Postgres๋ฅผ ์š”๊ตฌํ•จ | `store.postgres_url`์„ ์„ค์ •ํ•˜์„ธ์š”. ๋กœ์ปฌ ๊ฐœ๋ฐœ์˜ ๊ฒฝ์šฐ ์ผํšŒ์šฉ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |371| ๋ถ€ํŠธ๊ฐ€ `store.postgres_url`์„ ์ด๋ฆ„์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๊ตฌ์„ฑ ๊ฒ€์ฆ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒ๋จ | Postgres๊ฐ€ ๊ตฌ์„ฑ๋˜์ง€ ์•Š์Œ. gateway๋Š” Postgres๋ฅผ ์š”๊ตฌํ•จ | `store.postgres_url`์„ ์„ค์ •ํ•˜์„ธ์š”. ๋กœ์ปฌ ๊ฐœ๋ฐœ์˜ ๊ฒฝ์šฐ ์ผํšŒ์šฉ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”: `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |

303| ๋ถ€ํŠธ ์ข…๋ฃŒ: `requires the native binary` | Node ๋Œ€์‹  ๋„ค์ดํ‹ฐ๋ธŒ ๋ฐ”์ด๋„ˆ๋ฆฌ์—์„œ ์‹คํ–‰ ์ค‘ | [๋…๋ฆฝ ์‹คํ–‰ํ˜• ์„ค์น˜ ๋ฐฉ๋ฒ•](/docs/ko/setup) ์ค‘ ํ•˜๋‚˜๋กœ Claude Code๋ฅผ ์„ค์น˜ํ•˜์„ธ์š” |372| ๋ถ€ํŠธ ์ข…๋ฃŒ: `requires the native binary` | Node ๋Œ€์‹  ๋„ค์ดํ‹ฐ๋ธŒ ๋ฐ”์ด๋„ˆ๋ฆฌ์—์„œ ์‹คํ–‰ ์ค‘ | [๋…๋ฆฝ ์‹คํ–‰ํ˜• ์„ค์น˜ ๋ฐฉ๋ฒ•](/docs/ko/setup) ์ค‘ ํ•˜๋‚˜๋กœ Claude Code๋ฅผ ์„ค์น˜ํ•˜์„ธ์š” |

304| ๋ถ€ํŠธ๊ฐ€ `config.load` ํ›„ OIDC ๊ฒ€์ƒ‰ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒ๋จ | `oidc.issuer`์— ๋„๋‹ฌํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ TLS ์ฒด์ธ์„ ์‹ ๋ขฐํ•˜์ง€ ์•Š์Œ | ๋ฐœ๊ธ‰์ž๊ฐ€ ํฌ๋“œ์—์„œ ๋„๋‹ฌ ๊ฐ€๋Šฅํ•˜๊ณ  `/.well-known/openid-configuration`์„ ์ œ๊ณตํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ๋น„๊ณต๊ฐœ PKI์˜ ๊ฒฝ์šฐ `ca_cert_pem`์„ ์„ค์ •ํ•˜์„ธ์š”. ํฌ๋“œ๊ฐ€ ์ •๋ฐฉํ–ฅ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด์„œ๋งŒ IdP์— ๋„๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ [`oidc.use_proxy: true`](/docs/ko/claude-apps-gateway-config#idp-requests-through-a-forward-proxy)๋ฅผ ์„ค์ •ํ•˜์„ธ์š”. v2.1.227 ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ๋Œ€์‹  ํฌ๋“œ์— IdP์˜ ๊ฐ ์—”๋“œํฌ์ธํŠธ์— ๋Œ€ํ•œ ์ง์ ‘ ๊ฒฝ๋กœ๋ฅผ ์ œ๊ณตํ•˜์„ธ์š”. |373| ๋ถ€ํŠธ๊ฐ€ `config.load` ํ›„ OIDC ๊ฒ€์ƒ‰ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒ๋จ | `oidc.issuer`์— ๋„๋‹ฌํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ TLS ์ฒด์ธ์„ ์‹ ๋ขฐํ•˜์ง€ ์•Š์Œ | ๋ฐœ๊ธ‰์ž๊ฐ€ ํฌ๋“œ์—์„œ ๋„๋‹ฌ ๊ฐ€๋Šฅํ•˜๊ณ  `/.well-known/openid-configuration`์„ ์ œ๊ณตํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ๋น„๊ณต๊ฐœ PKI์˜ ๊ฒฝ์šฐ `ca_cert_pem`์„ ์„ค์ •ํ•˜์„ธ์š”. ํฌ๋“œ๊ฐ€ ์ •๋ฐฉํ–ฅ ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด์„œ๋งŒ IdP์— ๋„๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ [`oidc.use_proxy: true`](/docs/ko/claude-apps-gateway-config#idp-requests-through-a-forward-proxy)๋ฅผ ์„ค์ •ํ•˜์„ธ์š”. v2.1.227 ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ๋Œ€์‹  ํฌ๋“œ์— IdP์˜ ๊ฐ ์—”๋“œํฌ์ธํŠธ์— ๋Œ€ํ•œ ์ง์ ‘ ๊ฒฝ๋กœ๋ฅผ ์ œ๊ณตํ•˜์„ธ์š”. ํฌ๋“œ๊ฐ€ IdP์˜ ํ˜ธ์ŠคํŠธ๋ช…์„ ํ™•์ธํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ํ”„๋ก์‹œ๊ฐ€ IP ์ฃผ์†Œ์— ๋Œ€ํ•œ `CONNECT`๋ฅผ ๊ฑฐ๋ถ€ํ•˜๋Š” ๊ฒฝ์šฐ [ํ”„๋ก์‹œ ์ „์šฉ ์†ก์‹ ](/docs/ko/claude-apps-gateway-config#proxy-only-egress)์„ ์ฐธ์กฐํ•˜์„ธ์š”. v2.1.277 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. |

305| ๋ถ€ํŠธ๊ฐ€ Postgres ๊ถŒํ•œ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒ๋จ | ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ญํ• ์ด ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•œ DDL ๊ถŒํ•œ์ด ์—†์Œ | ๋ถ€ํŠธ ์‹œ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๊ณ  ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก gateway ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•ด ์—ญํ• ์— `CREATE` ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜์„ธ์š” |374| ๋ถ€ํŠธ๊ฐ€ Postgres ๊ถŒํ•œ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒ๋จ | ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ญํ• ์ด ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•œ DDL ๊ถŒํ•œ์ด ์—†์Œ | ๋ถ€ํŠธ ์‹œ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๊ณ  ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก gateway ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•ด ์—ญํ• ์— `CREATE` ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜์„ธ์š” |

375| ๋กœ๊ทธ: `could not connect to Postgres at boot, attempt 1 of 3` | gateway๊ฐ€ ์‹œ์ž‘๋  ๋•Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋„๋‹ฌํ•  ์ˆ˜ ์—†์—ˆ์Œ. ์˜ˆ๋ฅผ ๋“ค์–ด ๋„คํŠธ์›Œํฌ๊ฐ€ ์•„์ง ์‹œ์ž‘ ์ค‘์ธ ์ฝœ๋“œ ์ธ์Šคํ„ด์Šค | gateway๊ฐ€ ๋ถ€ํŒ…์„ ์™„๋ฃŒํ•˜๋ฉด ์กฐ์น˜๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋„๋‹ฌํ•  ์ˆ˜ ์—†์„ ๋•Œ gateway๋Š” ์ข…๋ฃŒ๋˜๊ธฐ ์ „์— 2์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ ์—ฐ๊ฒฐ์„ 3๋ฒˆ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. `could not connect to Postgres`๋กœ ์ข…๋ฃŒ๋˜๋ฉด `store.postgres_url`๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ์˜ ๋„คํŠธ์›Œํฌ ๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•˜์„ธ์š”. ์‹œ๋„๊ฐ€ ๊ฑฐ๋ถ€๋˜์ง€ ์•Š๊ณ  ์‹œ๊ฐ„ ์ดˆ๊ณผ๋˜๋ฉด ๊ฐ ์‹œ๋„์— ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ์ฃผ๊ธฐ ์œ„ํ•ด [`store.connect_timeout_seconds`](/docs/ko/claude-apps-gateway-config#store)๋ฅผ ๋†’์ด์„ธ์š”. |

306| `/oauth/callback`์ด "Sign-in could not be completed"๋ฅผ ํ‘œ์‹œํ•จ | ์ด๋ฉ”์ผ ๋„๋ฉ”์ธ์ด ๊ฑฐ๋ถ€๋จ, id\_token ๊ฒ€์ฆ ์‹คํŒจ, ๋˜๋Š” `email_verified`๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ `false`์ด๋ฉฐ gateway๋Š” ํ•ญ์ƒ ์žฌ์ •์˜ ์—†์ด ๊ฑฐ๋ถ€ํ•จ | `allowed_email_domains`์„ ํ™•์ธํ•˜๊ณ  IdP๊ฐ€ ํ™•์ธ๋œ `email` ํด๋ ˆ์ž„์„ ๋ฐ˜ํ™˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. `email_verified: false`์˜ ๊ฒฝ์šฐ IdP ์ธก ๊ฒ€์ฆ์„ ์ˆ˜์ •ํ•˜์„ธ์š”. IdP๊ฐ€ ๋‹ค๋ฅธ ํด๋ ˆ์ž„ ์ด๋ฆ„ ์•„๋ž˜์—์„œ ์ด๋ฉ”์ผ์„ ๋‚ด๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ `oidc.email_claim`์„ ์„ค์ •ํ•˜์„ธ์š”. |376| `/oauth/callback`์ด "Sign-in could not be completed"๋ฅผ ํ‘œ์‹œํ•จ | ์ด๋ฉ”์ผ ๋„๋ฉ”์ธ์ด ๊ฑฐ๋ถ€๋จ, id\_token ๊ฒ€์ฆ ์‹คํŒจ, ๋˜๋Š” `email_verified`๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ `false`์ด๋ฉฐ gateway๋Š” ํ•ญ์ƒ ์žฌ์ •์˜ ์—†์ด ๊ฑฐ๋ถ€ํ•จ | `allowed_email_domains`์„ ํ™•์ธํ•˜๊ณ  IdP๊ฐ€ ํ™•์ธ๋œ `email` ํด๋ ˆ์ž„์„ ๋ฐ˜ํ™˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. `email_verified: false`์˜ ๊ฒฝ์šฐ IdP ์ธก ๊ฒ€์ฆ์„ ์ˆ˜์ •ํ•˜์„ธ์š”. IdP๊ฐ€ ๋‹ค๋ฅธ ํด๋ ˆ์ž„ ์ด๋ฆ„ ์•„๋ž˜์—์„œ ์ด๋ฉ”์ผ์„ ๋‚ด๋ณด๋‚ด๋Š” ๊ฒฝ์šฐ `oidc.email_claim`์„ ์„ค์ •ํ•˜์„ธ์š”. |

307| ๋กœ๊ทธ: `token exchange failed request_id=<id>: id_token missing email claim` | IdP๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ id\_token์— `email`์„ ํฌํ•จํ•˜์ง€ ์•Š์Œ. ์ด ๊ฑฐ๋ถ€๋Š” `allowed_email_domains`์ด ์„ค์ •๋œ ๊ฒฝ์šฐ์—๋งŒ ๋ฐœ์ƒํ•จ. ์—†์œผ๋ฉด ๋ˆ„๋ฝ๋œ ์ด๋ฉ”์ผ์ด ์ด๋ฉ”์ผ ์—†์ด ์„ธ์…˜์„ ๋ฐœํ–‰ํ•จ | IdP๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ id\_token์— `email`์„ ๋‚ด๋ณด๋‚ด๋„๋ก ํ•˜์„ธ์š”. Okta: ์‚ฌ์šฉ์ž ์ •์˜ ๊ถŒํ•œ ๋ถ€์—ฌ ์„œ๋ฒ„์˜ ID ํ† ํฐ ํด๋ ˆ์ž„์— `email`์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”. Entra: ์•ฑ ๋“ฑ๋ก์—์„œ `email`์„ ์„ ํƒ์  ํด๋ ˆ์ž„์œผ๋กœ ์ถ”๊ฐ€ํ•˜์„ธ์š”. PingFederate: `email`์„ ๋‚ด๋ณด๋‚ด๋Š” OpenID Connect ์ •์ฑ…์„ ํ™œ์„ฑํ™”ํ•˜์„ธ์š”. IdP๊ฐ€ userinfo ์—”๋“œํฌ์ธํŠธ์—์„œ `email`์„ ์ œ๊ณตํ•˜์ง€๋งŒ id\_token์— ํฌํ•จํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ(์˜ˆ: Okta org ๊ถŒํ•œ ๋ถ€์—ฌ ์„œ๋ฒ„) `oidc.userinfo_fallback: true`๋ฅผ ์„ค์ •ํ•˜์„ธ์š”. |377| ๋กœ๊ทธ: `token exchange failed request_id=<id>: id_token missing email claim` | IdP๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ id\_token์— `email`์„ ํฌํ•จํ•˜์ง€ ์•Š์Œ. ์ด ๊ฑฐ๋ถ€๋Š” `allowed_email_domains`์ด ์„ค์ •๋œ ๊ฒฝ์šฐ์—๋งŒ ๋ฐœ์ƒํ•จ. ์—†์œผ๋ฉด ๋ˆ„๋ฝ๋œ ์ด๋ฉ”์ผ์ด ์ด๋ฉ”์ผ ์—†์ด ์„ธ์…˜์„ ๋ฐœํ–‰ํ•จ | IdP๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ id\_token์— `email`์„ ๋‚ด๋ณด๋‚ด๋„๋ก ํ•˜์„ธ์š”. Okta: ์‚ฌ์šฉ์ž ์ •์˜ ๊ถŒํ•œ ๋ถ€์—ฌ ์„œ๋ฒ„์˜ ID ํ† ํฐ ํด๋ ˆ์ž„์— `email`์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”. Entra: ์•ฑ ๋“ฑ๋ก์—์„œ `email`์„ ์„ ํƒ์  ํด๋ ˆ์ž„์œผ๋กœ ์ถ”๊ฐ€ํ•˜์„ธ์š”. PingFederate: `email`์„ ๋‚ด๋ณด๋‚ด๋Š” OpenID Connect ์ •์ฑ…์„ ํ™œ์„ฑํ™”ํ•˜์„ธ์š”. IdP๊ฐ€ userinfo ์—”๋“œํฌ์ธํŠธ์—์„œ `email`์„ ์ œ๊ณตํ•˜์ง€๋งŒ id\_token์— ํฌํ•จํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ(์˜ˆ: Okta org ๊ถŒํ•œ ๋ถ€์—ฌ ์„œ๋ฒ„) `oidc.userinfo_fallback: true`๋ฅผ ์„ค์ •ํ•˜์„ธ์š”. |

308| ๋กœ๊ทธ: `refresh failed request_id=<id>: invalid_token (โ€ฆ) (at userinfo_no_id_token, โ€ฆ)`, ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งค `session.ttl_hours`๋งˆ๋‹ค `Cloud gateway session expired`๋ฅผ ๋ด„ | IdP๊ฐ€ ์ƒˆ๋กœ ๊ณ ์นจ ํ† ํฐ์„ ์ˆ˜๋ฝํ–ˆ์ง€๋งŒ ํ•จ๊ป˜ id\_token์„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ gateway๊ฐ€ IdP์˜ userinfo ์—”๋“œํฌ์ธํŠธ์— ์‚ฌ์šฉ์ž์˜ ํด๋ ˆ์ž„์„ ์š”์ฒญํ–ˆ์Šต๋‹ˆ๋‹ค. IdP๊ฐ€ ์ƒˆ๋กœ ๊ณ ์ณ์ง„ ์•ก์„ธ์Šค ํ† ํฐ์„ ๊ฑฐ๊ธฐ์„œ ๊ฑฐ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. gateway๊ฐ€ `temporarily_unavailable`์œผ๋กœ ์‘๋‹ตํ•˜๋ฏ€๋กœ Claude Code๋Š” ์ƒˆ๋กœ ๊ณ ์นจ ํ† ํฐ์„ ์œ ์ง€ํ•˜์ง€๋งŒ ์„ธ์…˜์„ ๊ฐฑ์‹ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. v2.1.260 ์ด์ „์˜ gateway ๋ฒ„์ „์€ `(at โ€ฆ)` ์„ธ๋ถ€ ์ •๋ณด ์—†์ด ๋™์ผํ•œ ์ค„์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. | [`oidc.scope_on_refresh: true`](/docs/ko/claude-apps-gateway-config#oidc)๋ฅผ ์„ค์ •ํ•˜์„ธ์š”. gateway v2.1.260 ์ด์ƒ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ์ƒˆ๋กœ ๊ณ ์นจ ์š”์ฒญ์ด `openid`๋ฅผ ๋‹ค์‹œ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. Okta์™€ ๊ฐ™์€ ์ผ๋ถ€ IdP๋Š” ์š”์ฒญํ•  ๋•Œ๋งŒ ์ƒˆ๋กœ ๊ณ ์นจ ์‹œ id\_token์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. PingFederate์—์„œ๋Š” ๋Œ€์‹  **Applications > OAuth > OpenID Connect Policy Management** ์•„๋ž˜์—์„œ **Return ID Token On Refresh Grant**๋ฅผ ํ™œ์„ฑํ™”ํ•˜์„ธ์š”. ํ‚ค๋Š” PingFederate์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ์ƒ๋žตํ•˜๋Š” ๋‹ค๋ฅธ IdP์˜ ๊ฒฝ์šฐ userinfo ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์ƒˆ๋กœ ๊ณ ์นจ์œผ๋กœ ๋ฐœ๊ธ‰๋œ ์•ก์„ธ์Šค ํ† ํฐ์„ ์ˆ˜๋ฝํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ์ž„์‹œ ๋ฐฉํŽธ์œผ๋กœ [`session.ttl_hours`](/docs/ko/claude-apps-gateway-config#session)๋ฅผ ๋†’์ด์„ธ์š”. ํ”„๋กœ๋น„์ €๋‹ ํ•ด์ œ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋Š” [Identity provider setup](#identity-provider-setup)์„ ์ฐธ์กฐํ•˜์„ธ์š”. |378| ๋กœ๊ทธ: `refresh failed request_id=<id>: invalid_token (โ€ฆ) (at userinfo_no_id_token, โ€ฆ)`, ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งค `session.ttl_hours`๋งˆ๋‹ค `Cloud gateway session expired`๋ฅผ ๋ด„ | IdP๊ฐ€ ์ƒˆ๋กœ ๊ณ ์นจ ํ† ํฐ์„ ์ˆ˜๋ฝํ–ˆ์ง€๋งŒ ํ•จ๊ป˜ id\_token์„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ gateway๊ฐ€ IdP์˜ userinfo ์—”๋“œํฌ์ธํŠธ์— ์‚ฌ์šฉ์ž์˜ ํด๋ ˆ์ž„์„ ์š”์ฒญํ–ˆ์Šต๋‹ˆ๋‹ค. IdP๊ฐ€ ์ƒˆ๋กœ ๊ณ ์ณ์ง„ ์•ก์„ธ์Šค ํ† ํฐ์„ ๊ฑฐ๊ธฐ์„œ ๊ฑฐ๋ถ€ํ–ˆ์Šต๋‹ˆ๋‹ค. gateway๊ฐ€ `temporarily_unavailable`์œผ๋กœ ์‘๋‹ตํ•˜๋ฏ€๋กœ Claude Code๋Š” ์ƒˆ๋กœ ๊ณ ์นจ ํ† ํฐ์„ ์œ ์ง€ํ•˜์ง€๋งŒ ์„ธ์…˜์„ ๊ฐฑ์‹ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. v2.1.260 ์ด์ „์˜ gateway ๋ฒ„์ „์€ `(at โ€ฆ)` ์„ธ๋ถ€ ์ •๋ณด ์—†์ด ๋™์ผํ•œ ์ค„์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. | [`oidc.scope_on_refresh: true`](/docs/ko/claude-apps-gateway-config#oidc)๋ฅผ ์„ค์ •ํ•˜์„ธ์š”. gateway v2.1.260 ์ด์ƒ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ์ƒˆ๋กœ ๊ณ ์นจ ์š”์ฒญ์ด `openid`๋ฅผ ๋‹ค์‹œ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. Okta์™€ ๊ฐ™์€ ์ผ๋ถ€ IdP๋Š” ์š”์ฒญํ•  ๋•Œ๋งŒ ์ƒˆ๋กœ ๊ณ ์นจ ์‹œ id\_token์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. PingFederate์—์„œ๋Š” ๋Œ€์‹  **Applications > OAuth > OpenID Connect Policy Management** ์•„๋ž˜์—์„œ **Return ID Token On Refresh Grant**๋ฅผ ํ™œ์„ฑํ™”ํ•˜์„ธ์š”. ํ‚ค๋Š” PingFederate์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ์ƒ๋žตํ•˜๋Š” ๋‹ค๋ฅธ IdP์˜ ๊ฒฝ์šฐ userinfo ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์ƒˆ๋กœ ๊ณ ์นจ์œผ๋กœ ๋ฐœ๊ธ‰๋œ ์•ก์„ธ์Šค ํ† ํฐ์„ ์ˆ˜๋ฝํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ์ž„์‹œ ๋ฐฉํŽธ์œผ๋กœ [`session.ttl_hours`](/docs/ko/claude-apps-gateway-config#session)๋ฅผ ๋†’์ด์„ธ์š”. ํ”„๋กœ๋น„์ €๋‹ ํ•ด์ œ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋Š” [Identity provider setup](#identity-provider-setup)์„ ์ฐธ์กฐํ•˜์„ธ์š”. |

309| ๋ชจ๋“  Amazon Bedrock ์š”์ฒญ์ด 502๋ฅผ ๋ฐ˜ํ™˜ํ•จ. ๋กœ๊ทธ๊ฐ€ `Could not load credentials from any providers`๋ฅผ ํ‘œ์‹œํ•จ | EC2์—์„œ IMDSv2์˜ ๊ธฐ๋ณธ ํ™‰ ์ œํ•œ 1์ด ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์˜ ์ธ์Šคํ„ด์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์š”์ฒญ์„ ์ฐจ๋‹จํ•จ. ๋ถ€ํŠธ ๋ฐ `/readyz`๋Š” AWS SDK๊ฐ€ ํด๋ผ์ด์–ธํŠธ ๊ตฌ์„ฑ์ด ์•„๋‹Œ ์ฒซ ๋ฒˆ์งธ ์š”์ฒญ์—์„œ ์ธ์Šคํ„ด์Šค ์ž๊ฒฉ ์ฆ๋ช…์„ ํ™•์ธํ•˜๋ฏ€๋กœ ์–ด์จŒ๋“  ํ†ต๊ณผํ•จ | `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`๋กœ ํ™‰ ์ œํ•œ์„ ๋†’์ด๊ฑฐ๋‚˜ ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ์—์„œ ์„ค์ •ํ•˜์„ธ์š”. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ธ์Šคํ„ด์Šค์˜ ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ECS ์ž‘์—… ์—ญํ• ์„ ์„ ํ˜ธํ•˜์„ธ์š”. ์ด๋Š” ECS ์ปจํ…Œ์ด๋„ˆ ์ž๊ฒฉ ์ฆ๋ช… ์—”๋“œํฌ์ธํŠธ์—์„œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ฝ๊ณ  ๋ณ€๊ฒฝ์„ ์™„์ „ํžˆ ํ”ผํ•˜๊ฑฐ๋‚˜, ๋…ธ์ถœ์„ ์ œํ•œํ•˜๊ธฐ ์œ„ํ•ด ์ „์šฉ gateway ์ธ์Šคํ„ด์Šค์— ๋ณ€๊ฒฝ์„ ์ ์šฉํ•˜์„ธ์š”. |379| ๋ชจ๋“  Amazon Bedrock ์š”์ฒญ์ด 502๋ฅผ ๋ฐ˜ํ™˜ํ•จ. ๋กœ๊ทธ๊ฐ€ `Could not load credentials from any providers`๋ฅผ ํ‘œ์‹œํ•จ | EC2์—์„œ IMDSv2์˜ ๊ธฐ๋ณธ ํ™‰ ์ œํ•œ 1์ด ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์˜ ์ธ์Šคํ„ด์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์š”์ฒญ์„ ์ฐจ๋‹จํ•จ. ๋ถ€ํŠธ ๋ฐ `/readyz`๋Š” AWS SDK๊ฐ€ ํด๋ผ์ด์–ธํŠธ ๊ตฌ์„ฑ์ด ์•„๋‹Œ ์ฒซ ๋ฒˆ์งธ ์š”์ฒญ์—์„œ ์ธ์Šคํ„ด์Šค ์ž๊ฒฉ ์ฆ๋ช…์„ ํ™•์ธํ•˜๋ฏ€๋กœ ์–ด์จŒ๋“  ํ†ต๊ณผํ•จ | `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`๋กœ ํ™‰ ์ œํ•œ์„ ๋†’์ด๊ฑฐ๋‚˜ ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ์—์„œ ์„ค์ •ํ•˜์„ธ์š”. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ธ์Šคํ„ด์Šค์˜ ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ECS ์ž‘์—… ์—ญํ• ์„ ์„ ํ˜ธํ•˜์„ธ์š”. ์ด๋Š” ECS ์ปจํ…Œ์ด๋„ˆ ์ž๊ฒฉ ์ฆ๋ช… ์—”๋“œํฌ์ธํŠธ์—์„œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ฝ๊ณ  ๋ณ€๊ฒฝ์„ ์™„์ „ํžˆ ํ”ผํ•˜๊ฑฐ๋‚˜, ๋…ธ์ถœ์„ ์ œํ•œํ•˜๊ธฐ ์œ„ํ•ด ์ „์šฉ gateway ์ธ์Šคํ„ด์Šค์— ๋ณ€๊ฒฝ์„ ์ ์šฉํ•˜์„ธ์š”. |

380| ํ”ผํฌ ๋กœ๋“œ์—์„œ ์‘๋‹ต์ด ์‹œ์ž‘๋˜๊ธฐ ๋А๋ฆฌ๊ฑฐ๋‚˜ ์ค‘๋‹จ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฑฐ๋‚˜, ์—…์ŠคํŠธ๋ฆผ์ด ์ •์ƒ์ธ๋ฐ๋„ 502 `all upstreams failed`๋กœ ์‹คํŒจํ•จ | ๋ณต์ œ๋ณธ์ด ์—…์ŠคํŠธ๋ฆผ์œผ๋กœ ํ•œ ๋ฒˆ์— ๋ณด๋‚ด๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ์š”์ฒญ์„ ์—ด์–ด ๋‘์—ˆ์œผ๋ฏ€๋กœ ์ถ”๊ฐ€ ์š”์ฒญ์€ gateway ๋‚ด๋ถ€์—์„œ ๋Œ€๊ธฐํ•จ. `provider: anthropic` ์—…์ŠคํŠธ๋ฆผ์—์„œ `timeouts.upstream_ttfb_ms`๋ณด๋‹ค ์˜ค๋ž˜ ๋Œ€๊ธฐํ•˜๋Š” ์š”์ฒญ์€ ํ•ด๋‹น ์—…์ŠคํŠธ๋ฆผ์„ ํฌ๊ธฐํ•˜๋ฉฐ, ์ดํ›„ ์—…์ŠคํŠธ๋ฆผ์ด ์ œ๊ณตํ•˜์ง€ ์•Š์œผ๋ฉด 502๋ฅผ ์ƒ์„ฑํ•จ. ๋กœ๊ทธ๋Š” `client requests are open`์„ ํฌํ•จํ•˜๋Š” ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•จ. | ๋ณต์ œ๋ณธ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ฐ ๋ณต์ œ๋ณธ์˜ ์ œํ•œ์„ ๋†’์ด์„ธ์š”. [๋™์‹œ ์—…์ŠคํŠธ๋ฆผ ์š”์ฒญ](#concurrent-upstream-requests)์„ ์ฐธ์กฐํ•˜์„ธ์š”. |

310| IdP ์˜ค๋ฅ˜: unknown or unsupported scope | IdP๊ฐ€ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฒ”์œ„๋ฅผ ๊ฑฐ๋ถ€ํ•จ | `oidc.scopes`๋ฅผ ์ •ํ™•ํžˆ IdP๊ฐ€ ์ˆ˜๋ฝํ•˜๋Š” ๋ชฉ๋ก์œผ๋กœ ์„ค์ •ํ•˜์„ธ์š”. `openid`๋ฅผ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ `openid profile email offline_access`์ž…๋‹ˆ๋‹ค. |381| IdP ์˜ค๋ฅ˜: unknown or unsupported scope | IdP๊ฐ€ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฒ”์œ„๋ฅผ ๊ฑฐ๋ถ€ํ•จ | `oidc.scopes`๋ฅผ ์ •ํ™•ํžˆ IdP๊ฐ€ ์ˆ˜๋ฝํ•˜๋Š” ๋ชฉ๋ก์œผ๋กœ ์„ค์ •ํ•˜์„ธ์š”. `openid`๋ฅผ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ `openid profile email offline_access`์ž…๋‹ˆ๋‹ค. |

311| `oidc.scopes` ์„ค์ • ํ›„ ์„ธ์…˜์ด ์ž๋™์œผ๋กœ ๊ฐฑ์‹ ๋˜์ง€ ์•Š์Œ | `offline_access`๊ฐ€ ์žฌ์ •์˜์—์„œ ์‚ญ์ œ๋จ | IdP๊ฐ€ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ `offline_access`๋ฅผ ๋‹ค์‹œ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ์ƒˆ๋กœ ๊ณ ์นจ ํ† ํฐ ์—†์ด ๊ฐœ๋ฐœ์ž๋Š” ๋งค `session.ttl_hours`๋งˆ๋‹ค ๋ธŒ๋ผ์šฐ์ € ๋กœ๊ทธ์ธ์„ ๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. |382| `oidc.scopes` ์„ค์ • ํ›„ ์„ธ์…˜์ด ์ž๋™์œผ๋กœ ๊ฐฑ์‹ ๋˜์ง€ ์•Š์Œ | `offline_access`๊ฐ€ ์žฌ์ •์˜์—์„œ ์‚ญ์ œ๋จ | IdP๊ฐ€ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ `offline_access`๋ฅผ ๋‹ค์‹œ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ์ƒˆ๋กœ ๊ณ ์นจ ํ† ํฐ ์—†์ด ๊ฐœ๋ฐœ์ž๋Š” ๋งค `session.ttl_hours`๋งˆ๋‹ค ๋ธŒ๋ผ์šฐ์ € ๋กœ๊ทธ์ธ์„ ๋‹ค์‹œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. |

312| ๋ธŒ๋ผ์šฐ์ €๊ฐ€ "This request came from another site and was blocked"๋ฅผ ํ‘œ์‹œํ•จ | ๊ต์ฐจ ์‚ฌ์ดํŠธ ์–‘์‹ POST, CSRF ๋ณดํ˜ธ๋กœ ์ฐจ๋‹จ๋จ. ํฌํ•จ๋˜๊ฑฐ๋‚˜ ํ”„๋ก์‹œ๋œ ํŽ˜์ด์ง€์˜ ๊ฒฝ์šฐ ์˜ˆ์ƒ๋จ | ๊ฒ€์ฆ ๋งํฌ๋ฅผ ์ง์ ‘ ์—ด๊ธฐ |383| ๋ธŒ๋ผ์šฐ์ €๊ฐ€ "This request came from another site and was blocked"๋ฅผ ํ‘œ์‹œํ•จ | ๊ต์ฐจ ์‚ฌ์ดํŠธ ์–‘์‹ POST, CSRF ๋ณดํ˜ธ๋กœ ์ฐจ๋‹จ๋จ. ํฌํ•จ๋˜๊ฑฐ๋‚˜ ํ”„๋ก์‹œ๋œ ํŽ˜์ด์ง€์˜ ๊ฒฝ์šฐ ์˜ˆ์ƒ๋จ | ๊ฒ€์ฆ ๋งํฌ๋ฅผ ์ง์ ‘ ์—ด๊ธฐ |

Details

500| Bedrock ์š”์ฒญ์ด `403 AccessDeniedException`์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. | ๊ณ„์ •์ด Anthropic์˜ ์ผํšŒ์„ฑ ์‚ฌ์šฉ ์‚ฌ๋ก€ ์–‘์‹์„ ์ œ์ถœํ•˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜, ๊ณ„์ •์˜ ์ฒซ ํ˜ธ์ถœ์—์„œ ์‹œ์ž‘๋˜๋Š” ์ž๋™ AWS Marketplace ๊ตฌ๋…์ด ์•„์ง ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜, ์ž‘์—… ์—ญํ• ์˜ ์ •์ฑ…์ด ์ถ”๋ก  ํ”„๋กœํ•„ ๋˜๋Š” ๊ธฐ์ดˆ ๋ชจ๋ธ ARN์„ ๋ˆ„๋ฝํ–ˆ์Šต๋‹ˆ๋‹ค. | Bedrock ์ฝ˜์†”์˜ ๋ชจ๋ธ ์นดํƒˆ๋กœ๊ทธ์—์„œ ์‚ฌ์šฉ ์‚ฌ๋ก€ ์–‘์‹์„ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค. ๋ฐฉ๊ธˆ ์ œ์ถœ๋˜์—ˆ๊ฑฐ๋‚˜ ์ด๊ฒƒ์ด ๊ณ„์ •์˜ ์ฒซ ํ˜ธ์ถœ์ธ ๊ฒฝ์šฐ ๋ช‡ ๋ถ„ ํ›„์— ๋‹ค์‹œ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค. `bedrock:InvokeModel` ๋ฐ `bedrock:InvokeModelWithResponseStream`์„ ๋‘ ARN ํŒจ๋ฐ€๋ฆฌ์— ๋ถ€์—ฌํ•˜์‹ญ์‹œ์˜ค. |500| Bedrock ์š”์ฒญ์ด `403 AccessDeniedException`์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. | ๊ณ„์ •์ด Anthropic์˜ ์ผํšŒ์„ฑ ์‚ฌ์šฉ ์‚ฌ๋ก€ ์–‘์‹์„ ์ œ์ถœํ•˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜, ๊ณ„์ •์˜ ์ฒซ ํ˜ธ์ถœ์—์„œ ์‹œ์ž‘๋˜๋Š” ์ž๋™ AWS Marketplace ๊ตฌ๋…์ด ์•„์ง ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜, ์ž‘์—… ์—ญํ• ์˜ ์ •์ฑ…์ด ์ถ”๋ก  ํ”„๋กœํ•„ ๋˜๋Š” ๊ธฐ์ดˆ ๋ชจ๋ธ ARN์„ ๋ˆ„๋ฝํ–ˆ์Šต๋‹ˆ๋‹ค. | Bedrock ์ฝ˜์†”์˜ ๋ชจ๋ธ ์นดํƒˆ๋กœ๊ทธ์—์„œ ์‚ฌ์šฉ ์‚ฌ๋ก€ ์–‘์‹์„ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค. ๋ฐฉ๊ธˆ ์ œ์ถœ๋˜์—ˆ๊ฑฐ๋‚˜ ์ด๊ฒƒ์ด ๊ณ„์ •์˜ ์ฒซ ํ˜ธ์ถœ์ธ ๊ฒฝ์šฐ ๋ช‡ ๋ถ„ ํ›„์— ๋‹ค์‹œ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค. `bedrock:InvokeModel` ๋ฐ `bedrock:InvokeModelWithResponseStream`์„ ๋‘ ARN ํŒจ๋ฐ€๋ฆฌ์— ๋ถ€์—ฌํ•˜์‹ญ์‹œ์˜ค. |

501| Bedrock์ด ์˜จ๋””๋งจ๋“œ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ์ง€์›๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๋งํ•˜๋Š” `ValidationException`์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. | ์‚ฌ์šฉ์ž ์ •์˜ `models:` ํ•ญ๋ชฉ์ด ์ง€์—ญ์ด ์ถ”๋ก  ํ”„๋กœํ•„์„ ํ†ตํ•ด์„œ๋งŒ ์ œ๊ณตํ•˜๋Š” ์ผ๋ฐ˜ ๊ธฐ์ดˆ ๋ชจ๋ธ ID๋กœ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค. | ๋ชจ๋ธ์„ ๊ต์ฐจ ์ง€์—ญ ์ถ”๋ก  ํ”„๋กœํ•„ ID(`us.anthropic.*`)๋กœ ๋งคํ•‘ํ•˜์‹ญ์‹œ์˜ค. ๊ธฐ๋ณธ ์ œ๊ณต ์นดํƒˆ๋กœ๊ทธ๋Š” ์ด๋ฏธ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. |501| Bedrock์ด ์˜จ๋””๋งจ๋“œ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ์ง€์›๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๋งํ•˜๋Š” `ValidationException`์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. | ์‚ฌ์šฉ์ž ์ •์˜ `models:` ํ•ญ๋ชฉ์ด ์ง€์—ญ์ด ์ถ”๋ก  ํ”„๋กœํ•„์„ ํ†ตํ•ด์„œ๋งŒ ์ œ๊ณตํ•˜๋Š” ์ผ๋ฐ˜ ๊ธฐ์ดˆ ๋ชจ๋ธ ID๋กœ ๋งคํ•‘๋ฉ๋‹ˆ๋‹ค. | ๋ชจ๋ธ์„ ๊ต์ฐจ ์ง€์—ญ ์ถ”๋ก  ํ”„๋กœํ•„ ID(`us.anthropic.*`)๋กœ ๋งคํ•‘ํ•˜์‹ญ์‹œ์˜ค. ๊ธฐ๋ณธ ์ œ๊ณต ์นดํƒˆ๋กœ๊ทธ๋Š” ์ด๋ฏธ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. |

502| ECS ์ž‘์—…์ด ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์•„๋ฌด๊ฒƒ๋„ ๋กœ๊น…ํ•˜๊ธฐ ์ „์— `ResourceInitializationError`๋กœ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค. | ์‹คํ–‰ ์—ญํ• ์ด Secrets Manager ๋น„๋ฐ€์„ ์ฝ์„ ์ˆ˜ ์—†๊ฑฐ๋‚˜, ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์ด Secrets Manager ๋˜๋Š” ECR๋กœ์˜ ๊ฒฝ๋กœ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. | ์‹คํ–‰ ์—ญํ• ์— 3๊ฐœ์˜ `gateway-` ๋น„๋ฐ€ ARN์— ๋Œ€ํ•ด `secretsmanager:GetSecretValue`๋ฅผ ๋ถ€์—ฌํ•˜๊ณ , NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํ†ตํ•ด ์ด๊ทธ๋ ˆ์Šค๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜, ์—†์œผ๋ฉด Secrets Manager, ECR, CloudWatch Logs์— ๋Œ€ํ•œ ์ธํ„ฐํŽ˜์ด์Šค ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค. `awslogs` ๋“œ๋ผ์ด๋ฒ„๋Š” ๋™์ผํ•œ ๋‹จ๊ณ„์—์„œ ์ด๋“ค์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ S3 ๊ฒŒ์ดํŠธ์›จ์ด ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค. |502| ECS ์ž‘์—…์ด ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ ์•„๋ฌด๊ฒƒ๋„ ๋กœ๊น…ํ•˜๊ธฐ ์ „์— `ResourceInitializationError`๋กœ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค. | ์‹คํ–‰ ์—ญํ• ์ด Secrets Manager ๋น„๋ฐ€์„ ์ฝ์„ ์ˆ˜ ์—†๊ฑฐ๋‚˜, ํ”„๋ผ์ด๋น— ์„œ๋ธŒ๋„ท์ด Secrets Manager ๋˜๋Š” ECR๋กœ์˜ ๊ฒฝ๋กœ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. | ์‹คํ–‰ ์—ญํ• ์— 3๊ฐœ์˜ `gateway-` ๋น„๋ฐ€ ARN์— ๋Œ€ํ•ด `secretsmanager:GetSecretValue`๋ฅผ ๋ถ€์—ฌํ•˜๊ณ , NAT ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํ†ตํ•ด ์ด๊ทธ๋ ˆ์Šค๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜, ์—†์œผ๋ฉด Secrets Manager, ECR, CloudWatch Logs์— ๋Œ€ํ•œ ์ธํ„ฐํŽ˜์ด์Šค ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค. `awslogs` ๋“œ๋ผ์ด๋ฒ„๋Š” ๋™์ผํ•œ ๋‹จ๊ณ„์—์„œ ์ด๋“ค์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ S3 ๊ฒŒ์ดํŠธ์›จ์ด ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค. |

503| ๊ฒŒ์ดํŠธ์›จ์ด ๋ถ€ํŒ…์ด Postgres ์—ฐ๊ฒฐ ์‹œ๊ฐ„ ์ดˆ๊ณผ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. | ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณด์•ˆ ๊ทธ๋ฃน์ด 5432์—์„œ ๊ฒŒ์ดํŠธ์›จ์ด์˜ ๋ณด์•ˆ ๊ทธ๋ฃน์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ฑฐ๋‚˜, ์„œ๋น„์Šค๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ VPC ์™ธ๋ถ€์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ €์žฅ์†Œ๋Š” 5์ดˆ ํ›„ ๋Œ€๊ธฐ๋ฅผ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. | ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ณด์•ˆ ๊ทธ๋ฃน์—์„œ ๊ฒŒ์ดํŠธ์›จ์ด์˜ ๋ณด์•ˆ ๊ทธ๋ฃน์˜ 5432๋ฅผ ํ—ˆ์šฉํ•˜๊ณ , ์„œ๋น„์Šค๋ฅผ DB ์„œ๋ธŒ๋„ท ๊ทธ๋ฃน๊ณผ ๋™์ผํ•œ VPC์—์„œ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. |503| ๊ฒŒ์ดํŠธ์›จ์ด ๋ถ€ํŒ…์ด Postgres ์—ฐ๊ฒฐ ์‹œ๊ฐ„ ์ดˆ๊ณผ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. | ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณด์•ˆ ๊ทธ๋ฃน์ด 5432์—์„œ ๊ฒŒ์ดํŠธ์›จ์ด์˜ ๋ณด์•ˆ ๊ทธ๋ฃน์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ฑฐ๋‚˜, ์„œ๋น„์Šค๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ VPC ์™ธ๋ถ€์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. | ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ณด์•ˆ ๊ทธ๋ฃน์—์„œ ๊ฒŒ์ดํŠธ์›จ์ด์˜ ๋ณด์•ˆ ๊ทธ๋ฃน์˜ 5432๋ฅผ ํ—ˆ์šฉํ•˜๊ณ , ์„œ๋น„์Šค๋ฅผ DB ์„œ๋ธŒ๋„ท ๊ทธ๋ฃน๊ณผ ๋™์ผํ•œ VPC์—์„œ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. |

504| ๊ฒŒ์ดํŠธ์›จ์ด ๋ถ€ํŒ…์ด Postgres TLS ์ธ์ฆ์„œ ํ™•์ธ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. | ์—ฐ๊ฒฐ ๋ฌธ์ž์—ด์ด `sslmode=verify-full`์„ ์„ค์ •ํ•˜์ง€๋งŒ ์ด๋ฏธ์ง€๊ฐ€ RDS CA ๋ฒˆ๋“ค์„ ์‹ ๋ขฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค: ๋ฒˆ๋“ค์ด ์ด๋ฏธ์ง€์— ๋ณต์‚ฌ๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ `NODE_EXTRA_CA_CERTS`๊ฐ€ ์ด๋ฅผ ๊ฐ€๋ฆฌํ‚ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. | ๋ฒˆ๋“ค์„ ๋ณต์‚ฌํ•˜๊ณ  `NODE_EXTRA_CA_CERTS`๋ฅผ ์„ค์ •ํ•˜๋Š” ๋นŒ๋“œ ๋‹จ๊ณ„์˜ 2๊ฐœ Dockerfile ์ค„์„ ์ถ”๊ฐ€ํ•˜๊ณ , ๋‹ค์‹œ ๋นŒ๋“œํ•˜๊ณ , ์ƒˆ ํƒœ๊ทธ ์•„๋ž˜์—์„œ ํ‘ธ์‹œํ•˜๊ณ , ๋‹ค์‹œ ๋ฐฐํฌํ•˜์‹ญ์‹œ์˜ค. |504| ๊ฒŒ์ดํŠธ์›จ์ด ๋ถ€ํŒ…์ด Postgres TLS ์ธ์ฆ์„œ ํ™•์ธ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. | ์—ฐ๊ฒฐ ๋ฌธ์ž์—ด์ด `sslmode=verify-full`์„ ์„ค์ •ํ•˜์ง€๋งŒ ์ด๋ฏธ์ง€๊ฐ€ RDS CA ๋ฒˆ๋“ค์„ ์‹ ๋ขฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค: ๋ฒˆ๋“ค์ด ์ด๋ฏธ์ง€์— ๋ณต์‚ฌ๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ `NODE_EXTRA_CA_CERTS`๊ฐ€ ์ด๋ฅผ ๊ฐ€๋ฆฌํ‚ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. | ๋ฒˆ๋“ค์„ ๋ณต์‚ฌํ•˜๊ณ  `NODE_EXTRA_CA_CERTS`๋ฅผ ์„ค์ •ํ•˜๋Š” ๋นŒ๋“œ ๋‹จ๊ณ„์˜ 2๊ฐœ Dockerfile ์ค„์„ ์ถ”๊ฐ€ํ•˜๊ณ , ๋‹ค์‹œ ๋นŒ๋“œํ•˜๊ณ , ์ƒˆ ํƒœ๊ทธ ์•„๋ž˜์—์„œ ํ‘ธ์‹œํ•˜๊ณ , ๋‹ค์‹œ ๋ฐฐํฌํ•˜์‹ญ์‹œ์˜ค. |

505| ์ŠคํŠธ๋ฆฌ๋ฐ ์‘๋‹ต์ด ์กฐ์šฉํ•œ ๊ธฐ๊ฐ„ ํ›„ ์ค‘๊ฐ„์— ๋–จ์–ด์ง‘๋‹ˆ๋‹ค. | v2.1.229๋ณด๋‹ค ์˜ค๋ž˜๋œ ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ Bedrock ๋˜๋Š” AWS ์—…์ŠคํŠธ๋ฆผ์˜ Claude Platform์—์„œ ์—…์ŠคํŠธ๋ฆผ์ด ์กฐ์šฉํ•  ๋•Œ ์•„๋ฌด๊ฒƒ๋„ ๋ณด๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ŠคํŠธ๋ฆฌ๋ฐ๋œ ์ถœ๋ ฅ์ด ์—†๋Š” ํ™•์žฅ ์‚ฌ๊ณ  ์ค‘์ž…๋‹ˆ๋‹ค. ALB๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 60์ดˆ ๋™์•ˆ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋Š” ์—ฐ๊ฒฐ์„ ๋‹ซ์œผ๋ฏ€๋กœ ๊ทธ ๊ฐ„๊ฒฉ์—์„œ ์ŠคํŠธ๋ฆผ์„ ์ž๋ฆ…๋‹ˆ๋‹ค. v2.1.229 ์ด์ƒ์˜ ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ์กฐ์šฉํ•œ ์ŠคํŠธ๋ฆผ์„ ํ•ด๋‹น ์‹œ๊ฐ„ ์ดˆ๊ณผ ์•„๋ž˜์—์„œ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค: ์ด๋Ÿฌํ•œ ์—…์ŠคํŠธ๋ฆผ์—์„œ ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ์ŠคํŠธ๋ฆผ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋Š” ์•ฝ 15์ดˆ๊ฐ€ ์ง€๋‚˜๋ฉด SSE `ping` ์ด๋ฒคํŠธ๋ฅผ ํ•œ ๋ฒˆ ๋‚ด๋ณด๋‚ด๊ณ , Anthropic API ์—…์ŠคํŠธ๋ฆผ์—์„œ๋Š” API ์ž์ฒด์˜ ํ•‘์„ ์ค‘๊ณ„ํ•ฉ๋‹ˆ๋‹ค. | ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ v2.1.229 ์ด์ƒ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜, `idle_timeout.timeout_seconds` ์†์„ฑ์„ `3600`์œผ๋กœ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค. `modify-load-balancer-attributes`๋ฅผ ํ†ตํ•ด ๋˜๋Š” EKS์˜ `load-balancer-attributes` Ingress ์ฃผ์„์„ ํ†ตํ•ด ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค. |505| ์ŠคํŠธ๋ฆฌ๋ฐ ์‘๋‹ต์ด ์กฐ์šฉํ•œ ๊ธฐ๊ฐ„ ํ›„ ์ค‘๊ฐ„์— ๋–จ์–ด์ง‘๋‹ˆ๋‹ค. | v2.1.229๋ณด๋‹ค ์˜ค๋ž˜๋œ ๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ Bedrock ๋˜๋Š” AWS ์—…์ŠคํŠธ๋ฆผ์˜ Claude Platform์—์„œ ์—…์ŠคํŠธ๋ฆผ์ด ์กฐ์šฉํ•  ๋•Œ ์•„๋ฌด๊ฒƒ๋„ ๋ณด๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ŠคํŠธ๋ฆฌ๋ฐ๋œ ์ถœ๋ ฅ์ด ์—†๋Š” ํ™•์žฅ ์‚ฌ๊ณ  ์ค‘์ž…๋‹ˆ๋‹ค. ALB๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 60์ดˆ ๋™์•ˆ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋Š” ์—ฐ๊ฒฐ์„ ๋‹ซ์œผ๋ฏ€๋กœ ๊ทธ ๊ฐ„๊ฒฉ์—์„œ ์ŠคํŠธ๋ฆผ์„ ์ž๋ฆ…๋‹ˆ๋‹ค. v2.1.229 ์ด์ƒ์˜ ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ์กฐ์šฉํ•œ ์ŠคํŠธ๋ฆผ์„ ํ•ด๋‹น ์‹œ๊ฐ„ ์ดˆ๊ณผ ์•„๋ž˜์—์„œ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค: ์ด๋Ÿฌํ•œ ์—…์ŠคํŠธ๋ฆผ์—์„œ ๊ฒŒ์ดํŠธ์›จ์ด๋Š” ์ŠคํŠธ๋ฆผ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋Š” ์•ฝ 15์ดˆ๊ฐ€ ์ง€๋‚˜๋ฉด SSE `ping` ์ด๋ฒคํŠธ๋ฅผ ํ•œ ๋ฒˆ ๋‚ด๋ณด๋‚ด๊ณ , Anthropic API ์—…์ŠคํŠธ๋ฆผ์—์„œ๋Š” API ์ž์ฒด์˜ ํ•‘์„ ์ค‘๊ณ„ํ•ฉ๋‹ˆ๋‹ค. | ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ v2.1.229 ์ด์ƒ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜, `idle_timeout.timeout_seconds` ์†์„ฑ์„ `3600`์œผ๋กœ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค. `modify-load-balancer-attributes`๋ฅผ ํ†ตํ•ด ๋˜๋Š” EKS์˜ `load-balancer-attributes` Ingress ์ฃผ์„์„ ํ†ตํ•ด ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค. |

506 506 

Details

318| Cloud Run์ด ์ปจํ…Œ์ด๋„ˆ์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— `403 Forbidden`์„ ๋ฐ˜ํ™˜ | invoker IAM ํ™•์ธ์ด ์—ฌ์ „ํžˆ ํ™œ์„ฑํ™”๋จ | `--no-invoker-iam-check`๋กœ ๋ฐฐํฌํ•˜๊ฑฐ๋‚˜ `--allow-unauthenticated`๋กœ `allUsers`์— `run.invoker` ์—ญํ• ์„ ๋ถ€์—ฌ |318| Cloud Run์ด ์ปจํ…Œ์ด๋„ˆ์— ๋„๋‹ฌํ•˜๊ธฐ ์ „์— `403 Forbidden`์„ ๋ฐ˜ํ™˜ | invoker IAM ํ™•์ธ์ด ์—ฌ์ „ํžˆ ํ™œ์„ฑํ™”๋จ | `--no-invoker-iam-check`๋กœ ๋ฐฐํฌํ•˜๊ฑฐ๋‚˜ `--allow-unauthenticated`๋กœ `allUsers`์— `run.invoker` ์—ญํ• ์„ ๋ถ€์—ฌ |

319| `--no-invoker-iam-check`๊ฐ€ `invoker_iam_disabled is not currently available`๋กœ ๊ฑฐ๋ถ€๋จ | `constraints/run.managed.requireInvokerIam`์— ์˜ํ•ด ์ฐจ๋‹จ๋จ | `--allow-unauthenticated`๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. `constraints/iam.allowedPolicyMemberDomains`๋ฅผ ํ†ตํ•œ Domain Restricted Sharing๋„ ์ฐจ๋‹จํ•˜๋ฉด GKE ํŠธ๋ž™์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ด๋Š” `allUsers` ๋ฐ”์ธ๋”ฉ ์—†์ด ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์—์„œ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๋…ธ์ถœํ•ฉ๋‹ˆ๋‹ค. |319| `--no-invoker-iam-check`๊ฐ€ `invoker_iam_disabled is not currently available`๋กœ ๊ฑฐ๋ถ€๋จ | `constraints/run.managed.requireInvokerIam`์— ์˜ํ•ด ์ฐจ๋‹จ๋จ | `--allow-unauthenticated`๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. `constraints/iam.allowedPolicyMemberDomains`๋ฅผ ํ†ตํ•œ Domain Restricted Sharing๋„ ์ฐจ๋‹จํ•˜๋ฉด GKE ํŠธ๋ž™์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ด๋Š” `allUsers` ๋ฐ”์ธ๋”ฉ ์—†์ด ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์—์„œ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๋…ธ์ถœํ•ฉ๋‹ˆ๋‹ค. |

320| ๋ฐฐํฌ ์‹œ `Container manifest type โ€ฆ must support amd64/linux` | ์ด๋ฏธ์ง€๊ฐ€ ๋น„ amd64 ํ˜ธ์ŠคํŠธ์—์„œ ๋นŒ๋“œ๋˜์—ˆ๊ฑฐ๋‚˜ buildx๊ฐ€ OCI ์ด๋ฏธ์ง€ ์ธ๋ฑ์Šค๋ฅผ ๋‚ด๋ณด๋ƒ„ | `--platform=linux/amd64 --provenance=false`๋กœ ๋นŒ๋“œ |320| ๋ฐฐํฌ ์‹œ `Container manifest type โ€ฆ must support amd64/linux` | ์ด๋ฏธ์ง€๊ฐ€ ๋น„ amd64 ํ˜ธ์ŠคํŠธ์—์„œ ๋นŒ๋“œ๋˜์—ˆ๊ฑฐ๋‚˜ buildx๊ฐ€ OCI ์ด๋ฏธ์ง€ ์ธ๋ฑ์Šค๋ฅผ ๋‚ด๋ณด๋ƒ„ | `--platform=linux/amd64 --provenance=false`๋กœ ๋นŒ๋“œ |

321| ๊ฒŒ์ดํŠธ์›จ์ด ๋ถ€ํŒ…์ด Cloud Run์˜ Postgres ์—ฐ๊ฒฐ ํƒ€์ž„์•„์›ƒ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒ๋จ | ์„œ๋น„์Šค๊ฐ€ VPC์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ Cloud SQL์ด ํ•ด๋‹น VPC์— ํ”„๋ผ์ด๋น— IP๊ฐ€ ์—†์Œ. ์ €์žฅ์†Œ๋Š” 5์ดˆ ํ›„ ๋Œ€๊ธฐ๋ฅผ ์ค‘์ง€ | Direct VPC egress๋ฅผ ์œ„ํ•ด `--network` ๋ฐ `--subnet`์œผ๋กœ ๋ฐฐํฌํ•˜๊ณ  Cloud SQL ์ธ์Šคํ„ด์Šค๋ฅผ `--no-assign-ip` ๋ฐ ๋™์ผํ•œ VPC๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” `--network`๋กœ ์ƒ์„ฑ |321| ๊ฒŒ์ดํŠธ์›จ์ด ๋ถ€ํŒ…์ด Cloud Run์˜ Postgres ์—ฐ๊ฒฐ ํƒ€์ž„์•„์›ƒ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒ๋จ | ์„œ๋น„์Šค๊ฐ€ VPC์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ Cloud SQL์ด ํ•ด๋‹น VPC์— ํ”„๋ผ์ด๋น— IP๊ฐ€ ์—†์Œ | Direct VPC egress๋ฅผ ์œ„ํ•ด `--network` ๋ฐ `--subnet`์œผ๋กœ ๋ฐฐํฌํ•˜๊ณ  Cloud SQL ์ธ์Šคํ„ด์Šค๋ฅผ `--no-assign-ip` ๋ฐ ๋™์ผํ•œ VPC๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” `--network`๋กœ ์ƒ์„ฑ |

322| Google Cloud์˜ Agent Platform ์š”์ฒญ์ด `403 PERMISSION_DENIED`๋ฅผ ๋ฐ˜ํ™˜ | ๋Ÿฐํƒ€์ž„์ด `claude-gateway` ์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋ชจ๋ธ์ด ํ”„๋กœ์ ํŠธ์˜ Model Garden์—์„œ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์Œ | Cloud Run์—์„œ `--service-account`๋ฅผ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ GKE์—์„œ Workload Identity๋ฅผ ๋ฐ”์ธ๋”ฉํ•˜๊ณ  ๊ฐ Claude ๋ชจ๋ธ์„ ๋Œ€์ƒ ์ง€์—ญ์˜ Model Garden์—์„œ ํ™œ์„ฑํ™” |322| Google Cloud์˜ Agent Platform ์š”์ฒญ์ด `403 PERMISSION_DENIED`๋ฅผ ๋ฐ˜ํ™˜ | ๋Ÿฐํƒ€์ž„์ด `claude-gateway` ์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋ชจ๋ธ์ด ํ”„๋กœ์ ํŠธ์˜ Model Garden์—์„œ ํ™œ์„ฑํ™”๋˜์ง€ ์•Š์Œ | Cloud Run์—์„œ `--service-account`๋ฅผ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ GKE์—์„œ Workload Identity๋ฅผ ๋ฐ”์ธ๋”ฉํ•˜๊ณ  ๊ฐ Claude ๋ชจ๋ธ์„ ๋Œ€์ƒ ์ง€์—ญ์˜ Model Garden์—์„œ ํ™œ์„ฑํ™” |

323| ์ŠคํŠธ๋ฆฌ๋ฐ ์‘๋‹ต์ด ๊ณ ์ • ๊ธฐ๊ฐ„ ํ›„ ์ฐจ๋‹จ๋จ | ํ”„๋ก ํŠธ ์—”๋“œ ์š”์ฒญ ํƒ€์ž„์•„์›ƒ: GKE Ingress ๋’ค์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 30์ดˆ์ด๊ณ  Cloud Run์€ 300์ดˆ | GKE์—์„œ `timeoutSec`์ด ๋†’์€ BackendConfig๋ฅผ ์—ฐ๊ฒฐํ•˜๊ฑฐ๋‚˜ Cloud Run์—์„œ `--timeout=3600`์œผ๋กœ ๋ฐฐํฌ |323| ์ŠคํŠธ๋ฆฌ๋ฐ ์‘๋‹ต์ด ๊ณ ์ • ๊ธฐ๊ฐ„ ํ›„ ์ฐจ๋‹จ๋จ | ํ”„๋ก ํŠธ ์—”๋“œ ์š”์ฒญ ํƒ€์ž„์•„์›ƒ: GKE Ingress ๋’ค์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ 30์ดˆ์ด๊ณ  Cloud Run์€ 300์ดˆ | GKE์—์„œ `timeoutSec`์ด ๋†’์€ BackendConfig๋ฅผ ์—ฐ๊ฒฐํ•˜๊ฑฐ๋‚˜ Cloud Run์—์„œ `--timeout=3600`์œผ๋กœ ๋ฐฐํฌ |

324 324 

cloud-environments.md +53 โˆ’46

Details

44 ํ™˜๊ฒฝ ๊ตฌ์„ฑ44 ํ™˜๊ฒฝ ๊ตฌ์„ฑ

45</h2>45</h2>

46 46 

47[์›น ์˜จ๋ณด๋”ฉ](/docs/ko/web-quickstart) ํ›„ [claude.ai/code](https://claude.ai/code)์—์„œ ๋„๋‹ฌํ•˜๊ฑฐ๋‚˜ [Desktop ์•ฑ](/docs/ko/desktop#cloud-sessions)์˜ ํ”„๋กฌํ”„ํŠธ ์ƒ์ž์—์„œ ํ™˜๊ฒฝ์„ ์ƒ์„ฑ, ํŽธ์ง‘ ๋ฐ ๋ณด๊ด€ํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑํ•œ ํ™˜๊ฒฝ์€ ๊ณ„์ •์— ๊ฐœ์ธ์ ์ž…๋‹ˆ๋‹ค. Owner๊ฐ€ ์ƒ์„ฑํ•œ [๊ณต์œ  ํ™˜๊ฒฝ](#organization-shared-environments)์€ ๋™์ผํ•œ ์„ ํƒ๊ธฐ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ•ญ๋ชฉ์€ [์„ค์น˜๋œ ๋„๊ตฌ](#installed-tools)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.47[์›น ์˜จ๋ณด๋”ฉ](/docs/ko/web-quickstart) ํ›„ [claude.ai/code](https://claude.ai/code)์—์„œ ๋˜๋Š” [Desktop ์•ฑ](/docs/ko/desktop#cloud-sessions)์˜ ํ”„๋กฌํ”„ํŠธ ์ƒ์ž์—์„œ ํ™˜๊ฒฝ ์„ ํƒ๊ธฐ๋ฅผ ํ†ตํ•ด ํ™˜๊ฒฝ์„ ์ƒ์„ฑ, ํŽธ์ง‘ ๋ฐ ๋ณด๊ด€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑํ•œ ํ™˜๊ฒฝ์€ ๊ณ„์ •์— ๊ฐœ์ธ์ ์œผ๋กœ ์†ํ•˜๋ฉฐ, Owner๊ฐ€ ์ƒ์„ฑํ•œ [๊ณต์œ  ํ™˜๊ฒฝ](#organization-shared-environments)์€ ๋™์ผํ•œ ์„ ํƒ๊ธฐ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๊ตฌ์„ฑ ์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ•ญ๋ชฉ์€ [์„ค์น˜๋œ ๋„๊ตฌ](#installed-tools)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

48 48 

49<Steps>49<Steps>

50 <Step title="ํ™˜๊ฒฝ ์„ ํƒ๊ธฐ ์—ด๊ธฐ">50 <Step title="ํ™˜๊ฒฝ ์„ ํƒ๊ธฐ ์—ด๊ธฐ">

51 [claude.ai/code](https://claude.ai/code)์—์„œ ๋ฉ”์‹œ์ง€ ์ƒ์ž ์œ„์˜ ํ–‰์— ์žˆ๋Š” ํ˜„์žฌ ํ™˜๊ฒฝ์˜ ์ด๋ฆ„์„ ํ‘œ์‹œํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์•„์ด์ฝ˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ๊ธฐ์— ๋Œ€ํ•œ ์„ค์ • ํŽ˜์ด์ง€ ๋˜๋Š” ์ง์ ‘ URL์ด ์—†์Šต๋‹ˆ๋‹ค.51 [claude.ai/code](https://claude.ai/code)์—์„œ ๋ฉ”์‹œ์ง€ ์ƒ์ž ์œ„์˜ ํ–‰์— ์žˆ๋Š” ํ˜„์žฌ ํ™˜๊ฒฝ์˜ ์ด๋ฆ„์„ ํ‘œ์‹œํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์•„์ด์ฝ˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ๊ธฐ์— ๋Œ€ํ•œ ์„ค์ • ํŽ˜์ด์ง€๋‚˜ ์ง์ ‘ URL์€ ์—†์Šต๋‹ˆ๋‹ค.

52 52 

53 <Frame>53 <Frame>

54 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-selector.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=cc2813a5664519eaf5a89d793ce5af26" alt="claude.ai/code์˜ ๋ฉ”์‹œ์ง€ ์ƒ์ž ์œ„์— ์—ด๋ฆฐ ํ™˜๊ฒฝ ์„ ํƒ๊ธฐ. ํ™˜๊ฒฝ ์ด๋ฆ„ Default๋ฅผ ํ‘œ์‹œํ•˜๋Š” ํด๋ผ์šฐ๋“œ ๋ฒ„ํŠผ์€ ๋ฉ”์‹œ์ง€ ์ƒ์ž ์œ„์˜ ํ–‰์— ์žˆ์Šต๋‹ˆ๋‹ค. ์—ด๋ฆฐ ๋ฉ”๋‰ด๋Š” Download ๋ฐ Desktop only ๋ ˆ์ด๋ธ”์ด ์žˆ๋Š” Local ํ–‰, Default ํ™˜๊ฒฝ์ด ์ฒดํฌ ํ‘œ์‹œ๋กœ ์„ ํƒ๋˜๊ณ  ๋งˆ์šฐ์Šค๋ฅผ ๊ฐ€์ ธ๊ฐ€๋ฉด ์„ค์ • ๊ธฐ์–ด ์•„์ด์ฝ˜์„ ํ‘œ์‹œํ•˜๋Š” Cloud ์„น์…˜, Add cloud environment ์˜ต์…˜ ๋ฐ ์„ค์ • ์ง€์นจ์ด ์žˆ๋Š” Remote Control ์„น์…˜์„ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค." width="1672" height="682" data-path="images/cloud-environment-selector.png" />54 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-selector.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=cc2813a5664519eaf5a89d793ce5af26" alt="claude.ai/code์˜ ๋ฉ”์‹œ์ง€ ์ƒ์ž ์œ„์— ์—ด๋ ค ์žˆ๋Š” ํ™˜๊ฒฝ ์„ ํƒ๊ธฐ์ž…๋‹ˆ๋‹ค. ํ™˜๊ฒฝ ์ด๋ฆ„ Default๋ฅผ ํ‘œ์‹œํ•˜๋Š” ํด๋ผ์šฐ๋“œ ๋ฒ„ํŠผ์ด ๋ฉ”์‹œ์ง€ ์ƒ์ž ์œ„์˜ ํ–‰์— ์žˆ์Šต๋‹ˆ๋‹ค. ์—ด๋ฆฐ ๋ฉ”๋‰ด์—๋Š” Download ๋ฐ Desktop only ๋ ˆ์ด๋ธ”์ด ์žˆ๋Š” Local ํ–‰, Default ํ™˜๊ฒฝ์ด ์ฒดํฌ ํ‘œ์‹œ๋กœ ์„ ํƒ๋˜์–ด ์žˆ๊ณ  ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ์„ค์ • ๊ธฐ์–ด ์•„์ด์ฝ˜์ด ํ‘œ์‹œ๋˜๋Š” Cloud ์„น์…˜, Add cloud environment ์˜ต์…˜, ๊ทธ๋ฆฌ๊ณ  ์„ค์ • ์ง€์นจ์ด ์žˆ๋Š” Remote Control ์„น์…˜์ด ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค." width="1672" height="682" data-path="images/cloud-environment-selector.png" />

55 </Frame>55 </Frame>

56 </Step>56 </Step>

57 57 

58 <Step title="ํ™˜๊ฒฝ ์ถ”๊ฐ€ ๋˜๋Š” ํŽธ์ง‘">58 <Step title="ํ™˜๊ฒฝ ์ถ”๊ฐ€ ๋˜๋Š” ํŽธ์ง‘">

59 **Add cloud environment**๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ํ™˜๊ฒฝ ์œ„์— ๋งˆ์šฐ์Šค๋ฅผ ๊ฐ€์ ธ๊ฐ€์„œ ์˜ค๋ฅธ์ชฝ์— ๋‚˜ํƒ€๋‚˜๋Š” ์„ค์ • ์•„์ด์ฝ˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ™” ์ƒ์ž์—๋Š” ์ด๋ฆ„, ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ์ˆ˜์ค€, ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ฐ ์„ค์ • ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. Pro ๋˜๋Š” Max ํ”Œ๋žœ์—์„œ ๊ธฐ์กด ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ํŽธ์ง‘ํ•  ๋•Œ ๋Œ€ํ™” ์ƒ์ž์—๋Š” [API ์ž๊ฒฉ ์ฆ๋ช…](#add-api-credentials)๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.59 **Add cloud environment**๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜, ๊ธฐ์กด ํ™˜๊ฒฝ ์œ„์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๊ณ  ์˜ค๋ฅธ์ชฝ์— ๋‚˜ํƒ€๋‚˜๋Š” ์„ค์ • ์•„์ด์ฝ˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ™” ์ƒ์ž์—๋Š” ์ด๋ฆ„, ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ์ˆ˜์ค€, ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ฐ ์„ค์ • ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. Pro ๋˜๋Š” Max ํ”Œ๋žœ์—์„œ ๊ธฐ์กด ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ํŽธ์ง‘ํ•  ๋•Œ ๋Œ€ํ™” ์ƒ์ž์—๋Š” [API ์ž๊ฒฉ ์ฆ๋ช…](#add-api-credentials)๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

60 60 

61 <Frame>61 <Frame>

62 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="New cloud environment ๋Œ€ํ™” ์ƒ์ž. Default ์ž๋ฆฌ ํ‘œ์‹œ์ž๊ฐ€ ์žˆ๋Š” Name ํ•„๋“œ, ๋„คํŠธ์›Œํฌ ์ •์ฑ… ๋ฐ ์•ก์„ธ์Šค ์ˆ˜์ค€์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€ ์žˆ๋Š” Trusted๋กœ ์„ค์ •๋œ Network access ์„ ํƒ๊ธฐ, .env ํ˜•์‹ ์ž๋ฆฌ ํ‘œ์‹œ์ž ํ…์ŠคํŠธ๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๊ฐ’์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ฐธ๊ณ  ์‚ฌํ•ญ์ด ์žˆ๋Š” Environment variables ์ƒ์ž, ์ƒˆ ์„ธ์…˜์ด ์‹œ์ž‘๋  ๋•Œ Claude Code๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์‹คํ–‰๋˜๋Š” Bash ์Šคํฌ๋ฆฝํŠธ๋กœ ์„ค๋ช…๋˜๋Š” Setup script ์ƒ์ž ๋ฐ Cancel ๋ฐ Create environment ๋ฒ„ํŠผ." width="874" height="1372" data-path="images/cloud-environment-dialog.png" />62 <img src="https://mintcdn.com/claude-code/ZFId6l95856c5LSw/images/cloud-environment-dialog.png?fit=max&auto=format&n=ZFId6l95856c5LSw&q=85&s=30d4478b31d1f879f7ee287ddab32505" alt="New cloud environment ๋Œ€ํ™” ์ƒ์ž์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’ ์ž๋ฆฌ ํ‘œ์‹œ์ž๊ฐ€ ์žˆ๋Š” Name ํ•„๋“œ, Trusted๋กœ ์„ค์ •๋œ Network access ์„ ํƒ๊ธฐ(๋„คํŠธ์›Œํฌ ์ •์ฑ… ๋ฐ ์•ก์„ธ์Šค ์ˆ˜์ค€์— ๋Œ€ํ•œ ๋งํฌ ํฌํ•จ), .env ํ˜•์‹ ์ž๋ฆฌ ํ‘œ์‹œ์ž ํ…์ŠคํŠธ๊ฐ€ ์žˆ๋Š” Environment variables ์ƒ์ž(ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๊ฐ’์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ฐธ๊ณ  ์‚ฌํ•ญ ํฌํ•จ), Claude Code๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ƒˆ ์„ธ์…˜์ด ์‹œ์ž‘๋  ๋•Œ ์‹คํ–‰๋˜๋Š” Bash ์Šคํฌ๋ฆฝํŠธ๋กœ ์„ค๋ช…๋œ Setup script ์ƒ์ž, ๊ทธ๋ฆฌ๊ณ  Cancel ๋ฐ Create environment ๋ฒ„ํŠผ์ด ์žˆ์Šต๋‹ˆ๋‹ค." width="874" height="1372" data-path="images/cloud-environment-dialog.png" />

63 </Frame>63 </Frame>

64 </Step>64 </Step>

65</Steps>65</Steps>


68 ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •68 ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

69</h3>69</h3>

70 70 

71ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” `.env` ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ํ•œ ์ค„์— ํ•˜๋‚˜์˜ `KEY=value` ์Œ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ๊ฐ’์€ ๋”ฐ์˜ดํ‘œ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ผ์น˜ํ•˜๋Š” ์Œ์œผ๋กœ ๊ฐ’์„ ์ธ์šฉํ•˜๋ฉด ๋”ฐ์˜ดํ‘œ๊ฐ€ ๊ฐ’์˜ ์ผ๋ถ€๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์ค„์— ๊ฑธ์ณ ์žˆ๊ฑฐ๋‚˜ `#`๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฐ’์„ ์ธ์šฉํ•ฉ๋‹ˆ๋‹ค: ์ธ์šฉ๋˜์ง€ ์•Š์€ ๊ฐ’์—์„œ `#`๋Š” ์ฃผ์„์„ ์‹œ์ž‘ํ•˜๊ณ  ์ค„์˜ ๋‚˜๋จธ์ง€๋Š” ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.71ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” `.env` ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ํ•œ ์ค„์— ํ•˜๋‚˜์˜ `KEY=value` ์Œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ๊ฐ’์€ ๋”ฐ์˜ดํ‘œ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ผ์น˜ํ•˜๋Š” ์Œ์œผ๋กœ ๊ฐ’์„ ์ธ์šฉํ•˜๋ฉด ๋”ฐ์˜ดํ‘œ๊ฐ€ ๊ฐ’์˜ ์ผ๋ถ€๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์ค„์— ๊ฑธ์ณ ์žˆ๊ฑฐ๋‚˜ `#`์„ ํฌํ•จํ•˜๋Š” ๊ฐ’์„ ์ธ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ธ์šฉ๋˜์ง€ ์•Š์€ ๊ฐ’์—์„œ `#`์€ ์ฃผ์„์„ ์‹œ์ž‘ํ•˜๊ณ  ์ค„์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์€ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

72 72 

73๋‹ค์Œ ์˜ˆ์ œ๋Š” ์„ธ ๊ฐœ์˜ ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.73๋‹ค์Œ ์˜ˆ์ œ๋Š” ์„ธ ๊ฐœ์˜ ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

74 74 


78DATABASE_URL=postgres://localhost:5432/myapp78DATABASE_URL=postgres://localhost:5432/myapp

79```79```

80 80 

81๊ฐ ์„ธ์…˜์€ ์‹œ์ž‘ ์‹œ ํ™˜๊ฒฝ์˜ ๊ฐ’์„ ํ•œ ๋ฒˆ ๋ณต์‚ฌํ•˜์—ฌ Claude๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ๋ชจ๋“  ๋ช…๋ น์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์ด ๊ตฌ์„ฑ์„ ๋‹ค์‹œ ์ฝ์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ณ€์ˆ˜๋ฅผ ํŽธ์ง‘ํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ํ•˜๋ฉด ์ดํ›„์— ์‹œ์ž‘ํ•˜๋Š” ์„ธ์…˜์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ์ด๋ฏธ ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์€ ์‹œ์ž‘ํ•  ๋•Œ์˜ ๊ฐ’์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.81๊ฐ ์„ธ์…˜์€ ์‹œ์ž‘ ์‹œ ํ™˜๊ฒฝ์˜ ๊ฐ’์„ ํ•œ ๋ฒˆ ๋ณต์‚ฌํ•˜์—ฌ Claude๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ๋ชจ๋“  ๋ช…๋ น์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์ด ๊ตฌ์„ฑ์„ ๋‹ค์‹œ ์ฝ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€์ˆ˜๋ฅผ ํŽธ์ง‘ํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ํ•˜๋ฉด ์ดํ›„์— ์‹œ์ž‘ํ•˜๋Š” ์„ธ์…˜์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ์ด๋ฏธ ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์€ ์‹œ์ž‘ํ•  ๋•Œ์˜ ๊ฐ’์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

82 82 

83ํด๋ผ์šฐ๋“œ ์„ธ์…˜์€ ์‹œ์ž‘ํ•  ๋•Œ ์ผ๋ถ€ ๋ณ€์ˆ˜๋ฅผ ์ž์ฒด์ ์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/ko/claude-code-on-the-web#manage-context)์˜ ๊ฒฝ์šฐ ์„ธ์…˜์ด ์„ค์ •ํ•˜๋Š” ๊ฐ’์ด ์—ฌ๊ธฐ์— ์ถ”๊ฐ€ํ•œ ๊ฐ’์„ ์žฌ์ •์˜ํ•˜๋ฏ€๋กœ ์—ฌ๊ธฐ์— ํ•ด๋‹น ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•ด๋„ ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.83ํด๋ผ์šฐ๋“œ ์„ธ์…˜์€ ์‹œ์ž‘ํ•  ๋•Œ ์ž์ฒด์ ์œผ๋กœ ์ผ๋ถ€ ๋ณ€์ˆ˜๋„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/ko/claude-code-on-the-web#manage-context)์˜ ๊ฒฝ์šฐ, ์„ธ์…˜์ด ์„ค์ •ํ•˜๋Š” ๊ฐ’์ด ์—ฌ๊ธฐ์— ์ถ”๊ฐ€ํ•œ ๊ฐ’์„ ์žฌ์ •์˜ํ•˜๋ฏ€๋กœ ์—ฌ๊ธฐ์— ํ•ด๋‹น ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•ด๋„ ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

84 84 

85ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๊ฐ’์„ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Pro ๋ฐ Max ํ”Œ๋žœ์—์„œ๋Š” ๋Œ€์‹  ์—์ด์ „ํŠธ ํ”„๋ก์‹œ๊ฐ€ ์š”์ฒญ์— ์ฒจ๋ถ€ํ•  ์ˆ˜ ์žˆ๋Š” ํ‚ค์— ๋Œ€ํ•ด [API ์ž๊ฒฉ ์ฆ๋ช…](#add-api-credentials)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. [์ž๊ฒฉ ์ฆ๋ช…์„ ๋ฐ›์ง€ ์•Š๋Š” ์š”์ฒญ](#requests-that-never-get-the-credential)์ด ๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.85ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๊ฐ’์„ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Pro ๋ฐ Max ํ”Œ๋žœ์—์„œ๋Š” ์—์ด์ „ํŠธ ํ”„๋ก์‹œ๊ฐ€ ์š”์ฒญ์— ์ฒจ๋ถ€ํ•  ์ˆ˜ ์žˆ๋Š” ํ‚ค์— ๋Œ€ํ•ด [API ์ž๊ฒฉ ์ฆ๋ช…](#add-api-credentials)์„ ๋Œ€์‹  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. [์ž๊ฒฉ ์ฆ๋ช…์„ ๋ฐ›์ง€ ์•Š๋Š” ์š”์ฒญ](#requests-that-never-get-the-credential)์ด ๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

86 86 

87<h3 id="add-api-credentials">87<h3 id="add-api-credentials">

88 API ์ž๊ฒฉ ์ฆ๋ช… ์ถ”๊ฐ€88 API ์ž๊ฒฉ ์ฆ๋ช… ์ถ”๊ฐ€

89</h3>89</h3>

90 90 

91API ์ž๊ฒฉ ์ฆ๋ช…์€ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์— ์ €์žฅํ•˜๋Š” API ํ‚ค ๋˜๋Š” ํ† ํฐ์ด๋ฏ€๋กœ Claude๋Š” ํ‚ค๋ฅผ ๋ณด์ง€ ์•Š๊ณ  ํ™˜๊ฒฝ์˜ ๋ชจ๋“  ์„ธ์…˜์—์„œ ํ•ด๋‹น API๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Anthropic์˜ ์—์ด์ „ํŠธ ํ”„๋ก์‹œ๋Š” ๊ฐ ์š”์ฒญ์ด ์„ธ์…˜์˜ VM์„ ๋– ๋‚œ ํ›„ ๋‚˜์—ดํ•œ ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•œ ์š”์ฒญ์— ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ‚ค๋Š” Claude, ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น ๋˜๋Š” ์„ธ์…˜์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ๋„๋‹ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.91API ์ž๊ฒฉ ์ฆ๋ช…์€ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์— ์ €์žฅํ•˜๋Š” API ํ‚ค ๋˜๋Š” ํ† ํฐ์œผ๋กœ, Claude๊ฐ€ ํ‚ค๋ฅผ ๋ณด์ง€ ์•Š๊ณ ๋„ ํ™˜๊ฒฝ์˜ ๋ชจ๋“  ์„ธ์…˜์—์„œ ํ•ด๋‹น API๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Anthropic์˜ ์—์ด์ „ํŠธ ํ”„๋ก์‹œ๋Š” ๊ฐ ์š”์ฒญ์ด ์„ธ์…˜์˜ VM์„ ๋– ๋‚œ ํ›„ ๋‚˜์—ดํ•œ ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•œ ์š”์ฒญ์— ํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ‚ค๋Š” Claude, ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น ๋˜๋Š” ์„ธ์…˜์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ๋„๋‹ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

92 92 

93API ์ž๊ฒฉ ์ฆ๋ช…์€ Pro ๋ฐ Max ํ”Œ๋žœ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. Team ๋˜๋Š” Enterprise ํ”Œ๋žœ์—์„œ๋Š” ์•„์ง ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ **API credentials** ์„น์…˜์ด ์ด๋Ÿฌํ•œ ํ”Œ๋žœ์˜ ํ™˜๊ฒฝ ๋Œ€ํ™” ์ƒ์ž์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.93API ์ž๊ฒฉ ์ฆ๋ช…์€ Pro ๋ฐ Max ํ”Œ๋žœ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. Team ๋˜๋Š” Enterprise ํ”Œ๋žœ์—์„œ๋Š” ์•„์ง ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ **API credentials** ์„น์…˜์ด ํ•ด๋‹น ํ”Œ๋žœ์˜ ํ™˜๊ฒฝ ๋Œ€ํ™” ์ƒ์ž์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

94 94 

95<h4 id="requirements">95<h4 id="requirements">

96 ์š”๊ตฌ ์‚ฌํ•ญ96 ์š”๊ตฌ ์‚ฌํ•ญ

97</h4>97</h4>

98 98 

99์ด ์ค‘ ๋‘ ๊ฐœ๋Š” ์ž๊ฒฉ ์ฆ๋ช…์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ , ๋‘ ๊ฐœ๋Š” ์ถ”๊ฐ€๋œ ํ›„ ์—์ด์ „ํŠธ ํ”„๋ก์‹œ๊ฐ€ ์ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค:99์ด ์ค‘ ๋‘ ๊ฐœ๋Š” ์ž๊ฒฉ ์ฆ๋ช…์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ , ๋‘ ๊ฐœ๋Š” ์ถ”๊ฐ€๋œ ํ›„ ์—์ด์ „ํŠธ ํ”„๋ก์‹œ๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

100 100 

101* **์—ญํ• **: claude.ai ์กฐ์ง์˜ ์กฐ์ง ๊ด€๋ฆฌ์ž ์—ญํ• 101* **Role**: claude.ai ์กฐ์ง์˜ ์กฐ์ง ๊ด€๋ฆฌ์ž ์—ญํ• 

102 * Team ๋ฐ Enterprise์—์„œ Owner๊ฐ€ ๋ณด์œ ํ•˜๊ณ  Admin์€ ๋ณด์œ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค102 * Team ๋ฐ Enterprise์—์„œ๋Š” Owner๊ฐ€ ๋ณด์œ ํ•˜๊ณ  Admin์€ ๋ณด์œ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

103 * Pro ๋ฐ Max์—์„œ ์ž์‹ ์˜ ์กฐ์ง์—์„œ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค103 * Pro ๋ฐ Max์—์„œ๋Š” ์ž์‹ ์˜ ์กฐ์ง์—์„œ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค.

104 * ์ด๋ฅผ ๋ณด์œ ํ•˜์ง€ ์•Š์œผ๋ฉด ์ž์‹ ์˜ ํ™˜๊ฒฝ์—์„œ๋„ ์ž๊ฒฉ ์ฆ๋ช… ๋ชฉ๋ก ๋Œ€์‹  ์ฐธ๊ณ  ์‚ฌํ•ญ์„ ๋ด…๋‹ˆ๋‹ค. Owner์—๊ฒŒ ๊ณต์œ  ํ™˜๊ฒฝ์— ์ž๊ฒฉ ์ฆ๋ช…์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ฑฐ๊ธฐ์—์„œ ์„ธ์…˜์„ ์‹คํ–‰ํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค104 * ์ด ์—ญํ• ์ด ์—†์œผ๋ฉด ์ž์‹ ์˜ ํ™˜๊ฒฝ์—์„œ๋„ ์ž๊ฒฉ ์ฆ๋ช… ๋ชฉ๋ก ๋Œ€์‹  ์ฐธ๊ณ  ์‚ฌํ•ญ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. Owner์—๊ฒŒ ๊ณต์œ  ํ™˜๊ฒฝ์— ์ž๊ฒฉ ์ฆ๋ช…์„ ์ถ”๊ฐ€ํ•˜๊ณ  ํ•ด๋‹น ํ™˜๊ฒฝ์—์„œ ์„ธ์…˜์„ ์‹คํ–‰ํ•˜๋„๋ก ์š”์ฒญํ•˜์‹ญ์‹œ์˜ค.

105* **ํ™˜๊ฒฝ ์œ ํ˜•**: ์ด๋ฏธ ์กด์žฌํ•˜๋Š” Anthropic ํ˜ธ์ŠคํŒ… ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ. [์ž์ฒด ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ](/docs/ko/self-hosted-environments)์—๋Š” API ์ž๊ฒฉ ์ฆ๋ช…์ด ์—†์Šต๋‹ˆ๋‹ค105* **Environment type**: ์ด๋ฏธ ์กด์žฌํ•˜๋Š” Anthropic ํ˜ธ์ŠคํŒ… ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์ž…๋‹ˆ๋‹ค. [์ž์ฒด ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ](/docs/ko/self-hosted-environments)์—๋Š” API ์ž๊ฒฉ ์ฆ๋ช…์ด ์—†์Šต๋‹ˆ๋‹ค.

106* **API ๋„๋‹ฌ ๊ฐ€๋Šฅ์„ฑ**: API๊ฐ€ ์ธํ„ฐ๋„ท์—์„œ์˜ ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฝํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ์ด Anthropic์˜ ๋„คํŠธ์›Œํฌ์—์„œ ๋‚˜๊ฐ€๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค106* **API reachability**: API๊ฐ€ ์ธํ„ฐ๋„ท์—์„œ์˜ ์—ฐ๊ฒฐ์„ ์ˆ˜๋ฝํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ์ด Anthropic์˜ ๋„คํŠธ์›Œํฌ์—์„œ ๋‚˜๊ฐ€๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

107* **์•”ํ˜ธํ™” ํ‚ค**: ์กฐ์ง์ด ๊ณ ๊ฐ ๊ด€๋ฆฌ ์•”ํ˜ธํ™” ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ €์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค107* **Encryption keys**: ์กฐ์ง์ด ๊ณ ๊ฐ ๊ด€๋ฆฌ ์•”ํ˜ธํ™” ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ €์žฅํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

108 108 

109<h4 id="add-a-credential">109<h4 id="add-a-credential">

110 ์ž๊ฒฉ ์ฆ๋ช… ์ถ”๊ฐ€110 ์ž๊ฒฉ ์ฆ๋ช… ์ถ”๊ฐ€

111</h4>111</h4>

112 112 

113ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์”ฉ ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ํ™˜๊ฒฝ์˜ ํŽธ์ง‘๊ธฐ์—์„œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ํ™˜๊ฒฝ์˜ ๋Œ€ํ™” ์ƒ์ž๋Š” ์ด๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŽธ์ง‘๋„ ์—†์Šต๋‹ˆ๋‹ค. ์ž๊ฒฉ ์ฆ๋ช…์˜ ํ˜ธ์ŠคํŠธ ๋˜๋Š” ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.113์ด๋ฏธ ์กด์žฌํ•˜๋Š” ํ™˜๊ฒฝ์˜ ํŽธ์ง‘๊ธฐ์—์„œ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์”ฉ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ํ™˜๊ฒฝ์˜ ๋Œ€ํ™” ์ƒ์ž๋Š” ์ด๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŽธ์ง‘๋„ ์—†์Šต๋‹ˆ๋‹ค. ์ž๊ฒฉ ์ฆ๋ช…์˜ ํ˜ธ์ŠคํŠธ ๋˜๋Š” ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

114 114 

115<Steps>115<Steps>

116 <Step title="ํ™˜๊ฒฝ์˜ API ์ž๊ฒฉ ์ฆ๋ช… ์—ด๊ธฐ">116 <Step title="ํ™˜๊ฒฝ์˜ API ์ž๊ฒฉ ์ฆ๋ช… ์—ด๊ธฐ">

117 [claude.ai/code](https://claude.ai/code)์—์„œ [ํŽธ์ง‘์„ ์œ„ํ•ด ํ™˜๊ฒฝ์„ ์—ด๊ณ ](#configure-your-environment) **Update cloud environment** ๋Œ€ํ™” ์ƒ์ž์—์„œ **Environment variables** ์•„๋ž˜์˜ **API credentials**๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์— ์ด๋ฏธ ์žˆ๋Š” ์ž๊ฒฉ ์ฆ๋ช…๊ณผ ์ ์šฉ๋˜๋Š” ํ˜ธ์ŠคํŠธ๋ฅผ ๋ด…๋‹ˆ๋‹ค.117 [claude.ai/code](https://claude.ai/code)์˜ ํ™˜๊ฒฝ ์„ ํƒ๊ธฐ์—์„œ [ํŽธ์ง‘ํ•  ํ™˜๊ฒฝ์„ ์—ด๊ธฐ](#configure-your-environment)ํ•ฉ๋‹ˆ๋‹ค. **Update cloud environment** ๋Œ€ํ™” ์ƒ์ž์—์„œ **Environment variables** ์•„๋ž˜์— **API credentials**๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์— ์ด๋ฏธ ์žˆ๋Š” ์ž๊ฒฉ ์ฆ๋ช…๊ณผ ์ ์šฉ๋˜๋Š” ํ˜ธ์ŠคํŠธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

118 </Step>118 </Step>

119 119 

120 <Step title="์ž๊ฒฉ ์ฆ๋ช… ์ถ”๊ฐ€">120 <Step title="์ž๊ฒฉ ์ฆ๋ช… ์ถ”๊ฐ€">

121 **Add credential**์„ ์„ ํƒํ•˜๊ณ  ์–‘์‹์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ ํ—ค๋”์—์„œ ์ด๋™ํ•˜๋Š” API ํ‚ค์— ๋Œ€ํ•ด ๊ธฐ๋ณธ **Credential type**, **Bearer**๋ฅผ ์œ ์ง€ํ•˜๊ณ  ๋‹ค์Œ ํ•„๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค:121 **Add credential**์„ ์„ ํƒํ•˜๊ณ  ์–‘์‹์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ ํ—ค๋”์—์„œ ์ด๋™ํ•˜๋Š” API ํ‚ค์— ๋Œ€ํ•ด ๊ธฐ๋ณธ **Credential type**, **Bearer**๋ฅผ ์œ ์ง€ํ•˜๊ณ  ๋‹ค์Œ ํ•„๋“œ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

122 122 

123 * **Name**: `Internal billing API`์™€ ๊ฐ™์€ ์ž๊ฒฉ ์ฆ๋ช…์˜ ๋ ˆ์ด๋ธ”123 * **Name**: `Internal billing API`์™€ ๊ฐ™์€ ์ž๊ฒฉ ์ฆ๋ช…์˜ ๋ ˆ์ด๋ธ”

124 * **Allowed websites**: `api.example.com`๊ณผ ๊ฐ™์€ API์˜ ํ˜ธ์ŠคํŠธ. ์„ ํ–‰ `*.`์€ ๋ชจ๋“  ํ•˜์œ„ ๋„๋ฉ”์ธ๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค124 * **Allowed websites**: `api.example.com`๊ณผ ๊ฐ™์€ API์˜ ํ˜ธ์ŠคํŠธ์ž…๋‹ˆ๋‹ค. ์„ ํ–‰ `*.`์€ ๋ชจ๋“  ํ•˜์œ„ ๋„๋ฉ”์ธ๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.

125 * **Custom headers**: ํ‚ค๋ฅผ ์ „๋‹ฌํ•˜๋Š” ํ—ค๋”์— ๋Œ€ํ•œ ํ•œ ํ–‰. ํ–‰์€ ํ—ค๋”์˜ **Name**์œผ๋กœ `Authorization`๊ณผ **Prefix**๋กœ `Bearer`๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ํ‚ค ์ž์ฒด๋ฅผ **Value**๋กœ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค. `X-Api-Key`์™€ ๊ฐ™์ด ๋ฒ ์–ด ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ํ—ค๋”์˜ ๊ฒฝ์šฐ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์ ‘๋‘์‚ฌ๋ฅผ ์ง€์›๋‹ˆ๋‹ค125 * **Custom headers**: ํ‚ค๋ฅผ ์ „๋‹ฌํ•˜๋Š” ํ—ค๋”์— ๋Œ€ํ•œ ํ•œ ํ–‰์ž…๋‹ˆ๋‹ค. ํ–‰์€ ํ—ค๋”์˜ **Name**์œผ๋กœ `Authorization`์œผ๋กœ ์‹œ์ž‘ํ•˜๊ณ  **Prefix**๋กœ `Bearer`๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ํ‚ค ์ž์ฒด๋ฅผ **Value**๋กœ ๋ถ™์—ฌ๋„ฃ์Šต๋‹ˆ๋‹ค. `X-Api-Key`์™€ ๊ฐ™์ด ๊ธฐ๋ณธ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ํ—ค๋”์˜ ๊ฒฝ์šฐ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์ ‘๋‘์‚ฌ๋ฅผ ์ง€์›๋‹ˆ๋‹ค.

126 126 

127 ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์ธ์ฆํ•˜๋Š” API์˜ ๊ฒฝ์šฐ ๋‹ค๋ฅธ **Credential type**์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ชฉ๋ก์€ [Claude Tag](https://claude.com/docs/claude-tag/overview)์™€ Team ๋ฐ Enterprise ํ”Œ๋žœ์˜ Slack ํ†ตํ•ฉ์ด [์—ฐ๊ฒฐ](https://claude.com/docs/claude-tag/admins/add-connections)์— ์ œ๊ณตํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.127 ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์ธ์ฆํ•˜๋Š” API์˜ ๊ฒฝ์šฐ ๋‹ค๋ฅธ **Credential type**์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ชฉ๋ก์€ Team ๋ฐ Enterprise ํ”Œ๋žœ์˜ Slack ํ†ตํ•ฉ์ธ [Claude Tag](https://claude.com/docs/claude-tag/overview)๊ฐ€ [์—ฐ๊ฒฐ](https://claude.com/docs/claude-tag/admins/add-connections)์— ์ œ๊ณตํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

128 </Step>128 </Step>

129 129 

130 <Step title="์ž๊ฒฉ ์ฆ๋ช… ์ €์žฅ">130 <Step title="์ž๊ฒฉ ์ฆ๋ช… ์ €์žฅ">

131 **Connect**๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ž๊ฒฉ ์ฆ๋ช…์€ ํ˜ธ์ŠคํŠธ์™€ ํ•จ๊ป˜ ๋ชฉ๋ก์— ๋‚˜ํƒ€๋‚˜๋ฉฐ ๋Œ€ํ™” ์ƒ์ž์˜ **Save changes** ๋ฒ„ํŠผ ์—†์ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ €์žฅ ํ›„ ๊ฐ’์„ ๋‹ค์‹œ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.131 **Connect**๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ž๊ฒฉ ์ฆ๋ช…์ด ํ˜ธ์ŠคํŠธ์™€ ํ•จ๊ป˜ ๋ชฉ๋ก์— ๋‚˜ํƒ€๋‚˜๋ฉฐ, ๋Œ€ํ™” ์ƒ์ž์˜ **Save changes** ๋ฒ„ํŠผ ์—†์ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ €์žฅ ํ›„ ๊ฐ’์„ ๋‹ค์‹œ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

132 </Step>132 </Step>

133</Steps>133</Steps>

134 134 

135์ž๊ฒฉ ์ฆ๋ช…์ด ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ํ™˜๊ฒฝ์—์„œ ์„ธ์…˜์„ ์‹œ์ž‘ํ•˜๊ณ  Claude์—๊ฒŒ `curl`๊ณผ ๊ฐ™์€ API๋ฅผ ํ˜ธ์ถœํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. API๋Š” ํ‚ค๊ฐ€ ์š”์ฒญ์— ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์‘๋‹ตํ•˜๊ณ  ํ‚ค๋Š” ์„ธ์…˜์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋˜๋Š” ํŒŒ์ผ์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชฉ๋ก์ด ์ž๊ฒฉ ์ฆ๋ช…์„ **Not sent**๋กœ ํ‘œ์‹œํ•˜๋ฉด ์•„๋ž˜์˜ ์ฐธ๊ณ  ์‚ฌํ•ญ์ด ์ด์œ ์™€ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ๊ฐ€ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜์ง€ ์•Š๊ณ  ๊ฒน์น˜๋Š” ๋‘ ์ž๊ฒฉ ์ฆ๋ช…์€ ๋งˆ์ปค๋ฅผ ๋ฐ›์ง€ ์•Š์œผ๋ฉฐ ์—์ด์ „ํŠธ ํ”„๋ก์‹œ๋Š” ๊ทธ ์ค‘ ํ•˜๋‚˜๋งŒ ๋ณด๋ƒ…๋‹ˆ๋‹ค.135์ž๊ฒฉ ์ฆ๋ช…์ด ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ํ™˜๊ฒฝ์—์„œ ์„ธ์…˜์„ ์‹œ์ž‘ํ•˜๊ณ  Claude์—๊ฒŒ `curl`๊ณผ ๊ฐ™์€ API๋ฅผ ํ˜ธ์ถœํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. API๋Š” ํ‚ค๊ฐ€ ์š”์ฒญ์— ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์‘๋‹ตํ•˜๋ฉฐ, ํ‚ค๋Š” ์„ธ์…˜์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋‚˜ ํŒŒ์ผ์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ชฉ๋ก์ด ์ž๊ฒฉ ์ฆ๋ช…์„ **Not sent**๋กœ ํ‘œ์‹œํ•˜๋Š” ๊ฒฝ์šฐ, ์•„๋ž˜์˜ ์ฐธ๊ณ  ์‚ฌํ•ญ์— ์ด์œ ์™€ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์ด ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ๊ฐ€ ์ •ํ™•ํžˆ ์ผ์น˜ํ•˜์ง€ ์•Š๊ณ  ๊ฒน์น˜๋Š” ๋‘ ์ž๊ฒฉ ์ฆ๋ช…์€ ๋งˆ์ปค๋ฅผ ๋ฐ›์ง€ ์•Š์œผ๋ฉฐ, ์—์ด์ „ํŠธ ํ”„๋ก์‹œ๋Š” ๊ทธ ์ค‘ ํ•˜๋‚˜๋งŒ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

136 136 

137<h4 id="which-requests-get-the-credential">137<h4 id="which-requests-get-the-credential">

138 ์ž๊ฒฉ ์ฆ๋ช…์„ ๋ฐ›๋Š” ์š”์ฒญ138 ์ž๊ฒฉ ์ฆ๋ช…์„ ๋ฐ›๋Š” ์š”์ฒญ

139</h4>139</h4>

140 140 

141์—์ด์ „ํŠธ ํ”„๋ก์‹œ๋Š” ์š”์ฒญ์˜ ํ˜ธ์ŠคํŠธ๊ฐ€ ํ•ด๋‹น ์ž๊ฒฉ ์ฆ๋ช…์— ๋‚˜์—ดํ•œ ๊ฒƒ๊ณผ ์ผ์น˜ํ•  ๋•Œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์š”์ฒญ์— ์ฒจ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์€ ํ™˜๊ฒฝ์˜ [๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ์ˆ˜์ค€](#access-levels)์ด ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ—ˆ์šฉํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ์—๋„ ์ด๋Ÿฌํ•œ ํ˜ธ์ŠคํŠธ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ, [์ž๊ฒฉ ์ฆ๋ช…์„ ๋ฐ›์ง€ ์•Š๋Š” ์š”์ฒญ](#requests-that-never-get-the-credential)์€ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค. ์ž๊ฒฉ ์ฆ๋ช…์€ ์‚ญ์ œํ•  ๋•Œ๊นŒ์ง€ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋Š” ๋ชจ๋“  ์„ธ์…˜์— ์ ์šฉ๋˜๋ฉฐ, ๋ˆ„๊ฐ€ ์‹œ์ž‘ํ–ˆ๋Š”์ง€ ๊ด€๊ณ„์—†์Šต๋‹ˆ๋‹ค.141์—์ด์ „ํŠธ ํ”„๋ก์‹œ๋Š” ์š”์ฒญ์˜ ํ˜ธ์ŠคํŠธ๊ฐ€ ํ•ด๋‹น ์ž๊ฒฉ ์ฆ๋ช…์— ๋‚˜์—ดํ•œ ํ˜ธ์ŠคํŠธ ์ค‘ ํ•˜๋‚˜์™€ ์ผ์น˜ํ•  ๋•Œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์š”์ฒญ์— ์ฒจ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์€ ํ™˜๊ฒฝ์˜ [๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ์ˆ˜์ค€](#access-levels)์ด ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ํ—ˆ์šฉํ•˜์ง€ ์•Š์„ ๋•Œ์—๋„ ํ•ด๋‹น ํ˜ธ์ŠคํŠธ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ, [์ž๊ฒฉ ์ฆ๋ช…์„ ๋ฐ›์ง€ ์•Š๋Š” ํ˜ธ์ŠคํŠธ](#requests-that-never-get-the-credential)๋Š” ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค. ์ž๊ฒฉ ์ฆ๋ช…์€ ์‚ญ์ œํ•  ๋•Œ๊นŒ์ง€ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋Š” ๋ชจ๋“  ์„ธ์…˜์— ์ ์šฉ๋˜๋ฉฐ, ๋ˆ„๊ฐ€ ์‹œ์ž‘ํ–ˆ๋Š”์ง€๋Š” ์ƒ๊ด€์—†์Šต๋‹ˆ๋‹ค.

142 142 

143<h4 id="requests-that-never-get-the-credential">143<h4 id="requests-that-never-get-the-credential">

144 ์ž๊ฒฉ ์ฆ๋ช…์„ ๋ฐ›์ง€ ์•Š๋Š” ์š”์ฒญ144 ์ž๊ฒฉ ์ฆ๋ช…์„ ๋ฐ›์ง€ ์•Š๋Š” ์š”์ฒญ

145</h4>145</h4>

146 146 

147์—์ด์ „ํŠธ ํ”„๋ก์‹œ๋Š” ์ถ”๊ฐ€ํ•œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ด๋Ÿฌํ•œ ์š”์ฒญ์— ์ฒจ๋ถ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค:147์—์ด์ „ํŠธ ํ”„๋ก์‹œ๋Š” ๋‹ค์Œ ์š”์ฒญ์— ์ถ”๊ฐ€ํ•œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ฒจ๋ถ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

148 148 

149* **GitHub**: [GitHub ํ”„๋ก์‹œ](#github-proxy)๊ฐ€ ๋Œ€์‹  GitHub์— ๋Œ€ํ•œ ์š”์ฒญ์„ ์ธ์ฆํ•˜๋ฏ€๋กœ GitHub์— ๋Œ€ํ•œ API ์ž๊ฒฉ ์ฆ๋ช…์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค149* **GitHub**: [GitHub ํ”„๋ก์‹œ](#github-proxy)๊ฐ€ ๋Œ€์‹  GitHub์— ๋Œ€ํ•œ ์š”์ฒญ์„ ์ธ์ฆํ•˜๋ฏ€๋กœ GitHub์— ๋Œ€ํ•œ API ์ž๊ฒฉ ์ฆ๋ช…์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

150* **Anthropic API ๋ฐ ๊ณต๊ฐœ ํŒจํ‚ค์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ**: `api.anthropic.com`, `registry.npmjs.org`, `jsr.io`, `npm.jsr.io`, `pypi.org`, `files.pythonhosted.org`, `index.crates.io` ๋ฐ `proxy.golang.org`150* **Anthropic API ๋ฐ ๊ณต๊ฐœ ํŒจํ‚ค์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ**: `api.anthropic.com`, `registry.npmjs.org`, `jsr.io`, `npm.jsr.io`, `pypi.org`, `files.pythonhosted.org`, `index.crates.io`, ๋ฐ `proxy.golang.org`

151* **์„ค์ • ์Šคํฌ๋ฆฝํŠธ ์š”์ฒญ**: Claude Code๋Š” [์„ค์ • ์Šคํฌ๋ฆฝํŠธ](#setup-scripts)๊ฐ€ ์‹คํ–‰๋œ ํ›„ ์‹œ์ž‘๋  ๋•Œ ์—์ด์ „ํŠธ ํ”„๋ก์‹œ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค151* **Setup script ์š”์ฒญ**: Claude Code๋Š” [์„ค์ • ์Šคํฌ๋ฆฝํŠธ](#setup-scripts)๊ฐ€ ์‹คํ–‰๋œ ํ›„ ์‹œ์ž‘ํ•  ๋•Œ ์—์ด์ „ํŠธ ํ”„๋ก์‹œ์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

152 152 

153<h3 id="select-an-environment-from-the-cli">153<h3 id="select-an-environment-from-the-cli">

154 CLI์—์„œ ํ™˜๊ฒฝ ์„ ํƒ154 CLI์—์„œ ํ™˜๊ฒฝ ์„ ํƒ

155</h3>155</h3>

156 156 

157ํ„ฐ๋ฏธ๋„์—์„œ `/remote-env`๋ฅผ ์‹คํ–‰ํ•˜์—ฌ [`claude --cloud`](/docs/ko/claude-code-on-the-web#from-terminal-to-cloud)์™€ ๊ฐ™์€ CLI์—์„œ ์ƒ์„ฑํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์„ธ์…˜์˜ ๊ธฐ๋ณธ ํ™˜๊ฒฝ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์€ ๊ธฐ์กด ํ™˜๊ฒฝ์˜ ์„ ํƒ๊ธฐ๋ฅผ ์—ด๊ณ  ์„ ํƒ์„ [์‚ฌ์šฉ์ž ์„ค์ •](/docs/ko/settings#where-settings-live)์˜ `remote.defaultEnvironmentId` ํ‚ค์— ์ €์žฅํ•˜๋ฏ€๋กœ ๋ณ€๊ฒฝํ•  ๋•Œ๊นŒ์ง€ ๋จธ์‹ ์˜ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์— ์ ์šฉ๋˜๋ฉฐ, ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ํ”„๋กœ์ ํŠธ ์„ค์ •๊ณผ ๊ฐ™์€ ๋” ๋†’์€ ์šฐ์„ ์ˆœ์œ„ [์„ค์ • ๊ณ„์ธต](/docs/ko/settings#settings-precedence)์—์„œ ๋™์ผํ•œ ํ‚ค๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š๋Š” ํ•œ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.157ํ„ฐ๋ฏธ๋„์—์„œ `/remote-env`๋ฅผ ์‹คํ–‰ํ•˜์—ฌ [`claude --cloud`](/docs/ko/claude-code-on-the-web#from-terminal-to-cloud)์™€ ๊ฐ™์ด CLI์—์„œ ์ƒ์„ฑํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์„ธ์…˜์˜ ๊ธฐ๋ณธ ํ™˜๊ฒฝ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์€ ๊ธฐ์กด ํ™˜๊ฒฝ์˜ ์„ ํƒ๊ธฐ๋ฅผ ์—ด๊ณ  ์„ ํƒ์„ [์‚ฌ์šฉ์ž ์„ค์ •](/docs/ko/settings#where-settings-live)์˜ `remote.defaultEnvironmentId` ํ‚ค์— ์ €์žฅํ•˜๋ฏ€๋กœ, ๋ณ€๊ฒฝํ•  ๋•Œ๊นŒ์ง€ ๋จธ์‹ ์˜ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์— ์ ์šฉ๋˜๋ฉฐ, ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ํ”„๋กœ์ ํŠธ ์„ค์ •๊ณผ ๊ฐ™์€ ๋” ๋†’์€ ์šฐ์„  ์ˆœ์œ„ [์„ค์ • ๋ ˆ์ด์–ด](/docs/ko/settings#settings-precedence)์—์„œ ๋™์ผํ•œ ํ‚ค๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

158 158 

159[์ž์ฒด ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ](/docs/ko/self-hosted-environments) ID(ํ˜•์‹ `ccpool_...`)๋Š” ๋” ์—„๊ฒฉํ•œ ์†Œ์Šค ๊ทœ์น™์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. [`remote.defaultEnvironmentId`](/docs/ko/settings-reference#remote-defaultenvironmentid)๋ฅผ ์ฐธ์กฐํ•˜์—ฌ Claude Code๊ฐ€ ์ด๋ฅผ ์ธ์ •ํ•˜๋Š” ์„ค์ • ๊ณ„์ธต์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.159[์ž์ฒด ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ](/docs/ko/self-hosted-environments) ID๋Š” `ccpool_...` ํ˜•์‹์ด๋ฉฐ ๋” ์—„๊ฒฉํ•œ ์†Œ์Šค ๊ทœ์น™์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. Claude Code๊ฐ€ ์ด๋ฅผ ์ธ์ •ํ•˜๋Š” ์„ค์ • ๋ ˆ์ด์–ด๋Š” [`remote.defaultEnvironmentId`](/docs/ko/settings-reference#remote-defaultenvironmentid)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

160 160 

161`/remote-env`๋Š” ๊ธฐ๋ณธ๊ฐ’๋งŒ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค: ์„ธ์…˜์„ ์‹œ์ž‘ํ•˜์ง€ ์•Š์œผ๋ฉฐ ํ™˜๊ฒฝ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ํŽธ์ง‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. [ํ™˜๊ฒฝ ์„ ํƒ๊ธฐ](#configure-your-environment)์—์„œ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.161`/remote-env`๋Š” ๊ธฐ๋ณธ๊ฐ’๋งŒ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์„ ์‹œ์ž‘ํ•˜์ง€ ์•Š์œผ๋ฉฐ ํ™˜๊ฒฝ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ํŽธ์ง‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. [ํ™˜๊ฒฝ ์„ ํƒ๊ธฐ](#configure-your-environment)์—์„œ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

162 162 

163<h3 id="archive-an-environment">163<h3 id="archive-an-environment">

164 ํ™˜๊ฒฝ ๋ณด๊ด€164 ํ™˜๊ฒฝ ๋ณด๊ด€

165</h3>165</h3>

166 166 

167ํ™˜๊ฒฝ์„ ๋ณด๊ด€ํ•˜๋ ค๋ฉด ํŽธ์ง‘์„ ์œ„ํ•ด ์—ด๊ณ  **Archive**๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์„ ์‚ญ์ œํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ๋ณด๊ด€๋งŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.167์ž์‹ ์˜ ํ™˜๊ฒฝ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ณด๊ด€ํ•˜๋ ค๋ฉด ํŽธ์ง‘์„ ์œ„ํ•ด ์—ด๊ณ  **Archive**๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. Owner๋Š” ๊ด€๋ฆฌ ์„ค์ •์˜ **Cloud environments** ํŽ˜์ด์ง€์—์„œ [๊ณต์œ  ํ™˜๊ฒฝ](#organization-shared-environments)์„ ๋ณด๊ด€ํ•ฉ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์„ ์‚ญ์ œํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ๋ณด๊ด€๋งŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

168 168 

169๋ณด๊ด€์€ ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์ด ์•„๋‹Œ ์ƒˆ ์„ธ์…˜์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค:169๋ณด๊ด€์€ ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์ด ์•„๋‹Œ ์ƒˆ ์„ธ์…˜์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

170 170 

171* ํ™˜๊ฒฝ์—์„œ ์ด๋ฏธ ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์€ ๊ณ„์† ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.171* ํ™˜๊ฒฝ์—์„œ ์ด๋ฏธ ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์€ ๊ณ„์† ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

172* ํ™˜๊ฒฝ์ด ์„ ํƒ๊ธฐ ๋ฐ `/remote-env`์—์„œ ์‚ฌ๋ผ์ง€๋ฏ€๋กœ ์ƒˆ ์„ธ์…˜์— ๋Œ€ํ•ด ์„ ํƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.172* ํ™˜๊ฒฝ์ด ์„ ํƒ๊ธฐ ๋ฐ `/remote-env`์—์„œ ์‚ฌ๋ผ์ง€๋ฏ€๋กœ ์ƒˆ ์„ธ์…˜์— ๋Œ€ํ•ด ์„ ํƒํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

173* ํ™˜๊ฒฝ์˜ API ์ž๊ฒฉ ์ฆ๋ช…์€ ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์— ์ฒจ๋ถ€๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ๋ณด๊ด€ํ•˜๊ธฐ ์ „์— ๋” ์ด์ƒ ์›ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.173* ํ™˜๊ฒฝ์˜ API ์ž๊ฒฉ ์ฆ๋ช…์€ ์‹คํ–‰ ์ค‘์ธ ์„ธ์…˜์— ์ฒจ๋ถ€๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ๋ณด๊ด€ํ•˜๊ธฐ ์ „์— ๋” ์ด์ƒ ์›ํ•˜์ง€ ์•Š๋Š” ํ•ญ๋ชฉ์„ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

174* ๋ชจ๋“  ํ‘œ๋ฉด์—์„œ ๋ณด๊ด€๋œ ํ™˜๊ฒฝ์—์„œ ์ƒˆ ์„ธ์…˜์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์ด ์ €์žฅ๋œ [CLI ๊ธฐ๋ณธ๊ฐ’](#select-an-environment-from-the-cli)์ธ ๊ฒฝ์šฐ Claude Code๋Š” ๋ชฉ๋ก์— ํ•˜๋‚˜๊ฐ€ ์žˆ์œผ๋ฉด Anthropic ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ์—์„œ CLI ํด๋ผ์šฐ๋“œ ์„ธ์…˜์„ ์‹œ์ž‘ํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด [Remote Control ๋ธŒ๋ฆฌ์ง€ ํ™˜๊ฒฝ](#the-default-environment)์ด ์•„๋‹Œ ๋ชฉ๋ก์˜ ์ฒซ ๋ฒˆ์งธ ํ™˜๊ฒฝ์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. [๋ฃจํ‹ด](/docs/ko/routines#environments-and-network-access)๊ณผ ๊ฐ™์ด ํ™˜๊ฒฝ์œผ๋กœ ๋ช…์‹œ์ ์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ชจ๋“  ๊ฒƒ์€ ์ƒˆ ์„ธ์…˜์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ™˜๊ฒฝ์„ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.174* ๋ณด๊ด€๋œ ํ™˜๊ฒฝ์—์„œ๋Š” ์–ด๋–ค ํ‘œ๋ฉด์—์„œ๋„ ์ƒˆ ์„ธ์…˜์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์ด ์ €์žฅ๋œ [CLI ๊ธฐ๋ณธ๊ฐ’](#select-an-environment-from-the-cli)์ด์—ˆ๋‹ค๋ฉด, ๋ชฉ๋ก์— Anthropic ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ์ด ์žˆ์„ ๋•Œ Claude Code๋Š” CLI ํด๋ผ์šฐ๋“œ ์„ธ์…˜์„ ํ•ด๋‹น ํ™˜๊ฒฝ์—์„œ ์‹œ์ž‘ํ•˜๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด [Remote Control ๋ธŒ๋ฆฌ์ง€ ํ™˜๊ฒฝ](#the-default-environment)์ด ์•„๋‹Œ ๋ชฉ๋ก์˜ ์ฒซ ๋ฒˆ์งธ ํ™˜๊ฒฝ์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. [๋ฃจํ‹ด](/docs/ko/routines#environments-and-network-access)๊ณผ ๊ฐ™์ด ํ™˜๊ฒฝ์œผ๋กœ ๋ช…์‹œ์ ์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ชจ๋“  ํ•ญ๋ชฉ์€ ์ƒˆ ์„ธ์…˜์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ™˜๊ฒฝ์„ ๊ฐ€๋ฆฌํ‚ค๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

175 175 

176<h3 id="organization-shared-environments">176<h3 id="organization-shared-environments">

177 ์กฐ์ง ๊ณต์œ  ํ™˜๊ฒฝ177 ์กฐ์ง ๊ณต์œ  ํ™˜๊ฒฝ

178</h3>178</h3>

179 179 

180Team ๋ฐ Enterprise ํ”Œ๋žœ์—์„œ Owner๋Š” ์กฐ์ง์˜ ๋ชจ๋“  ๊ตฌ์„ฑ์›๊ณผ ๊ณต์œ ๋˜๋Š” ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ์—ญํ• ์ด **Cloud environments** ๊ด€๋ฆฌ ํŽ˜์ด์ง€์˜ [์ž์ฒด ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ](/docs/ko/self-hosted-environments)์„ ํฌํ•จํ•œ ๋‹ค๋ฅธ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. Admin ์—ญํ• ์€ ํŽ˜์ด์ง€๋ฅผ ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์—ด ์ˆ˜ ์žˆ๋Š” ์—ญํ• ์˜ ์ „์ฒด ๋ชฉ๋ก์€ [์„œ๋ฒ„ ๊ด€๋ฆฌ ์„ค์ • ๊ด€๋ฆฌ](/docs/ko/server-managed-settings#access-control)๋ฅผ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ณต์œ  ํ™˜๊ฒฝ์€ ๊ฐ ๊ตฌ์„ฑ์›์˜ ํ™˜๊ฒฝ ์„ ํƒ๊ธฐ์— ๊ฐœ์ธ ํ™˜๊ฒฝ๊ณผ ํ•จ๊ป˜ ๋‚˜ํƒ€๋‚˜๋ฏ€๋กœ ํŒ€์ด ๊ฐ ๊ตฌ์„ฑ์›์ด ๋‹ค์‹œ ์ƒ์„ฑํ•˜๋Š” ๋Œ€์‹  ํ•˜๋‚˜์˜ ๊ตฌ์„ฑ์œผ๋กœ ํ‘œ์ค€ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.180Team ๋ฐ Enterprise ํ”Œ๋žœ์—์„œ Owner๋Š” ์กฐ์ง์˜ ๋ชจ๋“  ๊ตฌ์„ฑ์›๊ณผ ๊ณต์œ ๋˜๋Š” ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ์—ญํ• ์€ **Cloud environments** ๊ด€๋ฆฌ ํŽ˜์ด์ง€์—์„œ [์ž์ฒด ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ](/docs/ko/self-hosted-environments)์„ ํฌํ•จํ•œ ๋‹ค๋ฅธ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. Admin ์—ญํ• ์€ ํŽ˜์ด์ง€๋ฅผ ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์—ด ์ˆ˜ ์žˆ๋Š” ์—ญํ• ์˜ ์ „์ฒด ๋ชฉ๋ก์€ [์„œ๋ฒ„ ๊ด€๋ฆฌ ์„ค์ • ๊ด€๋ฆฌ](/docs/ko/server-managed-settings#access-control)์— ๋Œ€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

181 181 

182[๊ด€๋ฆฌ์ž ์„ค์ •](https://claude.ai/admin-settings)์˜ **Cloud environments** ํŽ˜์ด์ง€์—์„œ ๊ณต์œ  ํ™˜๊ฒฝ์„ ์ƒ์„ฑ, ํŽธ์ง‘ ๋ฐ ๋ณด๊ด€ํ•ฉ๋‹ˆ๋‹ค. ๊ณต์œ  ํ™˜๊ฒฝ์€ [claude.ai/code](https://claude.ai/code)์˜ [ํ™˜๊ฒฝ ์„ ํƒ๊ธฐ](#configure-your-environment)์—์„œ๋„ ์—ด๋ฆฝ๋‹ˆ๋‹ค: Owner๋Š” ๊ฑฐ๊ธฐ์—์„œ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ตฌ์„ฑ์›์€ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ๋ด…๋‹ˆ๋‹ค. ๊ฐ ๊ณต์œ  ํ™˜๊ฒฝ์—๋Š” ์ด๋ฆ„, [๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ์ˆ˜์ค€](#access-levels), `.env` ํ˜•์‹์˜ [ํ™˜๊ฒฝ ๋ณ€์ˆ˜](#set-environment-variables) ๋ฐ [์„ค์ • ์Šคํฌ๋ฆฝํŠธ](#setup-scripts)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Owner๋Š” [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)์—์„œ ์กฐ์ง์˜ [๊ธฐ๋ณธ ํ™˜๊ฒฝ](#the-default-environment)์„ ๋ณ„๋„๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.182๊ณต์œ  ํ™˜๊ฒฝ์€ ๊ฐ ๊ตฌ์„ฑ์›์˜ [ํ™˜๊ฒฝ ์„ ํƒ๊ธฐ](#configure-your-environment)์— **Organization** ์ œ๋ชฉ ์•„๋ž˜์— ๋‚˜ํƒ€๋‚˜๋ฉฐ, ๊ตฌ์„ฑ์›์˜ ์ž์‹ ์˜ ํ™˜๊ฒฝ์€ **Personal** ์•„๋ž˜์— ์žˆ์œผ๋ฏ€๋กœ, ํŒ€์ด ๊ฐ ๊ตฌ์„ฑ์›์ด ๋‹ค์‹œ ์ƒ์„ฑํ•˜๋Š” ๋Œ€์‹  ํ•˜๋‚˜์˜ ๊ตฌ์„ฑ์œผ๋กœ ํ‘œ์ค€ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต์œ  ํ™˜๊ฒฝ์˜ ์„ค์ • ์•„์ด์ฝ˜์„ ์„ ํƒํ•˜๋ฉด ๋ชจ๋“  ๊ตฌ์„ฑ์›(Owner ํฌํ•จ)์— ๋Œ€ํ•œ ๊ตฌ์„ฑ์˜ ์ฝ๊ธฐ ์ „์šฉ ์š”์•ฝ์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค.

183 183 

184๋ชจ๋“  ๊ตฌ์„ฑ์›์˜ ๊ณต์œ  ํ™˜๊ฒฝ ์„ธ์…˜์€ ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ ์ฝ์œผ๋ฏ€๋กœ ๋น„๋ฐ€์„ ํฌํ•จํ•˜์ง€ ๋งˆ์„ธ์š”. [API ์ž๊ฒฉ ์ฆ๋ช…](#add-api-credentials)์€ ์„ธ์…˜์ด ์ฝ์„ ์ˆ˜ ์—†๋Š” ํ‚ค๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ Team ๋˜๋Š” Enterprise ํ”Œ๋žœ์—์„œ๋Š” ์•„์ง ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.184Owner๋Š” ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ ํ™˜๊ฒฝ์„ ์กฐ์ง์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

185 

186* **๊ณต์œ  ํ™˜๊ฒฝ ์ƒ์„ฑ**: [๊ด€๋ฆฌ ์„ค์ •](https://claude.ai/admin-settings)์˜ **Cloud environments** ํŽ˜์ด์ง€๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Owner๊ฐ€ ๊ณต์œ  ํ™˜๊ฒฝ์„ ํŽธ์ง‘ํ•˜๊ณ  ๋ณด๊ด€ํ•˜๋Š” ๊ณณ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์€ ์ด๋ฆ„, [๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ์ˆ˜์ค€](#access-levels), `.env` ํ˜•์‹์˜ [ํ™˜๊ฒฝ ๋ณ€์ˆ˜](#set-environment-variables), ๋ฐ [์„ค์ • ์Šคํฌ๋ฆฝํŠธ](#setup-scripts)๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

187* **๊ฐœ์ธ ํ™˜๊ฒฝ ๊ณต์œ **: ํ™˜๊ฒฝ ์„ ํƒ๊ธฐ์—์„œ ์ž์‹ ์˜ ํ™˜๊ฒฝ ์ค‘ ํ•˜๋‚˜๋ฅผ ํŽธ์ง‘์„ ์œ„ํ•ด ์—ด๊ณ , **Who can use it** ํ–‰์—์„œ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์€ ID๋ฅผ ์œ ์ง€ํ•˜๋ฏ€๋กœ ์ด๋ฏธ ์‚ฌ์šฉ ์ค‘์ธ ์„ธ์…˜ ๋ฐ ๋ฃจํ‹ด์€ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์œผ๋ฉฐ, ๋ชจ๋“  ๊ตฌ์„ฑ์›์ด ์ด๋ฅผ ๋ณด๊ณ  ์„ธ์…˜์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

188 

189Owner๋Š” [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)์—์„œ ์กฐ์ง์˜ [๊ธฐ๋ณธ ํ™˜๊ฒฝ](#the-default-environment)์„ ๋ณ„๋„๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

190 

191๋ชจ๋“  ๊ตฌ์„ฑ์›์˜ ๊ณต์œ  ํ™˜๊ฒฝ์˜ ์„ธ์…˜์€ ํ•ด๋‹น ๋ณ€์ˆ˜๋ฅผ ์ฝ์œผ๋ฏ€๋กœ ๋น„๋ฐ€์„ ํฌํ•จํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. [์ž๊ฒฉ ์ฆ๋ช…์„ ์ฝ์„ ์ˆ˜ ์—†๋Š” ์„ธ์…˜์„ ์ œ๊ณตํ•˜๋Š” API ์ž๊ฒฉ ์ฆ๋ช…](#add-api-credentials)์€ Team ๋˜๋Š” Enterprise ํ”Œ๋žœ์—์„œ ์•„์ง ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

185 192 

186<h3 id="set-the-environment-a-claude-tag-channel-uses">193<h3 id="set-the-environment-a-claude-tag-channel-uses">

187 Claude Tag ์ฑ„๋„์ด ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ ์„ค์ •194 Claude Tag ์ฑ„๋„์ด ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ ์„ค์ •

188</h3>195</h3>

189 196 

190[Claude Tag](https://claude.com/docs/claude-tag/overview) ์ฑ„๋„์—์„œ Claude๋Š” ๊ตฌ์„ฑ์›์ด ์•„๋‹Œ ์กฐ์ง์˜ ๊ณต์œ  ID๋กœ ์ž‘๋™ํ•˜๋ฏ€๋กœ ์ฑ„๋„ ์„ธ์…˜์€ ์กฐ์ง ์ˆ˜์ค€ ํ™˜๊ฒฝ๋งŒ ์‚ฌ์šฉํ•˜๋ฉฐ, ๊ณต์œ  ํ™˜๊ฒฝ ๋˜๋Š” [์ž์ฒด ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ](/docs/ko/self-hosted-environments) ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์ฑ„๋„์— [์‚ฌ์ „ ์„ค์น˜๋˜์ง€ ์•Š์€](#installed-tools) .NET๊ณผ ๊ฐ™์€ ๋„๊ตฌ ์ฒด์ธ์„ ์ œ๊ณตํ•˜๋ ค๋ฉด Owner๋Š” **Cloud environments** ๊ด€๋ฆฌ ํŽ˜์ด์ง€์—์„œ [๊ณต์œ  ํ™˜๊ฒฝ](#organization-shared-environments)์„ ์ƒ์„ฑํ•˜๊ณ  ์„ค์น˜ํ•˜๋Š” [์„ค์ • ์Šคํฌ๋ฆฝํŠธ](#setup-scripts)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ ์ฑ„๋„์„ ํ™˜๊ฒฝ์— ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค:197[Claude Tag](https://claude.com/docs/claude-tag/overview) ์ฑ„๋„์—์„œ Claude๋Š” ๋ชจ๋“  ๊ตฌ์„ฑ์›์ด ์•„๋‹Œ ์กฐ์ง์˜ ๊ณต์œ  ID๋กœ ์ž‘๋™ํ•˜๋ฏ€๋กœ, ์ฑ„๋„ ์„ธ์…˜์€ ์กฐ์ง ์ˆ˜์ค€ ํ™˜๊ฒฝ๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ณต์œ  ํ™˜๊ฒฝ ๋˜๋Š” [์ž์ฒด ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ](/docs/ko/self-hosted-environments)์ž…๋‹ˆ๋‹ค. ์ฑ„๋„์— .NET๊ณผ ๊ฐ™์ด [์‚ฌ์ „ ์„ค์น˜](#installed-tools)๋˜์ง€ ์•Š์€ ๋„๊ตฌ ์ฒด์ธ์„ ์ œ๊ณตํ•˜๋ ค๋ฉด Owner๋Š” **Cloud environments** ๊ด€๋ฆฌ ํŽ˜์ด์ง€์—์„œ [๊ณต์œ  ํ™˜๊ฒฝ](#organization-shared-environments)์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์„ค์น˜ํ•˜๋Š” [์„ค์ • ์Šคํฌ๋ฆฝํŠธ](#setup-scripts)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ ์ฑ„๋„์„ ํ™˜๊ฒฝ์— ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.

191 198 

192* [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)์—์„œ ๊ณต์œ  ๋˜๋Š” ์ž์ฒด ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ์„ ์กฐ์ง์˜ [๊ธฐ๋ณธ ํ™˜๊ฒฝ](#the-default-environment)์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.199* ๊ณต์œ  ๋˜๋Š” ์ž์ฒด ํ˜ธ์ŠคํŒ… ํ™˜๊ฒฝ์„ [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)์—์„œ ์กฐ์ง์˜ [๊ธฐ๋ณธ ํ™˜๊ฒฝ](#the-default-environment)์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

193* Claude Tag ๊ด€๋ฆฌ์ž ์„ค์ •์—์„œ [์ฑ„๋„์— ํ•˜๋‚˜๋ฅผ ๊ณ ์ •](https://claude.com/docs/claude-tag/admins/troubleshooting#channel-sessions-use-the-wrong-environment-or-can%E2%80%99t-find-one)ํ•ฉ๋‹ˆ๋‹ค.200* Claude Tag ๊ด€๋ฆฌ ์„ค์ •์—์„œ [์ฑ„๋„์— ํ•˜๋‚˜๋ฅผ ๊ณ ์ •](https://claude.com/docs/claude-tag/admins/troubleshooting#channel-sessions-use-the-wrong-environment-or-can%E2%80%99t-find-one)ํ•ฉ๋‹ˆ๋‹ค.

194 201 

195<h2 id="network-access">202<h2 id="network-access">

196 ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค203 ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค


198 205 

199๊ฐ ํ™˜๊ฒฝ์€ ํ•˜๋‚˜์˜ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ์ˆ˜์ค€์„ ์„ค์ •ํ•˜๋ฉฐ, ์ด๋Š” ์„ธ์…˜์ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์•„์›ƒ๋ฐ”์šด๋“œ ์—ฐ๊ฒฐ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ˆ˜์ค€์ธ **Trusted**๋Š” ํŒจํ‚ค์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋ฐ ๊ธฐํƒ€ [ํ—ˆ์šฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ](#default-allowed-domains)์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. **Custom**์€ ์ž์‹ ์˜ ๋„๋ฉ”์ธ ๋ชฉ๋ก์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.206๊ฐ ํ™˜๊ฒฝ์€ ํ•˜๋‚˜์˜ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ์ˆ˜์ค€์„ ์„ค์ •ํ•˜๋ฉฐ, ์ด๋Š” ์„ธ์…˜์ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์•„์›ƒ๋ฐ”์šด๋“œ ์—ฐ๊ฒฐ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ˆ˜์ค€์ธ **Trusted**๋Š” ํŒจํ‚ค์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋ฐ ๊ธฐํƒ€ [ํ—ˆ์šฉ ๋ชฉ๋ก ๋„๋ฉ”์ธ](#default-allowed-domains)์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. **Custom**์€ ์ž์‹ ์˜ ๋„๋ฉ”์ธ ๋ชฉ๋ก์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

200 207 

201ํ™˜๊ฒฝ์˜ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด [ํŽธ์ง‘์„ ์œ„ํ•ด ์—ด๊ณ ](#configure-your-environment) ๋Œ€ํ™” ์ƒ์ž์—์„œ **Network access** ์„ ํƒ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ๊ธฐ๋ฅผ ์—ฌ๋Š” ํด๋ผ์šฐ๋“œ ์•„์ด์ฝ˜์€ [Default ํ™˜๊ฒฝ](#the-default-environment) ์•„๋ž˜์— ๋‚˜์—ด๋œ ์•ฑ ํ‘œ๋ฉด ๋ฐ [๋ฃจํ‹ด ํŽธ์ง‘๊ธฐ](/docs/ko/routines#environments-and-network-access)์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๊ฐœ์ธ ํ™˜๊ฒฝ์—๋Š” claude.ai ๊ณ„์ • ์„ค์ •์— ๋ณ„๋„์˜ ํŽ˜์ด์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.208ํ™˜๊ฒฝ์˜ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด [ํŽธ์ง‘์„ ์œ„ํ•ด ์—ด๊ณ ](#configure-your-environment) ๋Œ€ํ™” ์ƒ์ž์—์„œ **Network access** ์„ ํƒ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. [๊ณต์œ  ํ™˜๊ฒฝ](#organization-shared-environments)์€ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ์—ด๋ฆฌ๋ฏ€๋กœ Owner๋Š” [๊ด€๋ฆฌ ์„ค์ •](https://claude.ai/admin-settings)์˜ **Cloud environments** ํŽ˜์ด์ง€์—์„œ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ๊ธฐ๋ฅผ ์—ฌ๋Š” ํด๋ผ์šฐ๋“œ ์•„์ด์ฝ˜์€ [Default ํ™˜๊ฒฝ](#the-default-environment) ์•„๋ž˜์— ๋‚˜์—ด๋œ ์•ฑ ํ‘œ๋ฉด ๋ฐ [๋ฃจํ‹ด ํŽธ์ง‘๊ธฐ](/docs/ko/routines#environments-and-network-access)์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๊ฐœ์ธ ํ™˜๊ฒฝ์—๋Š” claude.ai ๊ณ„์ • ์„ค์ •์— ๋ณ„๋„์˜ ํŽ˜์ด์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

202 209 

203<Note>210<Note>

204 ์„ธ์…˜ ๋˜๋Š” ๋ฃจํ‹ด์—์„œ ํ™œ์„ฑํ™”ํ•œ MCP ์ปค๋„ฅํ„ฐ๋Š” **Allowed domains**์— ํ˜ธ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ปค๋„ฅํ„ฐ ํŠธ๋ž˜ํ”ฝ์ด ์„ธ์…˜์˜ ๋„คํŠธ์›Œํฌ๊ฐ€ ์•„๋‹Œ Anthropic์˜ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์ด๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋Š” [๋ณด์•ˆ ๋ฐ ๊ฒฉ๋ฆฌ](/docs/ko/claude-code-on-the-web#security-and-isolation) ์•„๋ž˜์— ์–ธ๊ธ‰๋œ ๋™์ผํ•œ Anthropic ๋ฐ”์šด๋“œ ์ฑ„๋„์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•˜์ง€ ์•Š์€ ์ปค๋„ฅํ„ฐ๋ฅผ ๋„๋ฉด Claude๊ฐ€ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.211 ์„ธ์…˜ ๋˜๋Š” ๋ฃจํ‹ด์—์„œ ํ™œ์„ฑํ™”ํ•œ MCP ์ปค๋„ฅํ„ฐ๋Š” **Allowed domains**์— ํ˜ธ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ปค๋„ฅํ„ฐ ํŠธ๋ž˜ํ”ฝ์ด ์„ธ์…˜์˜ ๋„คํŠธ์›Œํฌ๊ฐ€ ์•„๋‹Œ Anthropic์˜ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์ด๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋Š” [๋ณด์•ˆ ๋ฐ ๊ฒฉ๋ฆฌ](/docs/ko/claude-code-on-the-web#security-and-isolation) ์•„๋ž˜์— ์–ธ๊ธ‰๋œ ๋™์ผํ•œ Anthropic ๋ฐ”์šด๋“œ ์ฑ„๋„์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•˜์ง€ ์•Š์€ ์ปค๋„ฅํ„ฐ๋ฅผ ๋„๋ฉด Claude๊ฐ€ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

errors.md +2 โˆ’0

Details

1740 1740 

1741**์ˆ˜ํ–‰ํ•  ์ž‘์—…:**1741**์ˆ˜ํ–‰ํ•  ์ž‘์—…:**

1742 1742 

1743์ด๋Ÿฌํ•œ ๋‹จ๊ณ„๋Š” ์ž์‹ ์˜ ํ™˜๊ฒฝ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. [์กฐ์ง ๊ณต์œ  ํ™˜๊ฒฝ](/docs/ko/cloud-environments#organization-shared-environments)์€ ์„ ํƒ๊ธฐ์—์„œ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ์—ด๋ฆฌ๋ฏ€๋กœ, [๊ด€๋ฆฌ ์„ค์ •](https://claude.ai/admin-settings)์˜ **ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ** ํŽ˜์ด์ง€์—์„œ ์†Œ์œ ์ž์—๊ฒŒ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.

1744 

1743* ๋ฃจํ‹ด์„ ํŽธ์ง‘ํ•˜๊ธฐ ์œ„ํ•ด ์—ด๊ฑฐ๋‚˜ ํด๋ผ์šฐ๋“œ ์„ธ์…˜์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์˜ ์ด๋ฆ„(์˜ˆ: **๊ธฐ๋ณธ**)์„ ํ‘œ์‹œํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์•„์ด์ฝ˜์„ ์„ ํƒํ•˜์—ฌ ์„ ํƒ๊ธฐ๋ฅผ ์—ฝ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ ์œ„์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๊ณ  ์„ค์ • ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.1745* ๋ฃจํ‹ด์„ ํŽธ์ง‘ํ•˜๊ธฐ ์œ„ํ•ด ์—ด๊ฑฐ๋‚˜ ํด๋ผ์šฐ๋“œ ์„ธ์…˜์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์˜ ์ด๋ฆ„(์˜ˆ: **๊ธฐ๋ณธ**)์„ ํ‘œ์‹œํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์•„์ด์ฝ˜์„ ์„ ํƒํ•˜์—ฌ ์„ ํƒ๊ธฐ๋ฅผ ์—ฝ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ ์œ„์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๊ณ  ์„ค์ • ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

1744* **ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ ์—…๋ฐ์ดํŠธ** ๋Œ€ํ™” ์ƒ์ž์—์„œ **๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค**๋ฅผ **์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š”**์—์„œ **์‚ฌ์šฉ์ž ์ •์˜**๋กœ ๋ณ€๊ฒฝํ•œ ๋‹ค์Œ ์ฐจ๋‹จ๋œ ๋„๋ฉ”์ธ์„ **ํ—ˆ์šฉ๋œ ๋„๋ฉ”์ธ**์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. **๋˜ํ•œ ์ผ๋ฐ˜์ ์ธ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์˜ ๊ธฐ๋ณธ ๋ชฉ๋ก ํฌํ•จ**์„ ํ™•์ธํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •์˜ ๋„๋ฉ”์ธ๊ณผ ํ•จ๊ป˜ [๊ธฐ๋ณธ ํ—ˆ์šฉ ๋ชฉ๋ก](/docs/ko/cloud-environments#default-allowed-domains)์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ œํ•œ ์—†๋Š” ์•ก์„ธ์Šค๋ฅผ ์›ํ•˜๋Š” ๊ฒฝ์šฐ ๋Œ€์‹  **์ „์ฒด**๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.1746* **ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ ์—…๋ฐ์ดํŠธ** ๋Œ€ํ™” ์ƒ์ž์—์„œ **๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค**๋ฅผ **์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š”**์—์„œ **์‚ฌ์šฉ์ž ์ •์˜**๋กœ ๋ณ€๊ฒฝํ•œ ๋‹ค์Œ ์ฐจ๋‹จ๋œ ๋„๋ฉ”์ธ์„ **ํ—ˆ์šฉ๋œ ๋„๋ฉ”์ธ**์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ์ค„์— ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. **๋˜ํ•œ ์ผ๋ฐ˜์ ์ธ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์˜ ๊ธฐ๋ณธ ๋ชฉ๋ก ํฌํ•จ**์„ ํ™•์ธํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •์˜ ๋„๋ฉ”์ธ๊ณผ ํ•จ๊ป˜ [๊ธฐ๋ณธ ํ—ˆ์šฉ ๋ชฉ๋ก](/docs/ko/cloud-environments#default-allowed-domains)์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ œํ•œ ์—†๋Š” ์•ก์„ธ์Šค๋ฅผ ์›ํ•˜๋Š” ๊ฒฝ์šฐ ๋Œ€์‹  **์ „์ฒด**๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

1745* **๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ €์žฅ**์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์‹คํ–‰์€ ์—…๋ฐ์ดํŠธ๋œ ํ—ˆ์šฉ ๋ชฉ๋ก์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.1747* **๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ €์žฅ**์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์‹คํ–‰์€ ์—…๋ฐ์ดํŠธ๋œ ํ—ˆ์šฉ ๋ชฉ๋ก์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

permission-modes.md +6 โˆ’4

Details

328 328 

329v2.1.158๋ถ€ํ„ฐ v2.1.206๊นŒ์ง€ ์ž๋™ ๋ชจ๋“œ๋Š” `CLAUDE_CODE_ENABLE_AUTO_MODE=1`์„ ์„ค์ •ํ•  ๋•Œ๊นŒ์ง€ ์ด ์ œ๊ณต์ž๋“ค์—์„œ ๊บผ์ ธ ์žˆ์—ˆ๊ณ , Claude Code๋Š” ๋ณ€์ˆ˜๋„ ์„ค์ •๋˜์ง€ ์•Š์œผ๋ฉด ์ด ์ œ๊ณต์ž๋“ค์—์„œ `defaultMode: "auto"`๋ฅผ ๋ฌด์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋Š” ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ์—ฌ์ „ํžˆ ํ—ˆ์šฉ๋˜๋ฉฐ v2.1.207 ์ดํ›„๋กœ๋Š” ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.329v2.1.158๋ถ€ํ„ฐ v2.1.206๊นŒ์ง€ ์ž๋™ ๋ชจ๋“œ๋Š” `CLAUDE_CODE_ENABLE_AUTO_MODE=1`์„ ์„ค์ •ํ•  ๋•Œ๊นŒ์ง€ ์ด ์ œ๊ณต์ž๋“ค์—์„œ ๊บผ์ ธ ์žˆ์—ˆ๊ณ , Claude Code๋Š” ๋ณ€์ˆ˜๋„ ์„ค์ •๋˜์ง€ ์•Š์œผ๋ฉด ์ด ์ œ๊ณต์ž๋“ค์—์„œ `defaultMode: "auto"`๋ฅผ ๋ฌด์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋Š” ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด ์—ฌ์ „ํžˆ ํ—ˆ์šฉ๋˜๋ฉฐ v2.1.207 ์ดํ›„๋กœ๋Š” ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

330 330 

331<h4 id="server-side-classifier-review">331<h3 id="server-side-classifier-review">

332 ์„œ๋ฒ„ ์ธก ๋ถ„๋ฅ˜๊ธฐ ๊ฒ€ํ† 332 ์„œ๋ฒ„ ์ธก ๋ถ„๋ฅ˜๊ธฐ ๊ฒ€ํ† 

333</h4>333</h3>

334 

335Enterprise ํ”Œ๋žœ ๋ฐ Claude API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณ„์ •, [AWS์˜ Claude Platform](/docs/ko/claude-platform-on-aws), Amazon Bedrock, Google Cloud์˜ Agent Platform, Microsoft Foundry์—์„œ, ๊ทธ๋ฆฌ๊ณ  `ANTHROPIC_BASE_URL`์„ [LLM ๊ฒŒ์ดํŠธ์›จ์ด ๋˜๋Š” ํ”„๋ก์‹œ](/docs/ko/llm-gateway)๋กœ ์ง€์ •ํ•  ๋•Œ๋งˆ๋‹ค ์ž๋™ ๋ชจ๋“œ์˜ Claude Code๋Š” ์„œ๋ฒ„์— [๋ถ„๋ฅ˜๊ธฐ๋กœ ์ด๋™ํ•˜๋Š” ์ž‘์—…](#how-the-classifier-evaluates-actions)์„ ์„ธ์…˜์˜ ๋ชจ๋ธ ์š”์ฒญ์˜ ์ผ๋ถ€๋กœ ๊ฒ€ํ† ํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ์ด๋ฅผ ๊ฒ€ํ† ํ•˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ํŒ์ •์ด ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ๊ฒ€ํ† ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ (์ผ๋ฐ˜์ ์œผ๋กœ LLM ๊ฒŒ์ดํŠธ์›จ์ด ๋˜๋Š” ํ”„๋ก์‹œ๊ฐ€ ํŠธ๋ž˜ํ”ฝ์„ ๋ฐฉํ•ดํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๊ฑฐ๋‚˜ ํ”Œ๋žซํผ, ์ง€์—ญ ๋˜๋Š” ์ž๊ฒฉ ์ฆ๋ช…์ด ์•„์ง ์„œ๋ฒ„ ์ธก ๊ฒ€์‚ฌ๋ฅผ ๊ฐ–์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ) Claude Code๋Š” ์ž์ฒด ๋ถ„๋ฅ˜๊ธฐ ์š”์ฒญ์œผ๋กœ ํด๋ฐฑํ•˜๊ณ , ํ•ด๋‹น ํด๋ฐฑ์ด ์„ธ์…˜์˜ ๋‚˜๋จธ์ง€ ๋™์•ˆ ์œ ์ง€๋˜๋ฉด ์ด๋ฅผ ์š”์ฒญ์ด ์ฒญ๊ตฌ๋˜๋Š” ๊ณ„์ •์—์„œ [๋ถ„๋ฅ˜๊ธฐ ์š”์ฒญ ์š”๊ธˆ์— ๋Œ€ํ•œ ๊ณต์ง€](/docs/ko/auto-mode-classifier-billing)๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„์— ์š”์ฒญํ•˜๋Š” ๊ฒƒ์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ํ•ญ์ƒ Claude Code์˜ ์ž์ฒด ๋ถ„๋ฅ˜๊ธฐ ์š”์ฒญ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/ko/env-vars)์„ ์„ค์ •ํ•˜์„ธ์š”. ๋ณ€์ˆ˜๋Š” Anthropic API์— ๋Œ€ํ•œ ์ง์ ‘ ์—ฐ๊ฒฐ์—์„œ ์ฝํ˜€์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`์„ ์„ค์ •ํ•˜๊ณ  `CLAUDE_CODE_AUTO_MODE_SERVER`๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด Claude Code๋„ ์„œ๋ฒ„์— ์š”์ฒญํ•˜๋Š” ๊ฒƒ์„ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.

334 336 

335Amazon Bedrock, Google Cloud์˜ Agent Platform, Microsoft Foundry์—์„œ Claude Code๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž์ฒด ๋ถ„๋ฅ˜๊ธฐ ์š”์ฒญ์œผ๋กœ ์ž๋™ ๋ชจ๋“œ ์ž‘์—…์„ ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋žซํผ์˜ ์„œ๋ฒ„ ์ธก ๋ถ„๋ฅ˜๊ธฐ๊ฐ€ [๋ถ„๋ฅ˜๊ธฐ๋กœ ์ด๋™ํ•˜๋Š” ์ž‘์—…](#how-the-classifier-evaluates-actions)์„ ์„ธ์…˜์˜ ๋ชจ๋ธ ์š”์ฒญ์˜ ์ผ๋ถ€๋กœ ๊ฒ€ํ† ํ•˜๋„๋ก ํ•˜๋ ค๋ฉด [`CLAUDE_CODE_AUTO_MODE_SERVER=1`](/docs/ko/env-vars)์„ ์„ค์ •ํ•˜์„ธ์š”. ํ”Œ๋žซํผ์ด ๋ถ„๋ฅ˜๊ธฐ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ํŒ์ •์ด ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋žซํผ์ด ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ Claude Code๋Š” ์ž์ฒด ๋ถ„๋ฅ˜๊ธฐ ์š”์ฒญ์œผ๋กœ ํด๋ฐฑํ•ฉ๋‹ˆ๋‹ค. v2.1.271 ๋ฐ v2.1.272์—์„œ๋Š” ํ”Œ๋žซํผ์— ์š”์ฒญํ•˜๋Š” ๊ฒƒ์ด ์ด ์ œ๊ณต์ž๋“ค์˜ ๊ธฐ๋ณธ๊ฐ’์ด์—ˆ์Šต๋‹ˆ๋‹ค.337๊ธฐ๋ณธ์ ์œผ๋กœ ์„œ๋ฒ„์— ์š”์ฒญํ•˜๋ ค๋ฉด Claude Code v2.1.278 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

336 338 

337<h3 id="what-the-classifier-blocks-by-default">339<h3 id="what-the-classifier-blocks-by-default">

338 ๋ถ„๋ฅ˜๊ธฐ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฐจ๋‹จํ•˜๋Š” ๊ฒƒ340 ๋ถ„๋ฅ˜๊ธฐ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฐจ๋‹จํ•˜๋Š” ๊ฒƒ


515 517 

516 ์„ธ์…˜์˜ ์ฒซ ๋ฒˆ์งธ ์ž๋™ ๋ชจ๋“œ ์š”์ฒญ์€ Sonnet 5 ๊ธฐ๋ณธ๊ฐ’์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ์ด ์„ฑ๊ณตํ•˜๋ฉด Sonnet 5๋Š” ์„ธ์…˜์˜ ๋ถ„๋ฅ˜๊ธฐ ๋ชจ๋ธ๋กœ ์œ ์ง€๋˜๊ณ , ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์–ด์„œ ์‹คํŒจํ•˜๋ฉด ์„ธ์…˜์€ ํด๋ฐฑ์„ ๋Œ€์‹  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ฒ€์ฆ์ด ์ •์ฐฉํ•œ ํ›„ ๋ถ„๋ฅ˜๊ธฐ์˜ ๋ชจ๋ธ์€ ์„ธ์…˜ ๋™์•ˆ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.518 ์„ธ์…˜์˜ ์ฒซ ๋ฒˆ์งธ ์ž๋™ ๋ชจ๋“œ ์š”์ฒญ์€ Sonnet 5 ๊ธฐ๋ณธ๊ฐ’์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ์ด ์„ฑ๊ณตํ•˜๋ฉด Sonnet 5๋Š” ์„ธ์…˜์˜ ๋ถ„๋ฅ˜๊ธฐ ๋ชจ๋ธ๋กœ ์œ ์ง€๋˜๊ณ , ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์–ด์„œ ์‹คํŒจํ•˜๋ฉด ์„ธ์…˜์€ ํด๋ฐฑ์„ ๋Œ€์‹  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ฒ€์ฆ์ด ์ •์ฐฉํ•œ ํ›„ ๋ถ„๋ฅ˜๊ธฐ์˜ ๋ชจ๋ธ์€ ์„ธ์…˜ ๋™์•ˆ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

517 519 

518 Enterprise ํ”Œ๋žœ ๋ฐ Claude API, [AWS์˜ Claude Platform](/docs/ko/claude-platform-on-aws), Amazon Bedrock, Google Cloud์˜ Agent Platform ๋˜๋Š” Microsoft Foundry๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณ„์ •์—์„œ ๋ถ„๋ฅ˜๊ธฐ ํ˜ธ์ถœ์€ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰์— ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ๊ฒ€์‚ฌ๋Š” ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ์˜ ์ผ๋ถ€์™€ ๋ณด๋ฅ˜ ์ค‘์ธ ์ž‘์—…์„ ๋ณด๋‚ด๋ฉฐ ์‹คํ–‰ ์ „์— ์™•๋ณต์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ฝ๊ธฐ ๋ฐ ๋ณดํ˜ธ๋œ ๊ฒฝ๋กœ ์™ธ๋ถ€์˜ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ ํŽธ์ง‘์€ ๋ถ„๋ฅ˜๊ธฐ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋ฏ€๋กœ ์˜ค๋ฒ„ํ—ค๋“œ๋Š” ์ฃผ๋กœ ์…ธ ๋ช…๋ น ๋ฐ ๋„คํŠธ์›Œํฌ ์ž‘์—…์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. Amazon Bedrock, Google Cloud์˜ Agent Platform, Microsoft Foundry์—์„œ ๊ฒ€ํ† ๋ฅผ ์„ธ์…˜์˜ ๋ชจ๋ธ ์š”์ฒญ์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. [์„œ๋ฒ„ ์ธก ๋ถ„๋ฅ˜๊ธฐ ๊ฒ€ํ† ](#server-side-classifier-review)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.520 Enterprise ํ”Œ๋žœ ๋ฐ Claude API, [AWS์˜ Claude Platform](/docs/ko/claude-platform-on-aws), Amazon Bedrock, Google Cloud์˜ Agent Platform ๋˜๋Š” Microsoft Foundry๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณ„์ •์—์„œ ๋ถ„๋ฅ˜๊ธฐ ํ˜ธ์ถœ์€ ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰์— ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ๊ฒ€์‚ฌ๋Š” ํŠธ๋žœ์Šคํฌ๋ฆฝํŠธ์˜ ์ผ๋ถ€์™€ ๋ณด๋ฅ˜ ์ค‘์ธ ์ž‘์—…์„ ๋ณด๋‚ด๋ฉฐ ์‹คํ–‰ ์ „์— ์™•๋ณต์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ฝ๊ธฐ ๋ฐ ๋ณดํ˜ธ๋œ ๊ฒฝ๋กœ ์™ธ๋ถ€์˜ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ ํŽธ์ง‘์€ ๋ถ„๋ฅ˜๊ธฐ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋ฏ€๋กœ ์˜ค๋ฒ„ํ—ค๋“œ๋Š” ์ฃผ๋กœ ์…ธ ๋ช…๋ น ๋ฐ ๋„คํŠธ์›Œํฌ ์ž‘์—…์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ์„ธ์…˜์˜ ๋ชจ๋ธ ์š”์ฒญ์˜ ์ผ๋ถ€๋กœ ์ž‘์—…์„ ๊ฒ€ํ† ํ•˜๋Š” ๊ฒฝ์šฐ ๊ณ„์‚ฐํ•  ๋ณ„๋„์˜ ๋ถ„๋ฅ˜๊ธฐ ํ˜ธ์ถœ์ด ์—†์Šต๋‹ˆ๋‹ค. [์„œ๋ฒ„ ์ธก ๋ถ„๋ฅ˜๊ธฐ ๊ฒ€ํ† ](#server-side-classifier-review)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

519 521 

520 ์ƒŒ๋“œ๋ฐ•์Šค ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค๋Š” ๋ช…๋ น๋ณ„ ๋ถ„๋ฅ˜๊ธฐ ์š”์ฒญ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ถ„๋ฅ˜๊ธฐ๋Š” [๋ช…๋ น์ด ๋ช…๋ช…ํ•˜๋Š” ํ˜ธ์ŠคํŠธ](/docs/ko/sandboxing#per-command-allowed-domains-in-auto-mode)๋ฅผ ๋ช…๋ น๊ณผ ํ•จ๊ป˜ ํŒ๋‹จํ•˜๊ณ , Claude Code๋Š” ๊ฐ ์—ฐ๊ฒฐ์„ ์Šน์ธ๋œ ๋ชฉ๋ก์— ๋Œ€ํ•ด ๋ถ„๋ฅ˜๊ธฐ๋ฅผ ๋‹ค์‹œ ํ˜ธ์ถœํ•˜์ง€ ์•Š๊ณ  ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.522 ์ƒŒ๋“œ๋ฐ•์Šค ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค๋Š” ๋ช…๋ น๋ณ„ ๋ถ„๋ฅ˜๊ธฐ ์š”์ฒญ์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ถ„๋ฅ˜๊ธฐ๋Š” [๋ช…๋ น์ด ๋ช…๋ช…ํ•˜๋Š” ํ˜ธ์ŠคํŠธ](/docs/ko/sandboxing#per-command-allowed-domains-in-auto-mode)๋ฅผ ๋ช…๋ น๊ณผ ํ•จ๊ป˜ ํŒ๋‹จํ•˜๊ณ , Claude Code๋Š” ๊ฐ ์—ฐ๊ฒฐ์„ ์Šน์ธ๋œ ๋ชฉ๋ก์— ๋Œ€ํ•ด ๋ถ„๋ฅ˜๊ธฐ๋ฅผ ๋‹ค์‹œ ํ˜ธ์ถœํ•˜์ง€ ์•Š๊ณ  ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

521 </Accordion>523 </Accordion>

routines.md +41 โˆ’26

Details

45**๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํฌํŠธ.** GitHub ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ํ•œ SDK ์ €์žฅ์†Œ์˜ ๋ณ‘ํ•ฉ๋œ PR๋กœ ํ•„ํ„ฐ๋ง๋œ `pull_request.closed`์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ฃจํ‹ด์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋‹ค๋ฅธ ์–ธ์–ด์˜ ๋ณ‘๋ ฌ SDK๋กœ ํฌํŠธํ•˜๊ณ  ์ผ์น˜ํ•˜๋Š” PR์„ ์—ด์–ด ๋‘ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋™๊ธฐํ™” ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋ฉฐ ์ธ๊ฐ„์ด ๊ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋‹ค์‹œ ๊ตฌํ˜„ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.45**๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํฌํŠธ.** GitHub ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ํ•œ SDK ์ €์žฅ์†Œ์˜ ๋ณ‘ํ•ฉ๋œ PR๋กœ ํ•„ํ„ฐ๋ง๋œ `pull_request.closed`์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ฃจํ‹ด์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋‹ค๋ฅธ ์–ธ์–ด์˜ ๋ณ‘๋ ฌ SDK๋กœ ํฌํŠธํ•˜๊ณ  ์ผ์น˜ํ•˜๋Š” PR์„ ์—ด์–ด ๋‘ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋™๊ธฐํ™” ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋ฉฐ ์ธ๊ฐ„์ด ๊ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋‹ค์‹œ ๊ตฌํ˜„ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

46 46 

47<h2 id="create-a-routine">47<h2 id="create-a-routine">

48 ๋ฃจํ‹ด ์ƒ์„ฑ48 ๋ฃจํ‹ด ๋งŒ๋“ค๊ธฐ

49</h2>49</h2>

50 50 

51์›น์˜ [claude.ai/code/routines](https://claude.ai/code/routines), ๋ฐ์Šคํฌํ†ฑ ์•ฑ ๋˜๋Š” CLI์—์„œ ๋ฃจํ‹ด์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์„ธ ๊ฐ€์ง€ ํ‘œ๋ฉด ๋ชจ๋‘ ๋™์ผํ•œ ํด๋ผ์šฐ๋“œ ๊ณ„์ •์— ์“ฐ๋ฏ€๋กœ ํ•œ ๊ณณ์—์„œ ์ƒ์„ฑํ•œ ๋ฃจํ‹ด์ด ์ฆ‰์‹œ ๋‹ค๋ฅธ ๊ณณ์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์Šคํฌํ†ฑ ์•ฑ์˜ **Code** ํƒญ์—์„œ ์‚ฌ์ด๋“œ๋ฐ”์˜ **Routines**์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ์‚ฌ์ด๋“œ๋ฐ”์˜ **More** ๋ฉ”๋‰ด์—์„œ **New routine**์„ ํด๋ฆญํ•œ ๋‹ค์Œ **Cloud**๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹  **Local**์„ ์„ ํƒํ•˜๋ฉด ๋จธ์‹ ์—์„œ ์‹คํ–‰๋˜๋Š” [๋ฐ์Šคํฌํ†ฑ ์˜ˆ์•ฝ ์ž‘์—…](/docs/ko/desktop-scheduled-tasks)์ด ์ƒ์„ฑ๋˜๋ฉฐ, ํด๋ผ์šฐ๋“œ์—์„œ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.51[claude.ai/code/routines](https://claude.ai/code/routines)์˜ ์›น์—์„œ, ๋ฐ์Šคํฌํ†ฑ ์•ฑ์—์„œ, ๋˜๋Š” CLI์—์„œ ๋ฃจํ‹ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ธ ๊ฐ€์ง€ ์ธํ„ฐํŽ˜์ด์Šค ๋ชจ๋‘ ๋™์ผํ•œ ํด๋ผ์šฐ๋“œ ๊ณ„์ •์— ์ €์žฅ๋˜๋ฏ€๋กœ, ํ•œ ๊ณณ์—์„œ ๋งŒ๋“  ๋ฃจํ‹ด์ด ๋‹ค๋ฅธ ๊ณณ์— ์ฆ‰์‹œ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ๋ฐ์Šคํฌํ†ฑ ์•ฑ์˜ **Code** ํƒญ์—์„œ ์‚ฌ์ด๋“œ๋ฐ”์˜ **Routines**์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ์‚ฌ์ด๋“œ๋ฐ”์˜ **More** ๋ฉ”๋‰ด์—์„œ **New routine**์„ ํด๋ฆญํ•œ ํ›„ **Cloud**๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹  **Local**์„ ์„ ํƒํ•˜๋ฉด [๋ฐ์Šคํฌํ†ฑ ์˜ˆ์•ฝ ์ž‘์—…](/docs/ko/desktop-scheduled-tasks)์ด ์ƒ์„ฑ๋˜๋ฉฐ, ์ด๋Š” ํด๋ผ์šฐ๋“œ๊ฐ€ ์•„๋‹Œ ์‚ฌ์šฉ์ž์˜ ๋จธ์‹ ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

52 52 

53์ƒ์„ฑ ์–‘์‹์€ ๋ฃจํ‹ด์˜ ํ”„๋กฌํ”„ํŠธ, ์ €์žฅ์†Œ, ํ™˜๊ฒฝ, ์ปค๋„ฅํ„ฐ ๋ฐ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.53์ƒ์„ฑ ์–‘์‹์€ ๋ฃจํ‹ด์˜ ํ”„๋กฌํ”„ํŠธ, ์ €์žฅ์†Œ, ํ™˜๊ฒฝ, ์ปค๋„ฅํ„ฐ ๋ฐ ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

54 54 

55๋ฃจํ‹ด์€ ์™„์ „ํ•œ Claude Code ํด๋ผ์šฐ๋“œ ์„ธ์…˜์œผ๋กœ ์ž์œจ์ ์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ถŒํ•œ ๋ชจ๋“œ ์„ ํƒ๊ธฐ๋‚˜ ์‹คํ–‰ ์ค‘ ์Šน์ธ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์„ธ์…˜์€ ์…ธ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ , ๋ณต์ œ๋œ ์ €์žฅ์†Œ์— ์ปค๋ฐ‹๋œ [skills](/docs/ko/skills)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ํฌํ•จ๋œ ๋ชจ๋“  ์ปค๋„ฅํ„ฐ๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฃจํ‹ด์ด ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์„ ํƒํ•œ ์ €์žฅ์†Œ, [ํ™˜๊ฒฝ์˜](/docs/ko/cloud-environments) ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ๋ฐ ๋ณ€์ˆ˜, ๊ทธ๋ฆฌ๊ณ  ํฌํ•จ๋œ ์ปค๋„ฅํ„ฐ์— ์˜ํ•ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ๋ฃจํ‹ด์ด ์‹ค์ œ๋กœ ํ•„์š”ํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ๊ฐ์„ ๋ฒ”์œ„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.55๋ฃจํ‹ด์€ ์ „์ฒด Claude Code ํด๋ผ์šฐ๋“œ ์„ธ์…˜์œผ๋กœ ์ž์œจ์ ์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๊ถŒํ•œ ๋ชจ๋“œ ์„ ํƒ๊ธฐ๊ฐ€ ์—†์œผ๋ฉฐ, ์„ธ์…˜์€ ์…ธ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ , ๋ณต์ œ๋œ ์ €์žฅ์†Œ์— ์ปค๋ฐ‹๋œ [skills](/docs/ko/skills)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ํฌํ•จ๋œ ๋ชจ๋“  ์ปค๋„ฅํ„ฐ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋‘ ์ผ๋ถ€ [artifact](/docs/ko/artifacts) ์ž‘์—…์„ ์ œ์™ธํ•˜๊ณ ๋Š” ์Šน์ธ์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

56 56 

57๋ฃจํ‹ด์€ ๊ฐœ๋ณ„ claude.ai ๊ณ„์ •์— ์†ํ•ฉ๋‹ˆ๋‹ค. ํŒ€์›๊ณผ ๊ณต์œ ๋˜์ง€ ์•Š์œผ๋ฉฐ ๊ณ„์ •์˜ ์ผ์ผ ์‹คํ–‰ ํ—ˆ์šฉ๋Ÿ‰์— ๋Œ€ํ•ด ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค. ๋ฃจํ‹ด์ด ์—ฐ๊ฒฐ๋œ GitHub ์‹ ์› ๋˜๋Š” ์ปค๋„ฅํ„ฐ๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ๋ชจ๋“  ์ž‘์—…์€ ์‚ฌ์šฉ์ž๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ปค๋ฐ‹ ๋ฐ ํ’€ ์š”์ฒญ์€ GitHub ์‚ฌ์šฉ์ž๋ฅผ ์ „๋‹ฌํ•˜๊ณ , Slack ๋ฉ”์‹œ์ง€, Linear ํ‹ฐ์ผ“ ๋˜๋Š” ๊ธฐํƒ€ ์ปค๋„ฅํ„ฐ ์ž‘์—…์€ ํ•ด๋‹น ์„œ๋น„์Šค์— ๋Œ€ํ•ด ์—ฐ๊ฒฐ๋œ ๊ณ„์ •์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.57๋ฃจํ‹ด์ด ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๋Š” ์„ ํƒํ•œ ์ €์žฅ์†Œ, [ํ™˜๊ฒฝ](/docs/ko/cloud-environments)์˜ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ๋ฐ ๋ณ€์ˆ˜, ๊ทธ๋ฆฌ๊ณ  ํฌํ•จ๋œ ์ปค๋„ฅํ„ฐ์— ์˜ํ•ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ๋ฃจํ‹ด์ด ์‹ค์ œ๋กœ ํ•„์š”ํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ๊ฐ์˜ ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•˜์‹ญ์‹œ์˜ค.

58 

59๋ฃจํ‹ด์˜ ์ผ์ •์ด๋‚˜ **Run now**๊ฐ€ ์‹คํ–‰์„ ์‹œ์ž‘ํ•  ๋•Œ, Claude๋Š” ๋‹ค์Œ์˜ ๋ชจ๋“  ์กฐ๊ฑด์ด ์ถฉ์กฑ๋  ๋•Œ๋งŒ ๊ธฐ์กด artifact๋ฅผ ๋‹ค์‹œ ๊ฒŒ์‹œํ•ฉ๋‹ˆ๋‹ค:

60 

61* ์‚ฌ์šฉ์ž๊ฐ€ artifact๋ฅผ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ž์‹ ์˜ ์กฐ์ง์— ์†ํ•จ

62* artifact๊ฐ€ ๊ณต๊ฐœ์ ์œผ๋กœ ๊ณต์œ ๋˜์ง€ ์•Š์œผ๋ฉฐ, ํŠน์ • ์‚ฌ๋žŒ์ด๋‚˜ ์กฐ์ง๊ณผ ๊ณต์œ ๋˜์ง€ ์•Š์œผ๋ฉฐ, ์ตœ์‹  ๋ฒ„์ „์ด ๋ทฐ์–ด๊ฐ€ ๋ณด๋Š” ๋ฒ„์ „์œผ๋กœ ์„ ํƒ๋˜์ง€ ์•Š์Œ

63* ๊ฒŒ์‹œ๊ฐ€ ํŽ˜์ด์ง€๋งŒ ํฌํ•จํ•˜๋ฉฐ, ์ง€์› ํŒŒ์ผ์ด๋‚˜ ๋‹ค๋ฅธ ๊ฒƒ์ด ์ถ”๊ฐ€๋˜์ง€ ์•Š์œผ๋ฉฐ, ๋” ์ƒˆ๋กœ์šด ๋ฒ„์ „์„ ๊ฐ•์ œ๋กœ ๋ฎ์–ด์“ฐ์ง€ ์•Š์Œ

64* ํŽ˜์ด์ง€๊ฐ€ [connector calls](/docs/ko/artifacts#pull-live-data-with-mcp-connectors)์™€ ๊ฐ™์ด ํŽ˜์ด์ง€๋ฅผ ๋„˜์–ด์„œ๋Š” ๊ถŒํ•œ์„ ๋ณด์œ ํ•˜์ง€ ์•Š์Œ

65 

66๋‹ค๋ฅธ ๋ชจ๋“  ๊ฒฝ์šฐ, ์ƒˆ๋กœ์šด artifact๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ํฌํ•จํ•˜์—ฌ Claude๋Š” ๋จผ์ € ๋ฌป์Šต๋‹ˆ๋‹ค. ๋ฃจํ‹ด์˜ ์ž‘์—…์ด ํŽ˜์ด์ง€๋ฅผ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ผ ๋•Œ, ์ด๋ฏธ ๊ฒŒ์‹œํ•œ artifact๋ฅผ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค.

67 

68๋ฃจํ‹ด์€ ๊ฐœ๋ณ„ claude.ai ๊ณ„์ •์— ์†ํ•ฉ๋‹ˆ๋‹ค. ํŒ€์›๊ณผ ๊ณต์œ ๋˜์ง€ ์•Š์œผ๋ฉฐ, ๊ณ„์ •์˜ ์ผ์ผ ์‹คํ–‰ ํ•œ๋„์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ฃจํ‹ด์ด ์—ฐ๊ฒฐ๋œ GitHub ์‹ ์›์ด๋‚˜ ์ปค๋„ฅํ„ฐ๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ๋ชจ๋“  ์ž‘์—…์€ ์‚ฌ์šฉ์ž๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ปค๋ฐ‹๊ณผ ํ’€ ์š”์ฒญ์€ GitHub ์‚ฌ์šฉ์ž๋ฅผ ํฌํ•จํ•˜๋ฉฐ, Slack ๋ฉ”์‹œ์ง€, Linear ํ‹ฐ์ผ“ ๋˜๋Š” ๊ธฐํƒ€ ์ปค๋„ฅํ„ฐ ์ž‘์—…์€ ํ•ด๋‹น ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ๋œ ๊ณ„์ •์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

58 69 

59<h3 id="create-from-the-web">70<h3 id="create-from-the-web">

60 ์›น์—์„œ ์ƒ์„ฑ71 ์›น์—์„œ ๋งŒ๋“ค๊ธฐ

61</h3>72</h3>

62 73 

63<Steps>74<Steps>

64 <Step title="์ƒ์„ฑ ์–‘์‹ ์—ด๊ธฐ">75 <Step title="์ƒ์„ฑ ์–‘์‹ ์—ด๊ธฐ">

65 [claude.ai/code/routines](https://claude.ai/code/routines)๋ฅผ ๋ฐฉ๋ฌธํ•˜๊ณ  **New routine**์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.76 [claude.ai/code/routines](https://claude.ai/code/routines)์„ ๋ฐฉ๋ฌธํ•˜๊ณ  **New routine**์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

66 </Step>77 </Step>

67 78 

68 <Step title="๋ฃจํ‹ด ์ด๋ฆ„ ์ง€์ • ๋ฐ ํ”„๋กฌํ”„ํŠธ ์ž‘์„ฑ">79 <Step title="๋ฃจํ‹ด ์ด๋ฆ„ ์ง€์ • ๋ฐ ํ”„๋กฌํ”„ํŠธ ์ž‘์„ฑ">

69 ๋ฃจํ‹ด์— ์„ค๋ช…์ ์ธ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ณ  Claude๊ฐ€ ๋งค๋ฒˆ ์‹คํ–‰ํ•  ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ๋ฃจํ‹ด์ด ์ž์œจ์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฏ€๋กœ ํ”„๋กฌํ”„ํŠธ๋Š” ์ž์ฒด ํฌํ•จ๋˜์–ด์•ผ ํ•˜๋ฉฐ ์ˆ˜ํ–‰ํ•  ์ž‘์—…๊ณผ ์„ฑ๊ณต์ด ๋ฌด์—‡์ธ์ง€์— ๋Œ€ํ•ด ๋ช…์‹œ์ ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.80 ๋ฃจํ‹ด์— ์„ค๋ช…์ ์ธ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ณ  Claude๊ฐ€ ๋งค๋ฒˆ ์‹คํ–‰ํ•  ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ๋ฃจํ‹ด์ด ์ž์œจ์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฏ€๋กœ ํ”„๋กฌํ”„ํŠธ๋Š” ์ž์ฒด ํฌํ•จ๋˜์–ด์•ผ ํ•˜๋ฉฐ ๋ฌด์—‡์„ ํ• ์ง€, ์„ฑ๊ณต์ด ๋ฌด์—‡์ฒ˜๋Ÿผ ๋ณด์ด๋Š”์ง€์— ๋Œ€ํ•ด ๋ช…์‹œ์ ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

70 81 

71 ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์„ธ์…˜์€ ๋ฃจํ‹ด์˜ ์ €์žฅ๋œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ• ๋‹น๋œ ์ž‘์—…์œผ๋กœ ๋ฐ›๊ณ  ์ด๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์ฝ˜ํ…์ธ ๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŠธ๋ฆฌ๊ฑฐ๋Š” ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๊ณ„์ •์˜ ๊ถŒํ•œ์ด ์žˆ๋Š” ์„ธ์…˜์— ์˜ํ•ด ๋ฏธ๋ฆฌ ์ €์žฅ๋˜์—ˆ์Œ์„ ์ฆ๋ช…ํ•˜๋ฏ€๋กœ ๋ฐœ์ƒํ•œ ํ”„๋กฌํ”„ํŠธ๋Š” ์‹ค์‹œ๊ฐ„ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์ด ์•„๋‹ˆ๋ฉฐ ์‹คํ–‰ ์ค‘ ์ž‘์—…์— ๋Œ€ํ•œ ์Šน์ธ ๋˜๋Š” ๋™์˜๋กœ ์ž‘์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์„ธ์…˜์ด ์‹คํ–‰ ์ค‘์— ๊ฐ€์ ธ์˜ค๋Š” ์ฝ˜ํ…์ธ ๋Š” ์ •์ƒ์ ์ธ ์ฒ˜๋ฆฌ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. v2.1.213 ์ด์ „์—๋Š” ์„ธ์…˜์ด ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์•Œ๋ฆผ์œผ๋กœ ํ”„๋ ˆ์ž„๋œ ๋™์ผํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ฐ›์•˜์œผ๋ฉฐ ์ด์— ๋Œ€ํ•ด ์ž‘๋™ํ•˜๊ธฐ๋ฅผ ๊ฑฐ๋ถ€ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.82 ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ๋ฐœ๋™๋˜๋ฉด, ์„ธ์…˜์€ ๋ฃจํ‹ด์˜ ์ €์žฅ๋œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ• ๋‹น๋œ ์ž‘์—…์œผ๋กœ ๋ฐ›๊ณ  ์ด๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์ฝ˜ํ…์ธ ๋กœ ๋Œ€ํ™” ์ค‘๊ฐ„์— ๋„์ฐฉํ•œ ๊ฒƒ์œผ๋กœ ์ทจ๊ธ‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํŠธ๋ฆฌ๊ฑฐ๋Š” ํ”„๋กฌํ”„ํŠธ๊ฐ€ ๊ณ„์ •์˜ ์Šน์ธ๋œ ์„ธ์…˜์— ์˜ํ•ด ๋ฏธ๋ฆฌ ์ €์žฅ๋˜์—ˆ์Œ์„ ์ฆ๋ช…ํ•  ๋ฟ์ด๋ฏ€๋กœ, ๋ฐœ๋™๋œ ํ”„๋กฌํ”„ํŠธ๋Š” ์‹ค์‹œ๊ฐ„ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์ด ์•„๋‹ˆ๋ฉฐ ์‹คํ–‰ ์ค‘ ์ž‘์—…์— ๋Œ€ํ•œ ์Šน์ธ์ด๋‚˜ ๋™์˜๋กœ ์ž‘์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์„ธ์…˜์ด ์‹คํ–‰ ์ค‘์— ๊ฐ€์ ธ์˜ค๋Š” ์ฝ˜ํ…์ธ ๋Š” ์ •์ƒ์ ์ธ ์ฒ˜๋ฆฌ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. v2.1.213 ์ด์ „์—๋Š” ์„ธ์…˜์ด ๋™์ผํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์•Œ๋ฆผ์œผ๋กœ ๋ฐ›์•˜์œผ๋ฉฐ ์ด์— ๋Œ€ํ•ด ์ž‘๋™ํ•˜๊ธฐ๋ฅผ ๊ฑฐ๋ถ€ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

72 83 

73 ํ”„๋กฌํ”„ํŠธ ์ž…๋ ฅ์—๋Š” ๋ชจ๋ธ ์„ ํƒ๊ธฐ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. Claude๋Š” ๋ชจ๋“  ์‹คํ–‰์—์„œ ์„ ํƒ๋œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.84 ํ”„๋กฌํ”„ํŠธ ์ž…๋ ฅ์—๋Š” ๋ชจ๋ธ ์„ ํƒ๊ธฐ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. Claude๋Š” ๋ชจ๋“  ์‹คํ–‰์—์„œ ์„ ํƒ๋œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

74 </Step>85 </Step>

75 86 

76 <Step title="์ €์žฅ์†Œ ์„ ํƒ">87 <Step title="์ €์žฅ์†Œ ์„ ํƒ">

77 Claude๊ฐ€ ์ž‘์—…ํ•  ํ•˜๋‚˜ ์ด์ƒ์˜ GitHub ์ €์žฅ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ €์žฅ์†Œ๋Š” ์‹คํ–‰ ์‹œ์ž‘ ์‹œ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๋ณต์ œ๋ฉ๋‹ˆ๋‹ค. Claude๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•ด `claude/` ์ ‘๋‘์‚ฌ๊ฐ€ ๋ถ™์€ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.88 Claude๊ฐ€ ์ž‘์—…ํ•  ํ•˜๋‚˜ ์ด์ƒ์˜ GitHub ์ €์žฅ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ €์žฅ์†Œ๋Š” ์‹คํ–‰ ์‹œ์ž‘ ์‹œ ๊ธฐ๋ณธ ๋ถ„๊ธฐ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ๋ณต์ œ๋ฉ๋‹ˆ๋‹ค. Claude๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•ด `claude/` ์ ‘๋‘์‚ฌ๊ฐ€ ๋ถ™์€ ๋ถ„๊ธฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

78 </Step>89 </Step>

79 90 

80 <Step title="ํ™˜๊ฒฝ ์„ ํƒ">91 <Step title="ํ™˜๊ฒฝ ์„ ํƒ">

81 ๋ฃจํ‹ด์— ๋Œ€ํ•ด [ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ](/docs/ko/cloud-environments)์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์€ ํด๋ผ์šฐ๋“œ ์„ธ์…˜์ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.92 ๋ฃจํ‹ด์— ๋Œ€ํ•ด [ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ](/docs/ko/cloud-environments)์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์€ ํด๋ผ์šฐ๋“œ ์„ธ์…˜์ด ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค:

82 93 

83 * **Network access**: ๊ฐ ์‹คํ–‰ ์ค‘์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ธํ„ฐ๋„ท ์•ก์„ธ์Šค ์ˆ˜์ค€ ์„ค์ •94 * **Network access**: ๊ฐ ์‹คํ–‰ ์ค‘์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ธํ„ฐ๋„ท ์•ก์„ธ์Šค ์ˆ˜์ค€์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค

84 * **Environment variables**: Claude๊ฐ€ ์‹คํ–‰ ์ค‘์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์€ [ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ํ‘œ์‹œ๋˜๋ฏ€๋กœ](/docs/ko/cloud-environments#what-carries-over-from-your-setup) Pro ๋ฐ Max ํ”Œ๋žœ์—์„œ๋Š” Claude๊ฐ€ ์‹คํ–‰ ์ค‘์— ํ˜ธ์ถœํ•˜๋Š” API์˜ ํ‚ค๋ฅผ [API credentials](/docs/ko/cloud-environments#add-api-credentials)๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์„น์…˜์—๋Š” ์ž๊ฒฉ ์ฆ๋ช…์„ ๋ฐ›์ง€ ์•Š๋Š” ์š”์ฒญ๋„ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค.95 * **Environment variables**: Claude๊ฐ€ ๊ฐ ์‹คํ–‰ ์ค‘์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์€ [ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ํ‘œ์‹œ](/docs/ko/cloud-environments#what-carries-over-from-your-setup)๋˜๋ฏ€๋กœ, Pro ๋ฐ Max ํ”Œ๋žœ์—์„œ๋Š” Claude๊ฐ€ ์‹คํ–‰ ์ค‘์— ํ˜ธ์ถœํ•˜๋Š” API์˜ ํ‚ค๋ฅผ [API credentials](/docs/ko/cloud-environments#add-api-credentials)๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ์„น์…˜์—๋Š” ์ž๊ฒฉ ์ฆ๋ช…์„ ๋ฐ›์ง€ ์•Š๋Š” ์š”์ฒญ๋„ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค

85 * **Setup script**: ๋ฃจํ‹ด์ด ํ•„์š”ํ•œ ์ข…์†์„ฑ ๋ฐ ๋„๊ตฌ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” [์บ์‹œ๋ฉ๋‹ˆ๋‹ค](/docs/ko/cloud-environments#environment-caching). ๋”ฐ๋ผ์„œ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ชจ๋“  ์„ธ์…˜์—์„œ ๋‹ค์‹œ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.96 * **Setup script**: ๋ฃจํ‹ด์ด ํ•„์š”๋กœ ํ•˜๋Š” ์ข…์†์„ฑ ๋ฐ ๋„๊ตฌ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” [์บ์‹œ๋ฉ๋‹ˆ๋‹ค](/docs/ko/cloud-environments#environment-caching)์ด๋ฏ€๋กœ ์Šคํฌ๋ฆฝํŠธ๋Š” ๋ชจ๋“  ์„ธ์…˜์—์„œ ๋‹ค์‹œ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

86 97 

87 **Default** ํ™˜๊ฒฝ์ด ์ œ๊ณต๋˜๋ฉฐ **Trusted** ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” [๊ธฐ๋ณธ allowlist](/docs/ko/cloud-environments#default-allowed-domains)์˜ ํŒจํ‚ค์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ, ํด๋ผ์šฐ๋“œ ๊ณต๊ธ‰์ž API, ์ปจํ…Œ์ด๋„ˆ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋ฐ ์ผ๋ฐ˜์ ์ธ ๊ฐœ๋ฐœ ๋„๋ฉ”์ธ๋งŒ ์„ธ์…˜์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฃจํ‹ด์— ์ถ”๊ฐ€ํ•˜๋Š” ์ปค๋„ฅํ„ฐ๋Š” Anthropic์˜ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ์„œ๋น„์Šค์— ๋„๋‹ฌํ•˜๋ฏ€๋กœ allowlist ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฃจํ‹ด์ด ์ž์‹ ์˜ ์„œ๋น„์Šค๋‚˜ ํ•ด๋‹น ๋ชฉ๋ก ์™ธ์˜ ๋„๋ฉ”์ธ์— ์ง์ ‘ ๋„๋‹ฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ํ™˜๊ฒฝ์˜ [network access](/docs/ko/cloud-environments#network-access)๋ฅผ ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋จผ์ € [ํ•˜๋‚˜๋ฅผ ์ƒ์„ฑ](/docs/ko/cloud-environments#configure-your-environment)ํ•ฉ๋‹ˆ๋‹ค.98 **Default** ํ™˜๊ฒฝ์€ **Trusted** ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋ฉฐ, ์ด๋Š” ์„ธ์…˜์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด [๊ธฐ๋ณธ ํ—ˆ์šฉ ๋ชฉ๋ก](/docs/ko/cloud-environments#default-allowed-domains)์˜ ํŒจํ‚ค์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ, ํด๋ผ์šฐ๋“œ ์ œ๊ณต์ž API, ์ปจํ…Œ์ด๋„ˆ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋ฐ ์ผ๋ฐ˜์ ์ธ ๊ฐœ๋ฐœ ๋„๋ฉ”์ธ๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฃจํ‹ด์— ์ถ”๊ฐ€ํ•˜๋Š” ์ปค๋„ฅํ„ฐ๋Š” Anthropic์˜ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ์„œ๋น„์Šค์— ๋„๋‹ฌํ•˜๋ฏ€๋กœ ํ—ˆ์šฉ ๋ชฉ๋ก ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฃจํ‹ด์ด ์ž์‹ ์˜ ์„œ๋น„์Šค์— ์ง์ ‘ ๋„๋‹ฌํ•ด์•ผ ํ•˜๊ฑฐ๋‚˜ ํ•ด๋‹น ๋ชฉ๋ก ์™ธ์˜ ๋„๋ฉ”์ธ์— ๋„๋‹ฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ, ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ํ™˜๊ฒฝ์˜ [network access](/docs/ko/cloud-environments#network-access)๋ฅผ ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค. ๋ณ„๋„์˜ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋จผ์ € [ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค](/docs/ko/cloud-environments#configure-your-environment).

88 </Step>99 </Step>

89 100 

90 <Step title="ํŠธ๋ฆฌ๊ฑฐ ์„ ํƒ">101 <Step title="ํŠธ๋ฆฌ๊ฑฐ ์„ ํƒ">


92 103 

93 <Tabs>104 <Tabs>

94 <Tab title="Schedule">105 <Tab title="Schedule">

95 ๋ฐ˜๋ณต ์‹คํ–‰์„ ์œ„ํ•ด ์‚ฌ์ „ ์„ค์ •๋œ ๋นˆ๋„๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ํŠน์ • ํƒ€์ž„์Šคํƒฌํ”„์—์„œ ์ผํšŒ์„ฑ ์‹คํ–‰์„ ์˜ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„๋Œ€ ์ฒ˜๋ฆฌ, stagger, ์‚ฌ์šฉ์ž ์ •์˜ cron ๊ฐ„๊ฒฉ ๋ฐ ์ผํšŒ์„ฑ ์‹คํ–‰์€ [Add a schedule trigger](#add-a-schedule-trigger)๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.106 ๋ฐ˜๋ณต ์‹คํ–‰์„ ์œ„ํ•ด ์‚ฌ์ „ ์„ค์ •๋œ ๋นˆ๋„๋ฅผ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ํŠน์ • ํƒ€์ž„์Šคํƒฌํ”„์—์„œ ์ผํšŒ์„ฑ ์‹คํ–‰์„ ์˜ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„๋Œ€ ์ฒ˜๋ฆฌ, ์—‡๊ฐˆ๋ฆผ, ์‚ฌ์šฉ์ž ์ •์˜ cron ๊ฐ„๊ฒฉ ๋ฐ ์ผํšŒ์„ฑ ์‹คํ–‰์— ๋Œ€ํ•ด์„œ๋Š” [Add a schedule trigger](#add-a-schedule-trigger)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

96 </Tab>107 </Tab>

97 108 

98 <Tab title="GitHub event">109 <Tab title="GitHub event">

99 ์ €์žฅ์†Œ, ๋ฐ˜์‘ํ•  ์ด๋ฒคํŠธ ๋ฐ ์„ ํƒ์  ํ•„ํ„ฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ์ด๋ฒคํŠธ ๋ฐ ํ•„ํ„ฐ ํ•„๋“œ์˜ ์ „์ฒด ๋ชฉ๋ก์€ [Add a GitHub trigger](#add-a-github-trigger)๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.110 ์ €์žฅ์†Œ, ๋ฐ˜์‘ํ•  ์ด๋ฒคํŠธ ๋ฐ ์„ ํƒ์  ํ•„ํ„ฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ์ด๋ฒคํŠธ ๋ฐ ํ•„ํ„ฐ ํ•„๋“œ์˜ ์ „์ฒด ๋ชฉ๋ก์€ [Add a GitHub trigger](#add-a-github-trigger)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

100 </Tab>111 </Tab>

101 112 

102 <Tab title="API">113 <Tab title="API">

103 ์—ฌ๊ธฐ์„œ **API**๋ฅผ ์„ ํƒํ•œ ๋‹ค์Œ ๋ฃจํ‹ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. URL๊ณผ ํ† ํฐ์€ ๋ฃจํ‹ด ID์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋ฏ€๋กœ ๋ฃจํ‹ด์ด ์ €์žฅ๋œ ํ›„ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. URL์„ ๋ณต์‚ฌํ•˜๊ณ  ํ† ํฐ์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด [Add an API trigger](#add-an-api-trigger)๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.114 ์—ฌ๊ธฐ์„œ **API**๋ฅผ ์„ ํƒํ•œ ํ›„ ๋ฃจํ‹ด์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. URL๊ณผ ํ† ํฐ์€ ๋ฃจํ‹ด ID์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋ฏ€๋กœ ๋ฃจํ‹ด์ด ์ €์žฅ๋œ ํ›„์— ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. URL์„ ๋ณต์‚ฌํ•˜๊ณ  ํ† ํฐ์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด [Add an API trigger](#add-an-api-trigger)๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

104 </Tab>115 </Tab>

105 </Tabs>116 </Tabs>

106 </Step>117 </Step>

107 118 

108 <Step title="์ปค๋„ฅํ„ฐ ๊ฒ€ํ† ">119 <Step title="์ปค๋„ฅํ„ฐ ๊ฒ€ํ† ">

109 ์–‘์‹ ํ•˜๋‹จ์˜ **Connectors** ์•„๋ž˜์—์„œ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  [MCP connectors](/docs/ko/mcp)๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ฃจํ‹ด์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒƒ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. Claude๋Š” ์‹คํ–‰ ์ค‘์— ๊ถŒํ•œ์„ ์š”์ฒญํ•˜์ง€ ์•Š๊ณ  ํฌํ•จ๋œ ์ปค๋„ฅํ„ฐ์˜ ๋ชจ๋“  ๋„๊ตฌ(์“ฐ๊ธฐ ํฌํ•จ)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.120 ์–‘์‹ ํ•˜๋‹จ์˜ **Connectors** ์•„๋ž˜์—์„œ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  [MCP connectors](/docs/ko/mcp)๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ฃจํ‹ด์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒƒ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. Claude๋Š” ์‹คํ–‰ ์ค‘์— ๊ถŒํ•œ์„ ์š”์ฒญํ•˜์ง€ ์•Š๊ณ  ํฌํ•จ๋œ ์ปค๋„ฅํ„ฐ์˜ ๋ชจ๋“  ๋„๊ตฌ(์“ฐ๊ธฐ ํฌํ•จ)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

110 </Step>121 </Step>

111 122 

112 <Step title="๋ฃจํ‹ด ์ƒ์„ฑ">123 <Step title="๋ฃจํ‹ด ๋งŒ๋“ค๊ธฐ">

113 **Create**๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ๋ฃจํ‹ด์ด ๋ชฉ๋ก์— ๋‚˜ํƒ€๋‚˜๊ณ  ๋‹ค์Œ ๋ฒˆ์— ํŠธ๋ฆฌ๊ฑฐ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ผ์น˜ํ•  ๋•Œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ฆ‰์‹œ ์‹คํ–‰์„ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋ฃจํ‹ด์˜ ์„ธ๋ถ€ ์ •๋ณด ํŽ˜์ด์ง€์—์„œ **Run now**๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.124 **Create**๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ๋ฃจํ‹ด์ด ๋ชฉ๋ก์— ๋‚˜ํƒ€๋‚˜๊ณ  ๋‹ค์Œ ๋ฒˆ์— ํŠธ๋ฆฌ๊ฑฐ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ผ์น˜ํ•  ๋•Œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ฆ‰์‹œ ์‹คํ–‰์„ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋ฃจํ‹ด์˜ ์„ธ๋ถ€ ์ •๋ณด ํŽ˜์ด์ง€์—์„œ **Run now**๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

114 125 

115 ๊ฐ ์‹คํ–‰์€ ๋‹ค๋ฅธ ์„ธ์…˜๊ณผ ํ•จ๊ป˜ ์ƒˆ ์„ธ์…˜์„ ์ƒ์„ฑํ•˜๋ฏ€๋กœ Claude๊ฐ€ ์ˆ˜ํ–‰ํ•œ ์ž‘์—…์„ ํ™•์ธํ•˜๊ณ , ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•˜๊ณ , ํ’€ ์š”์ฒญ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.126 ๊ฐ ์‹คํ–‰์€ ๋‹ค๋ฅธ ์„ธ์…˜๊ณผ ํ•จ๊ป˜ ์ƒˆ ์„ธ์…˜์„ ๋งŒ๋“ค๋ฉฐ, ์—ฌ๊ธฐ์„œ Claude๊ฐ€ ์ˆ˜ํ–‰ํ•œ ์ž‘์—…์„ ํ™•์ธํ•˜๊ณ , ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•˜๊ณ , ํ’€ ์š”์ฒญ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

116 </Step>127 </Step>

117</Steps>128</Steps>

118 129 

119<h3 id="create-from-the-cli">130<h3 id="create-from-the-cli">

120 CLI์—์„œ ์ƒ์„ฑ131 CLI์—์„œ ๋งŒ๋“ค๊ธฐ

121</h3>132</h3>

122 133 

123๋ชจ๋“  ์„ธ์…˜์—์„œ `/schedule`์„ ์‹คํ–‰ํ•˜์—ฌ ์˜ˆ์•ฝ๋œ ๋ฃจํ‹ด์„ ๋Œ€ํ™”์‹์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. `/schedule daily PR review at 9am`๊ณผ ๊ฐ™์€ ๋ฐ˜๋ณต ๋ฃจํ‹ด์ด๋‚˜ `/schedule clean up feature flag in one week`๊ณผ ๊ฐ™์€ ์ผํšŒ์„ฑ ๋ฃจํ‹ด์— ๋Œ€ํ•ด ์„ค๋ช…์„ ์ง์ ‘ ์ „๋‹ฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. Claude๋Š” ์›น ์–‘์‹์ด ์ˆ˜์ง‘ํ•˜๋Š” ๋™์ผํ•œ ์ •๋ณด๋ฅผ ์•ˆ๋‚ดํ•œ ๋‹ค์Œ ๋ฃจํ‹ด์„ ๊ณ„์ •์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์€ `/routines` ๋ณ„์นญ ์•„๋ž˜์—์„œ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.134๋ชจ๋“  ์„ธ์…˜์—์„œ `/schedule`์„ ์‹คํ–‰ํ•˜์—ฌ ๋Œ€ํ™”์‹์œผ๋กœ ์˜ˆ์•ฝ๋œ ๋ฃจํ‹ด์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋ฐ˜๋ณต ๋ฃจํ‹ด์˜ ๊ฒฝ์šฐ `/schedule daily PR review at 9am` ๋˜๋Š” ์ผํšŒ์„ฑ์˜ ๊ฒฝ์šฐ `/schedule clean up feature flag in one week`๊ณผ ๊ฐ™์ด ์„ค๋ช…์„ ์ง์ ‘ ์ „๋‹ฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. Claude๋Š” ์›น ์–‘์‹์ด ์ˆ˜์ง‘ํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ์ •๋ณด(์ผ์ •, ์ €์žฅ์†Œ ๋ฐ ํ”„๋กฌํ”„ํŠธ)๋ฅผ ์•ˆ๋‚ดํ•œ ํ›„ ๋ฃจํ‹ด์„ ๊ณ„์ •์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์€ ๋ณ„์นญ `/routines` ์•„๋ž˜์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

124 135 

125์„ฑ๊ณต์ ์ธ ์‹œ์ž‘์€ ๋Œ€ํ™”์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. Claude๋Š” ์ €์žฅํ•˜๊ธฐ ์ „์— ์ผ์ •, ์ €์žฅ์†Œ ๋ฐ ํ”„๋กฌํ”„ํŠธ์— ๋Œ€ํ•œ ํ›„์† ์งˆ๋ฌธ์„ ํ•ฉ๋‹ˆ๋‹ค. Claude๊ฐ€ ๋Œ€์‹  ์ธ์ฆ์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ์›๊ฒฉ claude.ai ๊ณ„์ •์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ํšŒ์‹ ํ•˜๋ฉด ๋ฃจํ‹ด์ด ์ƒ์„ฑ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. [Troubleshooting](#troubleshooting)์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.136์„ฑ๊ณต์ ์ธ ์‹œ์ž‘์€ ๋Œ€ํ™”์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. Claude๋Š” ์ €์žฅํ•˜๊ธฐ ์ „์— ์ผ์ •, ์ €์žฅ์†Œ ๋ฐ ํ”„๋กฌํ”„ํŠธ์— ๋Œ€ํ•ด ํ›„์† ์งˆ๋ฌธ์„ ํ•ฉ๋‹ˆ๋‹ค. Claude๊ฐ€ ๋Œ€์‹  ์ธ์ฆ์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ์›๊ฒฉ claude.ai ๊ณ„์ •์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ์‘๋‹ตํ•˜๋ฉด ๋ฃจํ‹ด์ด ์ƒ์„ฑ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. [Troubleshooting](#troubleshooting)์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

126 137 

127CLI์˜ `/schedule`์€ ์˜ˆ์•ฝ๋œ ๋ฃจํ‹ด๋งŒ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. API ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด [claude.ai/code/routines](https://claude.ai/code/routines)์˜ ์›น์—์„œ ๋ฃจํ‹ด์„ ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค. ์›น ๋˜๋Š” CLI์—์„œ [GitHub trigger](#add-a-github-trigger)๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CLI ๊ฒฝ๋กœ์—๋Š” Claude Code v2.1.225 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.138CLI์˜ `/schedule`์€ ์˜ˆ์•ฝ๋œ ๋ฃจํ‹ด์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. API ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด [claude.ai/code/routines](https://claude.ai/code/routines)์˜ ์›น์—์„œ ๋ฃจํ‹ด์„ ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค. ์›น ๋˜๋Š” CLI์—์„œ [GitHub trigger](#add-a-github-trigger)๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CLI ๊ฒฝ๋กœ์—๋Š” Claude Code v2.1.225 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

128 139 

129API ํ˜ธ์ถœ ๋˜๋Š” GitHub ์ด๋ฒคํŠธ์— ์˜ํ•ด์„œ๋งŒ ์‹œ์ž‘๋˜๋Š” ์ผ์ • ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ์—†๋Š” ๋ฃจํ‹ด์€ ๋‹ค์Œ ์‹คํ–‰ ์‹œ๊ฐ„์ด ์—†์œผ๋ฉฐ, Claude๊ฐ€ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•  ๋•Œ CLI์— ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. v2.1.211 ์ด์ „์—๋Š” CLI๊ฐ€ ์ด๋Ÿฌํ•œ ๋ฃจํ‹ด์— ๋Œ€ํ•ด ์—ฐ๋„ 1์˜ ๋‹ค์Œ ์‹คํ–‰ ์‹œ๊ฐ„์„ ๋ณด๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.140API ํ˜ธ์ถœ์ด๋‚˜ GitHub ์ด๋ฒคํŠธ๋กœ๋งŒ ์‹œ์ž‘๋˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์ผ์ • ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ์—†๋Š” ๋ฃจํ‹ด์€ ๋‹ค์Œ ์‹คํ–‰ ์‹œ๊ฐ„์ด ์—†์œผ๋ฉฐ, Claude๊ฐ€ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•  ๋•Œ CLI๋Š” ์—†์Œ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. v2.1.211 ์ด์ „์—๋Š” CLI๊ฐ€ ์ด๋Ÿฌํ•œ ๋ฃจํ‹ด์— ๋Œ€ํ•ด ์—ฐ๋„ 1์˜ ๋‹ค์Œ ์‹คํ–‰ ์‹œ๊ฐ„์„ ๋ณด๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.

130 141 

131<h2 id="configure-triggers">142<h2 id="configure-triggers">

132 ํŠธ๋ฆฌ๊ฑฐ ๊ตฌ์„ฑ143 ํŠธ๋ฆฌ๊ฑฐ ๊ตฌ์„ฑ


349 360 

350๋ฃจํ‹ด์€ ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œํ•˜๊ธฐ ์œ„ํ•ด GitHub ์•ก์„ธ์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. CLI์—์„œ `/schedule`๋กœ ๋ฃจํ‹ด์„ ์ƒ์„ฑํ•  ๋•Œ Claude๋Š” ๊ณ„์ •์— ์‹คํ–‰ํ•œ ์ €์žฅ์†Œ์— ๋Œ€ํ•œ GitHub ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์—†์œผ๋ฉด ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ช…์‹œํ•˜๋Š” ์„ค์ • ๋ฉ”๋ชจ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. [GitHub ์ธ์ฆ ์˜ต์…˜](/docs/ko/claude-code-on-the-web#github-authentication-options)์„ ์ฐธ์กฐํ•˜์—ฌ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•˜์„ธ์š”.361๋ฃจํ‹ด์€ ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œํ•˜๊ธฐ ์œ„ํ•ด GitHub ์•ก์„ธ์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. CLI์—์„œ `/schedule`๋กœ ๋ฃจํ‹ด์„ ์ƒ์„ฑํ•  ๋•Œ Claude๋Š” ๊ณ„์ •์— ์‹คํ–‰ํ•œ ์ €์žฅ์†Œ์— ๋Œ€ํ•œ GitHub ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์—†์œผ๋ฉด ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ช…์‹œํ•˜๋Š” ์„ค์ • ๋ฉ”๋ชจ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. [GitHub ์ธ์ฆ ์˜ต์…˜](/docs/ko/claude-code-on-the-web#github-authentication-options)์„ ์ฐธ์กฐํ•˜์—ฌ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•˜์„ธ์š”.

351 362 

363GitHub ์—ฐ๊ฒฐ์ด ์‹คํ–‰ ์˜ˆ์ • ์‹œ๊ฐ„์— ๋ˆ„๋ฝ๋˜๊ฑฐ๋‚˜ ๋งŒ๋ฃŒ๋œ ๊ฒฝ์šฐ ๋ฃจํ‹ด์€ ์ตœ๋Œ€ 72์‹œ๊ฐ„ ๋™์•ˆ ์žฌ์—ฐ๊ฒฐํ•  ๋•Œ๊นŒ์ง€ ์‹คํ–‰์„ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ธฐ๊ฐ„ ๋‚ด์— GitHub๋ฅผ ๋‹ค์‹œ ์—ฐ๊ฒฐํ•˜๋ฉด ๋ฃจํ‹ด์ด ์ž๋™์œผ๋กœ ์žฌ๊ฐœ๋ฉ๋‹ˆ๋‹ค. 72์‹œ๊ฐ„ ๋™์•ˆ ์—ฐ๊ฒฐ์ด ์—†์œผ๋ฉด ๋ฃจํ‹ด์ด ๊บผ์ง€๊ณ , GitHub๋ฅผ ๋‹ค์‹œ ์—ฐ๊ฒฐํ•œ ํ›„ ๋‹ค์‹œ ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

364 

352์ถ”๊ฐ€ํ•˜๋Š” ๊ฐ ์ €์žฅ์†Œ๋Š” ๋ชจ๋“  ์‹คํ–‰์—์„œ ๋ณต์ œ๋ฉ๋‹ˆ๋‹ค. Claude๋Š” ํ”„๋กฌํ”„ํŠธ์—์„œ ๋‹ฌ๋ฆฌ ์ง€์ •ํ•˜์ง€ ์•Š๋Š” ํ•œ ์ €์žฅ์†Œ์˜ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.365์ถ”๊ฐ€ํ•˜๋Š” ๊ฐ ์ €์žฅ์†Œ๋Š” ๋ชจ๋“  ์‹คํ–‰์—์„œ ๋ณต์ œ๋ฉ๋‹ˆ๋‹ค. Claude๋Š” ํ”„๋กฌํ”„ํŠธ์—์„œ ๋‹ฌ๋ฆฌ ์ง€์ •ํ•˜์ง€ ์•Š๋Š” ํ•œ ์ €์žฅ์†Œ์˜ ๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

353 366 

354Claude๋Š” `claude/` ์ ‘๋‘์‚ฌ๊ฐ€ ๋ถ™์€ ๋ธŒ๋žœ์น˜๋กœ ์ž‘์—…์„ ํ‘ธ์‹œํ•˜๋ฉฐ, ์ด๋Š” ํ•ญ์ƒ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ๊ฐ€ Claude๋ฅผ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ํ‘ธ์‹œํ•˜๋„๋ก ์ง€์‹œํ•  ๋•Œ Claude Code๋Š” ๋จผ์ € ํ‘ธ์‹œ๋ฅผ ํ™•์ธํ•˜๊ณ  ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ฐธ์ด๋ฉด ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.367Claude๋Š” `claude/` ์ ‘๋‘์‚ฌ๊ฐ€ ๋ถ™์€ ๋ธŒ๋žœ์น˜๋กœ ์ž‘์—…์„ ํ‘ธ์‹œํ•˜๋ฉฐ, ์ด๋Š” ํ•ญ์ƒ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กฌํ”„ํŠธ๊ฐ€ Claude๋ฅผ ๋‹ค๋ฅธ ๋ธŒ๋žœ์น˜๋กœ ํ‘ธ์‹œํ•˜๋„๋ก ์ง€์‹œํ•  ๋•Œ Claude Code๋Š” ๋จผ์ € ํ‘ธ์‹œ๋ฅผ ํ™•์ธํ•˜๊ณ  ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ฐธ์ด๋ฉด ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค.


377 390 

378**๊ธฐ๋ณธ** ํ™˜๊ฒฝ์€ **์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š”** ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ด๋Š” ์„ธ์…˜์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด [๊ธฐ๋ณธ ํ—ˆ์šฉ ๋ชฉ๋ก](/docs/ko/cloud-environments#default-allowed-domains)๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ—ˆ์šฉ ๋ชฉ๋ก ์™ธ๋ถ€์˜ ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•œ ์š”์ฒญ์€ `403` ๋ฐ `x-deny-reason: host_not_allowed`๋กœ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. MCP ์ปค๋„ฅํ„ฐ ํŠธ๋ž˜ํ”ฝ์€ Anthropic์˜ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ๋ผ์šฐํŒ…๋˜๋ฏ€๋กœ ๋ฃจํ‹ด์— ์ถ”๊ฐ€ํ•˜๋Š” ์ปค๋„ฅํ„ฐ๋Š” **ํ—ˆ์šฉ๋œ ๋„๋ฉ”์ธ**์— ํ˜ธ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. [์ปค๋„ฅํ„ฐ](#connectors) ์•„๋ž˜์—์„œ ํ•„์š”ํ•˜์ง€ ์•Š์€ ์ปค๋„ฅํ„ฐ๋ฅผ ์ œ๊ฑฐํ•˜์„ธ์š”.391**๊ธฐ๋ณธ** ํ™˜๊ฒฝ์€ **์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š”** ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ด๋Š” ์„ธ์…˜์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด [๊ธฐ๋ณธ ํ—ˆ์šฉ ๋ชฉ๋ก](/docs/ko/cloud-environments#default-allowed-domains)๋งŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ—ˆ์šฉ ๋ชฉ๋ก ์™ธ๋ถ€์˜ ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•œ ์š”์ฒญ์€ `403` ๋ฐ `x-deny-reason: host_not_allowed`๋กœ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. MCP ์ปค๋„ฅํ„ฐ ํŠธ๋ž˜ํ”ฝ์€ Anthropic์˜ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ๋ผ์šฐํŒ…๋˜๋ฏ€๋กœ ๋ฃจํ‹ด์— ์ถ”๊ฐ€ํ•˜๋Š” ์ปค๋„ฅํ„ฐ๋Š” **ํ—ˆ์šฉ๋œ ๋„๋ฉ”์ธ**์— ํ˜ธ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. [์ปค๋„ฅํ„ฐ](#connectors) ์•„๋ž˜์—์„œ ํ•„์š”ํ•˜์ง€ ์•Š์€ ์ปค๋„ฅํ„ฐ๋ฅผ ์ œ๊ฑฐํ•˜์„ธ์š”.

379 392 

380์ถ”๊ฐ€ ๋„๋ฉ”์ธ์„ ํ—ˆ์šฉํ•˜๋ ค๋ฉด:393์ž์‹ ์˜ ํ™˜๊ฒฝ ์ค‘ ํ•˜๋‚˜์—์„œ ์ถ”๊ฐ€ ๋„๋ฉ”์ธ์„ ํ—ˆ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”. [์กฐ์ง ๊ณต์œ  ํ™˜๊ฒฝ](/docs/ko/cloud-environments#organization-shared-environments)์€ ์—ฌ๊ธฐ์„œ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ์—ด๋ฆฌ๋ฏ€๋กœ ์†Œ์œ ์ž๋Š” [๊ด€๋ฆฌ ์„ค์ •](https://claude.ai/admin-settings)์˜ **ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ** ํŽ˜์ด์ง€์—์„œ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

381 394 

382<Steps>395<Steps>

383 <Step title="๋ฃจํ‹ด์„ ํŽธ์ง‘ํ•˜๊ธฐ ์œ„ํ•ด ์—ด๊ธฐ">396 <Step title="๋ฃจํ‹ด์„ ํŽธ์ง‘ํ•˜๊ธฐ ์œ„ํ•ด ์—ด๊ธฐ">


413 426 

414์ผํšŒ์„ฑ ์‹คํ–‰์€ ์ผ์ผ ๋ฃจํ‹ด ์‹คํ–‰ ์ƒํ•œ์„ ์— ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์„ธ์…˜๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ •๊ธฐ ๊ตฌ๋… ์‚ฌ์šฉ์„ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค.427์ผํšŒ์„ฑ ์‹คํ–‰์€ ์ผ์ผ ๋ฃจํ‹ด ์‹คํ–‰ ์ƒํ•œ์„ ์— ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์„ธ์…˜๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ •๊ธฐ ๊ตฌ๋… ์‚ฌ์šฉ์„ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค.

415 428 

429๊ตฌ๋…์ด ์ผ์‹œ ์ค‘์ง€๋œ ๋™์•ˆ ๋ฃจํ‹ด์€ ๋ณด๋ฅ˜ ์ƒํƒœ๊ฐ€ ๋˜๋ฉฐ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ตฌ๋…์ด ๋‹ค์‹œ ํ™œ์„ฑํ™”๋˜๋ฉด ๋ฃจํ‹ด์„ ๋‹ค์‹œ ์ผœ์„ธ์š”.

430 

416<h2 id="troubleshooting">431<h2 id="troubleshooting">

417 ๋ฌธ์ œ ํ•ด๊ฒฐ432 ๋ฌธ์ œ ํ•ด๊ฒฐ

418</h2>433</h2>

Details

168* ๋Ÿฌ๋„ˆ๋Š” `GCM_INTERACTIVE=never`์„ ์„ค์ •ํ•˜๋ฏ€๋กœ Git Credential Manager๋Š” ์„œ๋ช… ๋Œ€ํ™”๋ฅผ ์—ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.168* ๋Ÿฌ๋„ˆ๋Š” `GCM_INTERACTIVE=never`์„ ์„ค์ •ํ•˜๋ฏ€๋กœ Git Credential Manager๋Š” ์„œ๋ช… ๋Œ€ํ™”๋ฅผ ์—ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

169* ๋Ÿฌ๋„ˆ๋Š” `core.askPass`๋ฅผ ์ง€์šฐ๋ฏ€๋กœ askpass ํ—ฌํผ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ `GIT_ASKPASS` ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์„ค์ •ํ•˜์„ธ์š”.169* ๋Ÿฌ๋„ˆ๋Š” `core.askPass`๋ฅผ ์ง€์šฐ๋ฏ€๋กœ askpass ํ—ฌํผ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ `GIT_ASKPASS` ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์„ค์ •ํ•˜์„ธ์š”.

170 170 

171git ํ˜ธ์ŠคํŠธ๊ฐ€ ์ž๊ฒฉ์ฆ๋ช…์„ ๊ฑฐ๋ถ€ํ•˜๊ฑฐ๋‚˜ ๊ตฌ์„ฑํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋Ÿฌ๋„ˆ๋Š” ๋ช‡ ๋ฒˆ ์žฌ์‹œ๋„ํ•œ ๋‹ค์Œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ค€๋น„์— ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ๋Ÿฌ๋„ˆ๋Š” ์ด๋Ÿฌํ•œ ์„ค์ •์„ ์„ธ์…˜์˜ ํ™˜๊ฒฝ์— ์ „๋‹ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.171git ํ˜ธ์ŠคํŠธ๊ฐ€ ์ž๊ฒฉ์ฆ๋ช…์„ ๊ฑฐ๋ถ€ํ•˜๊ฑฐ๋‚˜ ๊ตฌ์„ฑํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋Ÿฌ๋„ˆ๋Š” ๋ช‡ ๋ฒˆ ์žฌ์‹œ๋„ํ•œ ๋‹ค์Œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ค€๋น„์— ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์ด ๊ฒฐ๊ณผ๋ฅผ ํ‘ธ์‹œํ•˜๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์ธ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์„ธ์…˜์ด ์ฝ๊ธฐ๋งŒ ํ•˜๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์˜ ๊ฒฝ์šฐ [๋ฌธ์ œ ํ•ด๊ฒฐ](#troubleshooting)์—์„œ ๋Ÿฌ๋„ˆ๊ฐ€ ๋Œ€์‹  ๊ฑด๋„ˆ๋›ธ ๋•Œ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ๋Ÿฌ๋„ˆ๋Š” ์ด๋Ÿฌํ•œ ์„ค์ •์„ ์„ธ์…˜์˜ ํ™˜๊ฒฝ์— ์ „๋‹ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

172 172 

173์ฒดํฌ์•„์›ƒ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋Ÿฌ๋„ˆ ํ”„๋กœ์„ธ์Šค์™€ ๋‹ค๋ฅธ uid๋กœ ์†Œ์œ ๋œ ๊ฒฝ์šฐ git์€ ์ด์— ๋Œ€ํ•ด ์ž‘๋™ํ•˜๊ธฐ๋ฅผ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. `safe.directory`๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”:173์ฒดํฌ์•„์›ƒ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋Ÿฌ๋„ˆ ํ”„๋กœ์„ธ์Šค์™€ ๋‹ค๋ฅธ uid๋กœ ์†Œ์œ ๋œ ๊ฒฝ์šฐ git์€ ์ด์— ๋Œ€ํ•ด ์ž‘๋™ํ•˜๊ธฐ๋ฅผ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. `safe.directory`๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”:

174 174 


531* **์„ธ์…˜์ด ์ธ์ฆํ•˜๋Š” ์ด๊ทธ๋ ˆ์Šค ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ์— ๋„๋‹ฌํ•  ์ˆ˜ ์—†์Œ**: [`--proxy-authorization-command` ๋˜๋Š” `--proxy-authorization-file`](#authenticate-to-an-egress-proxy)๋กœ ์„ค์ •ํ•œ ์†Œ์Šค๊ฐ€ ์‹คํŒจํ•˜๊ฑฐ๋‚˜ 30์ดˆ ํ›„ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋˜๊ฑฐ๋‚˜ ๋นˆ ๊ฐ’์„ ์ƒ์„ฑํ•˜๋ฉด ๋Ÿฌ๋„ˆ๋Š” ํ•ด๋‹น ์—ฐ๊ฒฐ์— `502 Bad Gateway`๋กœ ์‘๋‹ตํ•˜๊ณ  ์ด์œ ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๋Ÿฌ๋„ˆ๋Š” ํ•ด๋‹น ๋กœ๊ทธ์—์„œ ๋ช…๋ น์˜ stderr๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ํ—ค๋” ๊ฐ’์„ ์ ˆ๋Œ€ ๊ธฐ๋กํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. `--proxy-authorization-command`๋กœ ํ˜ธ์ŠคํŠธ์—์„œ ๋ช…๋ น์„ ์ง์ ‘ ์‹คํ–‰ํ•˜์—ฌ ์ „์ฒด ํ—ค๋” ๊ฐ’์„ stdout์— ์ธ์‡„ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ๋Ÿฌ๋„ˆ๊ฐ€ ๋Œ€์‹  `could not start the proxy-authorization listener`๋กœ ์‹œ์ž‘ ์‹œ ์ข…๋ฃŒ๋˜๋ฉด ๋ฃจํ”„๋ฐฑ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.531* **์„ธ์…˜์ด ์ธ์ฆํ•˜๋Š” ์ด๊ทธ๋ ˆ์Šค ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ์— ๋„๋‹ฌํ•  ์ˆ˜ ์—†์Œ**: [`--proxy-authorization-command` ๋˜๋Š” `--proxy-authorization-file`](#authenticate-to-an-egress-proxy)๋กœ ์„ค์ •ํ•œ ์†Œ์Šค๊ฐ€ ์‹คํŒจํ•˜๊ฑฐ๋‚˜ 30์ดˆ ํ›„ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋˜๊ฑฐ๋‚˜ ๋นˆ ๊ฐ’์„ ์ƒ์„ฑํ•˜๋ฉด ๋Ÿฌ๋„ˆ๋Š” ํ•ด๋‹น ์—ฐ๊ฒฐ์— `502 Bad Gateway`๋กœ ์‘๋‹ตํ•˜๊ณ  ์ด์œ ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๋Ÿฌ๋„ˆ๋Š” ํ•ด๋‹น ๋กœ๊ทธ์—์„œ ๋ช…๋ น์˜ stderr๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ํ—ค๋” ๊ฐ’์„ ์ ˆ๋Œ€ ๊ธฐ๋กํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. `--proxy-authorization-command`๋กœ ํ˜ธ์ŠคํŠธ์—์„œ ๋ช…๋ น์„ ์ง์ ‘ ์‹คํ–‰ํ•˜์—ฌ ์ „์ฒด ํ—ค๋” ๊ฐ’์„ stdout์— ์ธ์‡„ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ๋Ÿฌ๋„ˆ๊ฐ€ ๋Œ€์‹  `could not start the proxy-authorization listener`๋กœ ์‹œ์ž‘ ์‹œ ์ข…๋ฃŒ๋˜๋ฉด ๋ฃจํ”„๋ฐฑ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

532* **๋Ÿฌ๋„ˆ ๋กœ๊ทธ์— `rejecting the malformed poll response`๋ฅผ ํฌํ•จํ•˜๋Š” `Poll failed` ๋ผ์ธ**: ๋Ÿฌ๋„ˆ๊ฐ€ ํ์˜ ์˜ˆ์ƒ JSON์ด ์•„๋‹Œ ๋ณธ๋ฌธ์„ ๊ฐ€์ง„ ์ž‘์—… ํด ์‘๋‹ต์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ž์ฃผ ๋Ÿฌ๋„ˆ์™€ `api.anthropic.com` ์‚ฌ์ด์˜ ๋ฌด์–ธ๊ฐ€(์˜ˆ: ๊ฐ€๋กœ์ฑ„๋Š” ํ”„๋ก์‹œ ๋˜๋Š” ์บกํ‹ฐ๋ธŒ ํฌํ„ธ)๊ฐ€ ์ž์‹ ์˜ ํŽ˜์ด์ง€๋กœ ์‘๋‹ตํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋Ÿฌ๋„ˆ๋Š” ์‘๋‹ต์„ ๊ฑฐ๋ถ€ํ•˜๊ณ  [`claude_code_self_hosted_runner_poll_errors_total` ๋ฉ”ํŠธ๋ฆญ](/docs/ko/self-hosted-environments-reference#prometheus-metrics)์˜ `transport` ์ข…๋ฅ˜ ์•„๋ž˜์—์„œ ๊ณ„์‚ฐํ•˜๊ณ  [์„ธ์…˜ ์ˆ˜๋ช… ์ฃผ๊ธฐ](/docs/ko/self-hosted-environments#session-lifecycle)์—์„œ ์„ค๋ช…ํ•˜๋Š” ์‹คํŒจํ•œ ํด ์ผ์ •์—์„œ ์žฌ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ๋Ÿฌ๋„ˆ๋Š” ๋ผ์ด๋ธŒ ์„ธ์…˜์„ ๊ณ„์† ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ก์‹œ๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ `api.anthropic.com`์˜ ์‘๋‹ต์„ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ์ „๋‹ฌํ•˜์„ธ์š”. v2.1.246 ์ด์ „์— ๋Ÿฌ๋„ˆ๋Š” ๊ทธ๋Ÿฌํ•œ ์‘๋‹ต์„ ๋นˆ ์ž‘์—… ํ๋กœ ์ฝ์—ˆ์œผ๋ฉฐ, ์ด๋Š” ๋ผ์ด๋ธŒ ์„ธ์…˜์„ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜ ์ข…๋ฃŒํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.532* **๋Ÿฌ๋„ˆ ๋กœ๊ทธ์— `rejecting the malformed poll response`๋ฅผ ํฌํ•จํ•˜๋Š” `Poll failed` ๋ผ์ธ**: ๋Ÿฌ๋„ˆ๊ฐ€ ํ์˜ ์˜ˆ์ƒ JSON์ด ์•„๋‹Œ ๋ณธ๋ฌธ์„ ๊ฐ€์ง„ ์ž‘์—… ํด ์‘๋‹ต์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ž์ฃผ ๋Ÿฌ๋„ˆ์™€ `api.anthropic.com` ์‚ฌ์ด์˜ ๋ฌด์–ธ๊ฐ€(์˜ˆ: ๊ฐ€๋กœ์ฑ„๋Š” ํ”„๋ก์‹œ ๋˜๋Š” ์บกํ‹ฐ๋ธŒ ํฌํ„ธ)๊ฐ€ ์ž์‹ ์˜ ํŽ˜์ด์ง€๋กœ ์‘๋‹ตํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋Ÿฌ๋„ˆ๋Š” ์‘๋‹ต์„ ๊ฑฐ๋ถ€ํ•˜๊ณ  [`claude_code_self_hosted_runner_poll_errors_total` ๋ฉ”ํŠธ๋ฆญ](/docs/ko/self-hosted-environments-reference#prometheus-metrics)์˜ `transport` ์ข…๋ฅ˜ ์•„๋ž˜์—์„œ ๊ณ„์‚ฐํ•˜๊ณ  [์„ธ์…˜ ์ˆ˜๋ช… ์ฃผ๊ธฐ](/docs/ko/self-hosted-environments#session-lifecycle)์—์„œ ์„ค๋ช…ํ•˜๋Š” ์‹คํŒจํ•œ ํด ์ผ์ •์—์„œ ์žฌ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ๋Ÿฌ๋„ˆ๋Š” ๋ผ์ด๋ธŒ ์„ธ์…˜์„ ๊ณ„์† ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ก์‹œ๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ `api.anthropic.com`์˜ ์‘๋‹ต์„ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ์ „๋‹ฌํ•˜์„ธ์š”. v2.1.246 ์ด์ „์— ๋Ÿฌ๋„ˆ๋Š” ๊ทธ๋Ÿฌํ•œ ์‘๋‹ต์„ ๋นˆ ์ž‘์—… ํ๋กœ ์ฝ์—ˆ์œผ๋ฉฐ, ์ด๋Š” ๋ผ์ด๋ธŒ ์„ธ์…˜์„ ์ข…๋ฃŒํ•˜๊ฑฐ๋‚˜ ์ข…๋ฃŒํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

533* **์„ธ์…˜์˜ ๋ถ„๊ธฐ๊ฐ€ ์›๊ฒฉ์— ๋” ์ด์ƒ ์กด์žฌํ•˜์ง€ ์•Š์Œ**: ์„ธ์…˜์ด ์ฝ๊ธฐ๋งŒ ํ•˜๋Š” git ์†Œ์Šค์˜ ๊ฒฝ์šฐ ๋Ÿฌ๋„ˆ๋Š” ํ•ด๋‹น ์†Œ์Šค๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋‚˜๋จธ์ง€์—์„œ ๊ณ„์†ํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์ด ๊ฒฐ๊ณผ๋ฅผ ํ‘ธ์‹œํ•˜๋Š” ์†Œ์Šค์˜ ๊ฒฝ์šฐ ์‚ญ์ œ๋œ ๋ถ„๊ธฐ(์ผ๋ฐ˜์ ์œผ๋กœ ๋ณ‘ํ•ฉ๋˜๊ณ  ์ž๋™ ์‚ญ์ œ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ)๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ฐ ๋ถ„๊ธฐ๋ฅผ ์ด๋ฆ„ ์ง€์ •ํ•˜๊ณ  ๋ถ„๊ธฐ๋ฅผ ๋ณต์›ํ•˜๊ณ  ์žฌ์‹œ๋„ํ•˜๋„๋ก ์š”์ฒญํ•˜๋Š” ์˜ค๋ฅ˜๋กœ ์„ธ์…˜์„ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ๋Ÿฌ๋„ˆ๋Š” ๊ฑด๋„ˆ๋›ฐ๊ธฐ๊ฐ€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์—†์ด ๋‚จ๊ฒจ์งˆ ๋•Œ ๋™์ผํ•œ ์˜ค๋ฅ˜๋กœ ์„ธ์…˜์„ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. v2.1.228 ์ด์ „์— ๊ทธ๋Ÿฌํ•œ ์„ธ์…˜์€ ๋นˆ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.533* **์„ธ์…˜์˜ ๋ถ„๊ธฐ๊ฐ€ ์›๊ฒฉ์— ๋” ์ด์ƒ ์กด์žฌํ•˜์ง€ ์•Š์Œ**: ์„ธ์…˜์ด ์ฝ๊ธฐ๋งŒ ํ•˜๋Š” git ์†Œ์Šค์˜ ๊ฒฝ์šฐ ๋Ÿฌ๋„ˆ๋Š” ํ•ด๋‹น ์†Œ์Šค๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋‚˜๋จธ์ง€์—์„œ ๊ณ„์†ํ•ฉ๋‹ˆ๋‹ค. ์„ธ์…˜์ด ๊ฒฐ๊ณผ๋ฅผ ํ‘ธ์‹œํ•˜๋Š” ์†Œ์Šค์˜ ๊ฒฝ์šฐ ์‚ญ์ œ๋œ ๋ถ„๊ธฐ(์ผ๋ฐ˜์ ์œผ๋กœ ๋ณ‘ํ•ฉ๋˜๊ณ  ์ž๋™ ์‚ญ์ œ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ)๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ๋ฐ ๋ถ„๊ธฐ๋ฅผ ์ด๋ฆ„ ์ง€์ •ํ•˜๊ณ  ๋ถ„๊ธฐ๋ฅผ ๋ณต์›ํ•˜๊ณ  ์žฌ์‹œ๋„ํ•˜๋„๋ก ์š”์ฒญํ•˜๋Š” ์˜ค๋ฅ˜๋กœ ์„ธ์…˜์„ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ๋Ÿฌ๋„ˆ๋Š” ๊ฑด๋„ˆ๋›ฐ๊ธฐ๊ฐ€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์—†์ด ๋‚จ๊ฒจ์งˆ ๋•Œ ๋™์ผํ•œ ์˜ค๋ฅ˜๋กœ ์„ธ์…˜์„ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. v2.1.228 ์ด์ „์— ๊ทธ๋Ÿฌํ•œ ์„ธ์…˜์€ ๋นˆ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

534* **์„ธ์…˜์ด ํ•ด๋‹น ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ค‘ ํ•˜๋‚˜ ์—†์ด ์‹œ์ž‘๋จ**: [`checkout` hook](/docs/ko/self-hosted-environments-configuration#checkout)์ด ์—†๋Š” ๋Ÿฌ๋„ˆ์—์„œ git ํ˜ธ์ŠคํŠธ๋Š” ์„ธ์…˜์ด ์ฝ๊ธฐ๋งŒ ํ•˜๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ๋Ÿฌ๋„ˆ์˜ ์•ก์„ธ์Šค ํ™•์ธ์„ ๊ฑฐ๋ถ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋Ÿฌ๋„ˆ๋Š” ํ•ด๋‹น ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๊ฑฐ๋ถ€๋ฅผ ์ด๋ฆ„ ์ง€์ •ํ•˜๋Š” `[runner:warn] could not access context source` ๋ผ์ธ์„ ๊ธฐ๋กํ•˜๊ณ  ๋‚˜๋จธ์ง€์—์„œ ์„ธ์…˜์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

535 

536 ๋Ÿฌ๋„ˆ๋Š” ๋ช…ํ™•ํ•œ ๊ฑฐ๋ถ€๋งŒ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ๊ฐ€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๊ณ  ์‘๋‹ตํ•˜๊ฑฐ๋‚˜, git์ด ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•œ ์ž๊ฒฉ์ฆ๋ช…์„ ์ฐพ์ง€ ๋ชปํ•˜๊ฑฐ๋‚˜, ์ธ์ฆ์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์‹คํŒจ, ์‹œ๊ฐ„ ์ดˆ๊ณผ, ๋˜๋Š” HTTP `403`์€ ์—ฌ์ „ํžˆ ์„ธ์…˜ ์‹œ์ž‘์„ ์‹คํŒจํ•˜๊ฒŒ ํ•˜๋ฉฐ, ์„ธ์…˜์ด ๊ฒฐ๊ณผ๋ฅผ ํ‘ธ์‹œํ•˜๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ๊ฑฐ๋ถ€๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๋Ÿฌ๋„ˆ๋Š” ์—ฌ์ „ํžˆ ๊ฑด๋„ˆ๋›ฐ๊ธฐ๊ฐ€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์—†์ด ๋‚จ๊ฒจ์งˆ ์„ธ์…˜์„ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋Ÿฌ๋„ˆ๋Š” git ํ”„๋ก์‹œ ์ž์ฒด๊ฐ€ ๊ฑฐ๋ถ€ํ•˜๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋งŒ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

537 

538 ์•ก์„ธ์Šค ํ™•์ธ์€ ์„ธ์…˜์ด ๋Ÿฌ๋„ˆ์—์„œ ์‹œ์ž‘๋  ๋•Œ๋งˆ๋‹ค ๋‹ค์‹œ ์‹คํ–‰๋˜๋ฏ€๋กœ, ๋Ÿฌ๋„ˆ์˜ git ์•„์ด๋ดํ‹ฐํ‹ฐ๊ฐ€ ์ฝ๊ธฐ ์•ก์„ธ์Šค๋ฅผ ๊ฐ€์ง€๋ฉด ๋‹ค์Œ ์‹œ์ž‘์€ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค. v2.1.274 ์ด์ „์— ์ด๋Ÿฌํ•œ ๊ฐ ๊ฑฐ๋ถ€๋Š” ์„ธ์…˜ ์‹œ์ž‘์„ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.

534* **์„ธ์…˜์ด ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ๋ถ„์ด ๊ฑธ๋ฆผ**: ์ดˆ๊ธฐ ํด๋ก ์ด ์ผ๋ฐ˜์ ์œผ๋กœ ์ง€๋ฐฐํ•ฉ๋‹ˆ๋‹ค. `claude_code_self_hosted_runner_session_init_duration_seconds` [๋ฉ”ํŠธ๋ฆญ](/docs/ko/self-hosted-environments-reference#prometheus-metrics)์„ ํ™•์ธํ•˜์—ฌ ํ™•์ธํ•˜๊ณ  [์‚ฌ์ „ ์ค€๋น„๋œ ์ฒดํฌ์•„์›ƒ](#reuse-a-pre-warmed-checkout) ๋˜๋Š” ๋” ์ž‘์€ `CLAUDE_RUNNER_FETCH_DEPTH`๋กœ ํด๋ก ์„ ์ž๋ฅด์„ธ์š”.539* **์„ธ์…˜์ด ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ๋ถ„์ด ๊ฑธ๋ฆผ**: ์ดˆ๊ธฐ ํด๋ก ์ด ์ผ๋ฐ˜์ ์œผ๋กœ ์ง€๋ฐฐํ•ฉ๋‹ˆ๋‹ค. `claude_code_self_hosted_runner_session_init_duration_seconds` [๋ฉ”ํŠธ๋ฆญ](/docs/ko/self-hosted-environments-reference#prometheus-metrics)์„ ํ™•์ธํ•˜์—ฌ ํ™•์ธํ•˜๊ณ  [์‚ฌ์ „ ์ค€๋น„๋œ ์ฒดํฌ์•„์›ƒ](#reuse-a-pre-warmed-checkout) ๋˜๋Š” ๋” ์ž‘์€ `CLAUDE_RUNNER_FETCH_DEPTH`๋กœ ํด๋ก ์„ ์ž๋ฅด์„ธ์š”.

540* **ํ„ด์ด 401๋กœ ์‹คํŒจํ•จ**: ๊ฐ ์„ธ์…˜์€ ๋Ÿฌ๋„ˆ๊ฐ€ Anthropic์—์„œ ๊ฐ€์ ธ์˜ค๊ณ  ์„ธ์…˜์˜ stdin์„ ํ†ตํ•ด ํšŒ์ „ํ•˜๋Š” ๋‹จ๊ธฐ [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/ko/self-hosted-environments-configuration#wrapper-scripts)์œผ๋กœ ๋ชจ๋ธ ํ˜ธ์ถœ์„ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค. ํ„ด์ด ๋ชจ๋ธ API์—์„œ 401 ๋˜๋Š” 403์œผ๋กœ ๋๋‚˜๋ฉด ๋Ÿฌ๋„ˆ๋Š” ์ƒˆ๋กœ์šด ํ† ํฐ์„ ๊ฐ€์ ธ์˜ค๊ณ  ์„ธ์…˜์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์‹คํŒจํ•œ ํ„ด์€ ์žฌ์‹œ๋„๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

541 

542 ๊ฐ€์ ธ์˜ค๊ธฐ๊ฐ€ ์‹คํŒจํ•˜๋ฉด ๋Ÿฌ๋„ˆ๋Š” ์–ธ์ œ ์žฌ์‹œ๋„ํ• ์ง€ ๋งํ•˜๋Š” `inference_token refresh failed` ๋ผ์ธ์„ ๊ธฐ๋กํ•˜๊ณ  ์„ธ์…˜์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ๊ณ„์† ์žฌ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.

543 

544 ๋ชจ๋“  ํ˜ธ์ถœ์ด ์„ธ์…˜ ์•ฝ 30๋ถ„ ํ›„์— ์‹คํŒจํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ๋ž˜ํผ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์„ธ์…˜์˜ stdin์„ ๋Š์—ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฏ€๋กœ ํ† ํฐ ํšŒ์ „์ด ๋„๋‹ฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. [stdin ๋ฐ ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ 3 ์œ ์ง€](/docs/ko/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached)๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

545 

546 v2.1.274 ์ด์ „์— ๋Ÿฌ๋„ˆ๋Š” ์‹คํŒจํ•œ ๊ฐ€์ ธ์˜ค๊ธฐ ํ›„ ๋ช‡ ๋ฒˆ์˜ ์‹œ๋„ ํ›„ ์žฌ์‹œ๋„๋ฅผ ์ค‘์ง€ํ•˜๊ณ  ๋‹ค์Œ ์˜ˆ์•ฝ๋œ ๊ฒƒ์„ ๊ธฐ๋‹ค๋ ธ์Šต๋‹ˆ๋‹ค. ์‹คํŒจํ•œ ํ„ด์€ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ๋ชจ๋“  ํ„ด์€ ๋‹ค์Œ ์˜ˆ์•ฝ๋œ ๊ฐ€์ ธ์˜ค๊ธฐ๊นŒ์ง€ 401๋กœ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.

535* **Pod์ด ๋“œ๋ ˆ์ธ ์ค‘๊ฐ„์— ์ข…๋ฃŒ๋จ**: `terminationGracePeriodSeconds`๋ฅผ ์ตœ์†Œํ•œ ๋Ÿฌ๋„ˆ๊ฐ€ ์‹œ์ž‘ ์‹œ ๊ธฐ๋กํ•˜๋Š” ๊ฐ’์œผ๋กœ ์˜ฌ๋ฆฌ์„ธ์š”. [์ข…๋ฃŒ ํƒ€์ด๋ฐ](#shutdown-timing)์„ ์ฐธ์กฐํ•˜์„ธ์š”.547* **Pod์ด ๋“œ๋ ˆ์ธ ์ค‘๊ฐ„์— ์ข…๋ฃŒ๋จ**: `terminationGracePeriodSeconds`๋ฅผ ์ตœ์†Œํ•œ ๋Ÿฌ๋„ˆ๊ฐ€ ์‹œ์ž‘ ์‹œ ๊ธฐ๋กํ•˜๋Š” ๊ฐ’์œผ๋กœ ์˜ฌ๋ฆฌ์„ธ์š”. [์ข…๋ฃŒ ํƒ€์ด๋ฐ](#shutdown-timing)์„ ์ฐธ์กฐํ•˜์„ธ์š”.

536 548 

537๋กœ๊น…์ด ์ดˆ๊ธฐํ™”๋˜๋ฉด ๋Ÿฌ๋„ˆ๋Š” ์ˆ˜๋ช… ์ฃผ๊ธฐ ๋กœ๊ทธ(JSON์ด ์•„๋‹Œ ์ผ๋ฐ˜ ํ…์ŠคํŠธ ๋ผ์ธ์œผ๋กœ `[runner:fatal]` ๋ผ์ธ ํฌํ•จ)๋ฅผ stdout์— ์“ฐ๊ณ  ๋””๋ฒ„๊ทธ ์ถœ๋ ฅ์„ stderr์— ์”๋‹ˆ๋‹ค. ์œ„์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ํ•ญ๋ชฉ์—์„œ ์„ค๋ช…ํ•˜๋Š” ์‹œ์ž‘ ์‹คํŒจ๋Š” ๊ทธ ์ง€์  ์ „์— stderr์— ์ธ์‡„๋ฉ๋‹ˆ๋‹ค. `--log-file`๋กœ ๋‘ ์ŠคํŠธ๋ฆผ์„ ์บก์ฒ˜ํ•˜์„ธ์š”. ์ด๋Š” ๋˜ํ•œ `self-hosted-runner doctor`๊ฐ€ ์ด๋“ค์„ ์ถ”์ ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” ํ”Œ๋žซํผ์˜ ๋กœ๊ทธ ์ˆ˜์ง‘์œผ๋กœ ์บก์ฒ˜ํ•˜์„ธ์š”.549๋กœ๊น…์ด ์ดˆ๊ธฐํ™”๋˜๋ฉด ๋Ÿฌ๋„ˆ๋Š” ์ˆ˜๋ช… ์ฃผ๊ธฐ ๋กœ๊ทธ(JSON์ด ์•„๋‹Œ ์ผ๋ฐ˜ ํ…์ŠคํŠธ ๋ผ์ธ์œผ๋กœ `[runner:fatal]` ๋ผ์ธ ํฌํ•จ)๋ฅผ stdout์— ์“ฐ๊ณ  ๋””๋ฒ„๊ทธ ์ถœ๋ ฅ์„ stderr์— ์”๋‹ˆ๋‹ค. ์œ„์˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ํ•ญ๋ชฉ์—์„œ ์„ค๋ช…ํ•˜๋Š” ์‹œ์ž‘ ์‹คํŒจ๋Š” ๊ทธ ์ง€์  ์ „์— stderr์— ์ธ์‡„๋ฉ๋‹ˆ๋‹ค. `--log-file`๋กœ ๋‘ ์ŠคํŠธ๋ฆผ์„ ์บก์ฒ˜ํ•˜์„ธ์š”. ์ด๋Š” ๋˜ํ•œ `self-hosted-runner doctor`๊ฐ€ ์ด๋“ค์„ ์ถ”์ ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” ํ”Œ๋žซํผ์˜ ๋กœ๊ทธ ์ˆ˜์ง‘์œผ๋กœ ์บก์ฒ˜ํ•˜์„ธ์š”.

Details

103| `SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS` | `30000` | ๋Ÿฌ๋„ˆ๊ฐ€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์ด ์™„๋ฃŒ๋œ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ์ฝ๋Š” ํ›„์† ํ„ด์ด ์‹œ์ž‘๋˜์ง€ ์•Š์€ ๋™์•ˆ ์„ธ์…˜์„ ๋ฐ”์œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•˜๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. [`--drain-wait-sec` ๋ฐ `--release-idle-session-min` ํ–‰](#runner-cli-flags)์€ ๋“œ๋ ˆ์ธ ๋ฐ ์œ ํœด ํ•ด์ œ์—์„œ ๋ณด์œ ๊ฐ€ ์ ์šฉ๋˜๋Š” ์œ„์น˜๋ฅผ ์„ค๋ช…ํ•˜๋ฉฐ, [Runner lifecycle](/docs/ko/self-hosted-environments#runner-lifecycle)์€ `--retire-at` ์€ํ‡ด์—์„œ ์ ์šฉ๋˜๋Š” ์œ„์น˜๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. `0` ๋˜๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฐ’์€ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ํด๋ฐฑ๋˜๋ฏ€๋กœ ๋ณด์œ ๋ฅผ ๋Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Claude Code v2.1.228 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. |103| `SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS` | `30000` | ๋Ÿฌ๋„ˆ๊ฐ€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์ด ์™„๋ฃŒ๋œ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ์ฝ๋Š” ํ›„์† ํ„ด์ด ์‹œ์ž‘๋˜์ง€ ์•Š์€ ๋™์•ˆ ์„ธ์…˜์„ ๋ฐ”์œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•˜๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. [`--drain-wait-sec` ๋ฐ `--release-idle-session-min` ํ–‰](#runner-cli-flags)์€ ๋“œ๋ ˆ์ธ ๋ฐ ์œ ํœด ํ•ด์ œ์—์„œ ๋ณด์œ ๊ฐ€ ์ ์šฉ๋˜๋Š” ์œ„์น˜๋ฅผ ์„ค๋ช…ํ•˜๋ฉฐ, [Runner lifecycle](/docs/ko/self-hosted-environments#runner-lifecycle)์€ `--retire-at` ์€ํ‡ด์—์„œ ์ ์šฉ๋˜๋Š” ์œ„์น˜๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. `0` ๋˜๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฐ’์€ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ํด๋ฐฑ๋˜๋ฏ€๋กœ ๋ณด์œ ๋ฅผ ๋Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Claude Code v2.1.228 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. |

104| `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` | `~/.claude` | ๋Ÿฌ๋„ˆ์˜ ์‹œ์ž‘ ์Šค๋ƒ…์ƒท์œผ๋กœ ์บก์ฒ˜๋˜๊ณ  ๊ฐ ์„ธ์…˜์˜ `CLAUDE_CONFIG_DIR`๋กœ ์‹œ๋“œ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๋””์Šคํฌ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋Ÿฌ๋„ˆ ์žฌ์‹œ์ž‘ ํ›„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋ฉด ๋Ÿฌ๋„ˆ๊ฐ€ [MCP seeding](/docs/ko/self-hosted-environments-configuration#mcp-servers)์„ ์œ„ํ•ด `.claude.json`์„ ์ฝ๋Š” ์œ„์น˜๋„ ์ด๋™ํ•˜๋ฏ€๋กœ ์„ค์ •ํ•˜๋ฉด ์ž์ฒด ๊ธฐ๋ณธ๊ฐ’์„ ํฌํ•จํ•˜์—ฌ ํ•ด๋‹น ์กฐํšŒ๋ฅผ ์žฌ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. ๋นˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ฐ€๋ฆฌ์ผœ ์‹œ๋”ฉ์„ ์™„์ „ํžˆ ๋น„ํ™œ์„ฑํ™”ํ•˜์„ธ์š”. |104| `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` | `~/.claude` | ๋Ÿฌ๋„ˆ์˜ ์‹œ์ž‘ ์Šค๋ƒ…์ƒท์œผ๋กœ ์บก์ฒ˜๋˜๊ณ  ๊ฐ ์„ธ์…˜์˜ `CLAUDE_CONFIG_DIR`๋กœ ์‹œ๋“œ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๋””์Šคํฌ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋Ÿฌ๋„ˆ ์žฌ์‹œ์ž‘ ํ›„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋ฉด ๋Ÿฌ๋„ˆ๊ฐ€ [MCP seeding](/docs/ko/self-hosted-environments-configuration#mcp-servers)์„ ์œ„ํ•ด `.claude.json`์„ ์ฝ๋Š” ์œ„์น˜๋„ ์ด๋™ํ•˜๋ฏ€๋กœ ์„ค์ •ํ•˜๋ฉด ์ž์ฒด ๊ธฐ๋ณธ๊ฐ’์„ ํฌํ•จํ•˜์—ฌ ํ•ด๋‹น ์กฐํšŒ๋ฅผ ์žฌ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. ๋นˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ฐ€๋ฆฌ์ผœ ์‹œ๋”ฉ์„ ์™„์ „ํžˆ ๋น„ํ™œ์„ฑํ™”ํ•˜์„ธ์š”. |

105| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | ์„ธ์…˜์ด `--kill-session-after-min` ์ œํ•œ์— ๋„๋‹ฌํ•œ ํ›„, ๋Ÿฌ๋„ˆ๊ฐ€ ์„ธ์…˜์„ ์ข…๋ฃŒํ•˜๊ธฐ ์ „์— ์‹คํ–‰ ์ค‘์ธ ํ„ด์ด ์™„๋ฃŒ๋˜๊ฑฐ๋‚˜ ํ•ด์ œ๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐํ•˜๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. |105| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | ์„ธ์…˜์ด `--kill-session-after-min` ์ œํ•œ์— ๋„๋‹ฌํ•œ ํ›„, ๋Ÿฌ๋„ˆ๊ฐ€ ์„ธ์…˜์„ ์ข…๋ฃŒํ•˜๊ธฐ ์ „์— ์‹คํ–‰ ์ค‘์ธ ํ„ด์ด ์™„๋ฃŒ๋˜๊ฑฐ๋‚˜ ํ•ด์ œ๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐํ•˜๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. |

106| `SELF_HOSTED_RUNNER_POST_TURN_SETTLE_MS` | `7000` | ํ„ด์ด ์™„๋ฃŒ๋œ ํ›„ ์„ธ์…˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ„ด์˜ ๋์„ Anthropic์— ๋ณด๊ณ ํ•˜๋Š” ๋™์•ˆ ๋Ÿฌ๋„ˆ๊ฐ€ `--drain-wait-sec` ๋“œ๋ ˆ์ธ์— ๋Œ€ํ•ด ์„ธ์…˜์„ ๋ฐ”์œ ๊ฒƒ์œผ๋กœ ๊ณ„์‚ฐํ•˜๋Š” ์‹œ๊ฐ„์˜ ์ƒํ•œ์ž…๋‹ˆ๋‹ค. `0` ๋˜๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฐ’์€ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ํด๋ฐฑ๋˜๋ฏ€๋กœ ๋ณด์œ ๋ฅผ ๋Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Claude Code v2.1.275 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. |

106| `SELF_HOSTED_RUNNER_SIGKILL_GRACE_MS` | `30000` | ๋Ÿฌ๋„ˆ๊ฐ€ ์ค‘๋‹จ ๋ถˆ๊ฐ€๋Šฅํ•œ I/O์— ๊ฐ‡ํ˜€ ์žˆ๋Š” ์ž์‹์—๊ฒŒ OS๊ฐ€ `SIGKILL`์„ ์ „๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ ํ›„ ์ž์‹ ์„ ์ข…๋ฃŒํ•˜๊ธฐ ์ „๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. `--post-session-hook-timeout-sec` ๋”ํ•˜๊ธฐ 15์ดˆ๋กœ ๋ฐ”๋‹ฅ์ด ์ •ํ•ด์ง€๋ฉฐ, `--push-outcome-on-release`๊ฐ€ ์„ค์ •๋˜๋ฉด 30์ดˆ ๋” ์ถ”๊ฐ€๋˜๋ฏ€๋กœ ํšจ๊ณผ์ ์ธ ์ตœ์†Œ๊ฐ’์€ ๊ธฐ๋ณธ๊ฐ’์—์„œ 75์ดˆ์ž…๋‹ˆ๋‹ค. |107| `SELF_HOSTED_RUNNER_SIGKILL_GRACE_MS` | `30000` | ๋Ÿฌ๋„ˆ๊ฐ€ ์ค‘๋‹จ ๋ถˆ๊ฐ€๋Šฅํ•œ I/O์— ๊ฐ‡ํ˜€ ์žˆ๋Š” ์ž์‹์—๊ฒŒ OS๊ฐ€ `SIGKILL`์„ ์ „๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฐ ํ›„ ์ž์‹ ์„ ์ข…๋ฃŒํ•˜๊ธฐ ์ „๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. `--post-session-hook-timeout-sec` ๋”ํ•˜๊ธฐ 15์ดˆ๋กœ ๋ฐ”๋‹ฅ์ด ์ •ํ•ด์ง€๋ฉฐ, `--push-outcome-on-release`๊ฐ€ ์„ค์ •๋˜๋ฉด 30์ดˆ ๋” ์ถ”๊ฐ€๋˜๋ฏ€๋กœ ํšจ๊ณผ์ ์ธ ์ตœ์†Œ๊ฐ’์€ ๊ธฐ๋ณธ๊ฐ’์—์„œ 75์ดˆ์ž…๋‹ˆ๋‹ค. |

107| `CLAUDE_RUNNER_FETCH_DEPTH` | `50` | ์‹ ์„ ํ•œ ๋ณต์ œ๋ฅผ ์œ„ํ•œ Git ํŽ˜์น˜ ๊นŠ์ด์ž…๋‹ˆ๋‹ค. ์–‘์˜ ์ •์ˆ˜ ๋˜๋Š” ์™„์ „ํ•œ ํŽ˜์น˜๋ฅผ ์œ„ํ•ด `full` ๋˜๋Š” `0`์„ ์„ค์ •ํ•˜์„ธ์š”. ์ž‘์—… ๊ณต๊ฐ„์— ์ด๋ฏธ ์žˆ๋Š” ์ €์žฅ์†Œ๋Š” ๊ธฐ์กด ๊นŠ์ด๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. |108| `CLAUDE_RUNNER_FETCH_DEPTH` | `50` | ์‹ ์„ ํ•œ ๋ณต์ œ๋ฅผ ์œ„ํ•œ Git ํŽ˜์น˜ ๊นŠ์ด์ž…๋‹ˆ๋‹ค. ์–‘์˜ ์ •์ˆ˜ ๋˜๋Š” ์™„์ „ํ•œ ํŽ˜์น˜๋ฅผ ์œ„ํ•ด `full` ๋˜๋Š” `0`์„ ์„ค์ •ํ•˜์„ธ์š”. ์ž‘์—… ๊ณต๊ฐ„์— ์ด๋ฏธ ์žˆ๋Š” ์ €์žฅ์†Œ๋Š” ๊ธฐ์กด ๊นŠ์ด๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. |

108| `CLAUDE_RUNNER_SKIP_GIT_VERIFY` | ์„ค์ •๋˜์ง€ ์•Š์Œ | `1`์ผ ๋•Œ, `checkout` ํ›…์ด ์‹คํ–‰๋œ ํ›„ `.git` ์กด์žฌ ํ™•์ธ์„ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. ํ›…์ด ๋น„git ์†Œ์Šค๋ฅผ ๊ตฌ์ฒดํ™”ํ•  ๋•Œ ์ด๋ฅผ ์„ค์ •ํ•˜์„ธ์š”. |109| `CLAUDE_RUNNER_SKIP_GIT_VERIFY` | ์„ค์ •๋˜์ง€ ์•Š์Œ | `1`์ผ ๋•Œ, `checkout` ํ›…์ด ์‹คํ–‰๋œ ํ›„ `.git` ์กด์žฌ ํ™•์ธ์„ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. ํ›…์ด ๋น„git ์†Œ์Šค๋ฅผ ๊ตฌ์ฒดํ™”ํ•  ๋•Œ ์ด๋ฅผ ์„ค์ •ํ•˜์„ธ์š”. |

slack.md +3 โˆ’1

Details

231 231 

232์ด ํ•ญ๋ชฉ์€ [Claude Tag](https://claude.com/docs/claude-tag/overview)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์›Œํฌ์ŠคํŽ˜์ด์Šค์— ์ ์šฉ๋˜๋ฉฐ, ์—ฌ๊ธฐ์„œ Claude๋Š” ์กฐ์ง์˜ ๊ณต์œ  ID๋กœ ์ฑ„๋„์—์„œ ์ž‘๋™ํ•˜๋ฉฐ ์–ด๋–ค ๋ฉค๋ฒ„์˜ ๊ณ„์ •์œผ๋กœ๋„ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. [claude.ai/code](https://claude.ai/code)์—์„œ ์ฑ„๋„์˜ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ์ƒ์„ฑํ•œ ๊ฒฝ์šฐ, ์ด๋Š” ๊ฐœ์ธ ๊ณ„์ •์— ์†ํ•˜๋ฉฐ Claude๋Š” ๊ฐœ์ธ ํ™˜๊ฒฝ์—์„œ ์ฑ„๋„ ์„ธ์…˜์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Claude Code๋Š” ์„ธ์…˜์„ ์ฆ‰์‹œ ์‹คํŒจํ•˜๋ฉฐ, ์žฌ์‹œ๋„ํ•ด๋„ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.232์ด ํ•ญ๋ชฉ์€ [Claude Tag](https://claude.com/docs/claude-tag/overview)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์›Œํฌ์ŠคํŽ˜์ด์Šค์— ์ ์šฉ๋˜๋ฉฐ, ์—ฌ๊ธฐ์„œ Claude๋Š” ์กฐ์ง์˜ ๊ณต์œ  ID๋กœ ์ฑ„๋„์—์„œ ์ž‘๋™ํ•˜๋ฉฐ ์–ด๋–ค ๋ฉค๋ฒ„์˜ ๊ณ„์ •์œผ๋กœ๋„ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. [claude.ai/code](https://claude.ai/code)์—์„œ ์ฑ„๋„์˜ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์„ ์ƒ์„ฑํ•œ ๊ฒฝ์šฐ, ์ด๋Š” ๊ฐœ์ธ ๊ณ„์ •์— ์†ํ•˜๋ฉฐ Claude๋Š” ๊ฐœ์ธ ํ™˜๊ฒฝ์—์„œ ์ฑ„๋„ ์„ธ์…˜์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. Claude Code๋Š” ์„ธ์…˜์„ ์ฆ‰์‹œ ์‹คํŒจํ•˜๋ฉฐ, ์žฌ์‹œ๋„ํ•ด๋„ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

233 233 

234Owner์ธ ๊ฒฝ์šฐ, [admin settings](https://claude.ai/admin-settings)์˜ **Cloud environments** ํŽ˜์ด์ง€์—์„œ ํ™˜๊ฒฝ์„ [organization-shared environment](/docs/ko/cloud-environments#organization-shared-environments)๋กœ ๋‹ค์‹œ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:234Owner์ธ ๊ฒฝ์šฐ ํ™˜๊ฒฝ์ด ๋ณธ์ธ ๊ฒƒ์ด๋ฉด, [ํ™˜๊ฒฝ ์„ ํƒ๊ธฐ์—์„œ ์กฐ์ง๊ณผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค](/docs/ko/cloud-environments#organization-shared-environments). ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด Owner๊ฐ€ [admin settings](https://claude.ai/admin-settings)์˜ **Cloud environments** ํŽ˜์ด์ง€์—์„œ ์กฐ์ง ๊ณต์œ  ํ™˜๊ฒฝ์œผ๋กœ ๋‹ค์‹œ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

235 

236๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

235 237 

236* [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)์—์„œ ์กฐ์ง ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.238* [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code)์—์„œ ์กฐ์ง ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

237* Claude Tag admin settings์—์„œ [์ฑ„๋„์— ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค](https://claude.com/docs/claude-tag/admins/troubleshooting#channel-sessions-use-the-wrong-environment-or-can%E2%80%99t-find-one).239* Claude Tag admin settings์—์„œ [์ฑ„๋„์— ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค](https://claude.com/docs/claude-tag/admins/troubleshooting#channel-sessions-use-the-wrong-environment-or-can%E2%80%99t-find-one).

web-quickstart.md +2 โˆ’0

Details

196<Steps>196<Steps>

197 <Step title="์ฐจ์ด ๋ณด๊ธฐ ์—ด๊ธฐ">197 <Step title="์ฐจ์ด ๋ณด๊ธฐ ์—ด๊ธฐ">

198 ์ฐจ์ด ํ‘œ์‹œ๊ธฐ๋Š” ์„ธ์…˜ ์ „์ฒด์—์„œ ์ถ”๊ฐ€๋˜๊ณ  ์ œ๊ฑฐ๋œ ์ค„์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: `+42 -18`). ์ด๋ฅผ ์„ ํƒํ•˜์—ฌ ์ฐจ์ด ๋ณด๊ธฐ๋ฅผ ์—ด๊ณ , ์™ผ์ชฝ์— ํŒŒ์ผ ๋ชฉ๋ก์ด ์žˆ๊ณ  ์˜ค๋ฅธ์ชฝ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.198 ์ฐจ์ด ํ‘œ์‹œ๊ธฐ๋Š” ์„ธ์…˜ ์ „์ฒด์—์„œ ์ถ”๊ฐ€๋˜๊ณ  ์ œ๊ฑฐ๋œ ์ค„์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: `+42 -18`). ์ด๋ฅผ ์„ ํƒํ•˜์—ฌ ์ฐจ์ด ๋ณด๊ธฐ๋ฅผ ์—ด๊ณ , ์™ผ์ชฝ์— ํŒŒ์ผ ๋ชฉ๋ก์ด ์žˆ๊ณ  ์˜ค๋ฅธ์ชฝ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

199 

200 ์ฐจ์ด ๋ณด๊ธฐ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ธ์…˜์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ธฐ๋ณธ ๋ถ„๊ธฐ์™€ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ถ„๊ธฐ์™€ ๋น„๊ตํ•˜๋ ค๋ฉด **๋น„๊ต ๋Œ€์ƒ**์„ ์„ ํƒํ•˜๊ณ  ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

199 </Step>201 </Step>

200 202 

201 <Step title="์ธ๋ผ์ธ ๋Œ“๊ธ€ ๋‚จ๊ธฐ๊ธฐ">203 <Step title="์ธ๋ผ์ธ ๋Œ“๊ธ€ ๋‚จ๊ธฐ๊ธฐ">