2026.07.30 (๋ชฉ)

โœจ GPT-5.6 Sol์˜ ์š”์•ฝ ใ€€

์ „์šฉ Ubuntu Server์˜ ๋””์Šคํฌยท๋‚ด๋ถ€ SSHยท๊ณ ์ • ์ฃผ์†Œ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , ์‚ฌ๋žŒยทAI Cellยท์—…๋ฌด ์ž๋™ํ™” Runtime์˜ ๊ถŒํ•œ์„ ๋‚˜๋ˆˆ ๋’ค ๋„คํŠธ์›Œํฌ ์ „์ฒด๋ฅผ Codex๊ฐ€ ์ด์–ด๋ฐ›์„ ์šด์˜ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •๋ฆฌํ•œ ๊ธฐ๋ก.

๋“œ๋””์–ด ํšŒ์‚ฌ ์„œ๋น„์Šค ์ „์šฉ Linux ์„œ๋ฒ„๋ฅผ ์„ธ์› ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์ด๋ฒˆ์— ๋งŒ๋“  ๊ฒƒ์€ Ubuntu๊ฐ€ ๋ถ€ํŒ…๋˜๋Š” ์ปดํ“จํ„ฐ ํ•œ ๋Œ€๊ฐ€ ์•„๋‹ˆ์—ˆ๋‹ค. ์‚ฌ๋žŒ๊ณผ AI, ์—…๋ฌด ์ž๋™ํ™” ์„œ๋น„์Šค๊ฐ€ ํ•œ ์„œ๋ฒ„ ์•ˆ์—์„œ ๋™์‹œ์— ๋Œ์•„๊ฐ€๋”๋ผ๋„ ์„œ๋กœ์˜ ๊ถŒํ•œ๊ณผ ์ƒํƒœ๋ฅผ ์นจ๋ฒ”ํ•˜์ง€ ์•Š๊ฒŒ ๋งŒ๋“œ๋Š” ์šด์˜ ๊ธฐ๋ฐ˜์— ๊ฐ€๊นŒ์› ๋‹ค.

์ฒ˜์Œ SSD๋ฅผ ๊ตฌํ–ˆ์„ ๋•Œ๋งŒ ํ•ด๋„ ์ƒ๊ฐ์€ ๋‹จ์ˆœํ–ˆ๋‹ค. Windows PC์— Linux๋ฅผ ๊น”๊ณ  SSH๋กœ ์ ‘์†ํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ๋˜๋Š” ๊ฒƒ ์•„๋‹Œ๊ฐ€ ์‹ถ์—ˆ๋‹ค. ๊ณง๋ฐ”๋กœ GUI๋ถ€ํ„ฐ ๊ณ ๋ฏผํ–ˆ๋‹ค. ๊ดœํžˆ ์„œ๋ฒ„๋‹ต๊ฒŒ ๋ณด์ด๊ฒ ๋‹ค๊ณ  CLI๋งŒ ๊ณ ์ง‘ํ•˜๋‹ค๊ฐ€ ๋‚˜์ค‘์— ๋ธŒ๋ผ์šฐ์ € ๋กœ๊ทธ์ธ์ด๋‚˜ Computer Use๊ฐ€ ํ•„์š”ํ•ด์ง€๋ฉด ํ”ผ ๋ณด๋Š” ๊ฒƒ ์•„๋‹๊นŒ ์‹ถ์—ˆ๋‹ค.

๋ง‰์ƒ ํ•˜๋‚˜์”ฉ ๋”ฐ์ ธ๋ณด๋‹ˆ ์„œ๋ฒ„์— GUI๊ฐ€ ์žˆ์–ด์•ผ ํ•  ์ด์œ ์™€ ๋‚ด๊ฐ€ GUI๋ฅผ ์จ์•ผ ํ•  ์ด์œ ๋Š” ์ „ํ˜€ ๋‹ค๋ฅธ ๋ฌธ์ œ์˜€๋‹ค. OAuth๋‚˜ Codex ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•˜๋ฉด SSH ํ™”๋ฉด์— ๋‚˜์˜จ ์ฃผ์†Œ๋ฅผ MacBook ๋ธŒ๋ผ์šฐ์ €์—์„œ ์—ด๋ฉด ๋œ๋‹ค. Computer Use๊ฐ€ ํ•„์š”ํ•˜๋ฉด ๋‚ด Mac์ด๋‚˜ ์—…๋ฌด์šฉ ๊ธฐ๊ธฐ์—์„œ ์‹คํ–‰ํ•˜๊ณ , Linux๋Š” ๊ทธ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐฐํฌ๋  Runtime์œผ๋กœ ๋‘๋ฉด ๋œ๋‹ค.

์„œ๋ฒ„๋Š” ํ™”๋ฉด์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ธฐ๊ณ„๊ฐ€ ์•„๋‹ˆ๋ผ ๊ณ„์† ์‹คํ–‰๋˜๋Š” ํ™˜๊ฒฝ์ด์—ˆ๋‹ค.

Windows ๋””์Šคํฌ๋ฅผ ์ง€ํ‚ค๋Š” UEFIยทGPTยทLVM ๊ตฌ์„ฑ

์„ค์น˜ USB๋ถ€ํ„ฐ ํ—ท๊ฐˆ๋ ธ๋‹ค. Ventoy USB๊ฐ€ MBR์ด๋ฉด Ubuntu๋„ MBR๋กœ ์„ค์น˜๋˜๋Š” ์ค„ ์•Œ์•˜๊ณ , ๋ถ€ํŒ… ๋ฉ”๋‰ด์— UEFI: USB, Partition 2๊ฐ€ ๋‚˜ํƒ€๋‚˜์ž ์ด๊ฒƒ์ด ๋งž๋Š” ๊ฒฝ๋กœ์ธ์ง€๋„ ๋ถˆ์•ˆํ–ˆ๋‹ค.

USB์˜ partition ๋ฐฉ์‹๊ณผ Ubuntu๋ฅผ ์„ค์น˜ํ•  SSD์˜ partition ๋ฐฉ์‹์€ ๋ณ„๊ฐœ์˜€๋‹ค. UEFI ํ•ญ๋ชฉ์œผ๋กœ installer๋ฅผ ์‹œ์ž‘ํ•œ ๋’ค ์„ค์น˜ ๋Œ€์ƒ SSD๋งŒ ์ •ํ™•ํžˆ ๊ณ ๋ฅด๋ฉด ๋๋‹ค. ๊ธฐ์กด Windows NVMe๋Š” ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š๊ณ , ์ƒˆ๋กœ ๊ตฌํ•œ 250GB SSD์—๋งŒ EFI System Partition, /boot, LVM๊ณผ root filesystem์„ ๋งŒ๋“ค์—ˆ๋‹ค.

์ด ๊ณผ์ •์—์„œ ๊ฐ€์žฅ ๋ฌด์„œ์› ๋˜ ๊ฒƒ์€ Linux๊ฐ€ ์–ด๋ ค์šด ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์—‰๋šฑํ•œ ๋””์Šคํฌ๋ฅผ ์ง€์šฐ๋Š” ์ผ์ด์—ˆ๋‹ค. Windows์˜ ์‹œ์Šคํ…œ ์˜ˆ์•ฝ partition๊นŒ์ง€ ๋ณด์ด๋‹ˆ ์ง€์›Œ๋„ ๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋А๊ปด์กŒ์ง€๋งŒ, installer์—์„œ ๋””์Šคํฌ ๋ชจ๋ธ๊ณผ ์šฉ๋Ÿ‰์„ ๋‹ค์‹œ ๋Œ€์กฐํ•˜๊ณ  Ubuntu ์ „์šฉ SSD๋งŒ ์„ ํƒํ–ˆ๋‹ค. ๊ธฐ์กด Windows ๋””์Šคํฌ๋Š” ๊ทธ๋Œ€๋กœ ๋‚จ์•˜๋‹ค.

์„ค์น˜๋Š” Ubuntu Server 24.04.4 LTS์˜ ์ผ๋ฐ˜ ๊ตฌ์„ฑ์„ ์„ ํƒํ–ˆ๋‹ค. minimized๋„, Desktop image๋„ ์•„๋‹ˆ์—ˆ๋‹ค. GUI๊ฐ€ ๋น ์ง„ ๋Œ€์‹  SSH์™€ systemd๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ , ์ดํ›„ Docker Runtime์„ ์˜ฌ๋ฆฌ๊ธฐ ์ข‹์€ ๋ฐ”๋‹ฅ๋งŒ ๋‚จ๊ฒผ๋‹ค.

๊ณ ์ • ์ฃผ์†Œ๋ณด๋‹ค ๋จผ์ € ํ•„์š”ํ–ˆ๋˜ DHCP ์˜ˆ์•ฝ๊ณผ ๋‚ด๋ถ€ SSH

์„ค์น˜ ์ค‘ ์œ ์„  LAN์€ DHCP๋กœ ๋ฐ”๋กœ ์ฃผ์†Œ๋ฅผ ๋ฐ›์•˜๋‹ค. ์ฒ˜์Œ์—๋Š” ์—ฌ๊ธฐ์„œ Create bond๋ฅผ ๋ˆ„๋ฅด๋ฉด SSH๊ฐ€ ๋” ์ž˜ ์—ฐ๊ฒฐ๋˜๊ฑฐ๋‚˜ ์ฃผ์†Œ๊ฐ€ ๊ณ ์ •๋˜๋Š” ์ค„ ์•Œ์•˜๋‹ค. ํ•˜์ง€๋งŒ bond๋Š” ์—ฌ๋Ÿฌ NIC๋ฅผ ๋ฌถ์–ด ์ด์ค‘ํ™”ํ•˜๊ฑฐ๋‚˜ ๋Œ€์—ญํญ์„ ํ•ฉ์น  ๋•Œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์ด์—ˆ๋‹ค. ๋‹จ์ผ ์œ ์„  NIC ํ•œ ์žฅ์˜ ์ฃผ์†Œ๋ฅผ ๊ณ ์ •ํ•˜๋Š” ๋ฌธ์ œ์™€๋Š” ๊ด€๊ณ„๊ฐ€ ์—†์—ˆ๋‹ค.

์„œ๋ฒ„ ์•ˆ์— ์ž„์˜์˜ static IP๋ฅผ ๋ฐ•๋Š” ๋Œ€์‹  ๋ฉ”์ธ ๊ณต์œ ๊ธฐ์—์„œ NIC์˜ MAC ์ฃผ์†Œ์™€ ๋‚ด๋ถ€ IP๋ฅผ DHCP ์˜ˆ์•ฝ์œผ๋กœ ๋ฌถ์—ˆ๋‹ค. ์„œ๋ฒ„๋Š” ๊ณ„์† DHCP client๋กœ ๋‚จ์ง€๋งŒ ์žฌ๋ถ€ํŒ…ํ•ด๋„ ๊ฐ™์€ ์ฃผ์†Œ๋ฅผ ๋ฐ›๋Š”๋‹ค. ๊ณต์œ ๊ธฐ์—์„œ ๋‹ค๋ฅธ ์˜ˆ์•ฝ ์žฅ๋น„์™€ ์ถฉ๋Œํ•˜๋Š”์ง€๋„ ํ•จ๊ป˜ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

SSH๋„ ์ธํ„ฐ๋„ท์— ์—ด์ง€ ์•Š์•˜๋‹ค. MacBook์—์„œ๋งŒ ์“ธ ์ „์šฉ Ed25519 key๋ฅผ ๋งŒ๋“ค๊ณ , ์„œ๋ฒ„ host key๋ฅผ ์ฝ˜์†”์—์„œ ๋Œ€์กฐํ•œ ๋’ค ๋‚ด๋ถ€๋ง ์ฃผ์†Œ์— ๊ณ ์ •ํ–ˆ๋‹ค. ๊ณต์œ ๊ธฐ์˜ ์™ธ๋ถ€ 22๋ฒˆ port forwarding์€ ๋งŒ๋“ค์ง€ ์•Š์•˜๋‹ค.

์„ค์น˜ ์งํ›„ ssh.service๊ฐ€ disabled๋ผ๊ณ  ๋‚˜์™€ ์ž ๊น ์ž˜๋ชป ์„ค์น˜ํ•œ ์ค„ ์•Œ์•˜๋‹ค. ์‹ค์ œ๋กœ๋Š” ssh.socket์ด ํ™œ์„ฑํ™”๋ผ 22๋ฒˆ port๋ฅผ ๋“ฃ๊ณ  ์žˆ์—ˆ๊ณ , ์žฌ๋ถ€ํŒ… ๋’ค์—๋„ public-key login์ด ๋ฐ˜๋ณตํ•ด์„œ ์„ฑ๊ณตํ–ˆ๋‹ค. socket activation์€ ์š”์ฒญ์ด ๋“ค์–ด์˜ฌ ๋•Œ ํ•ด๋‹น service๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ service ํ•œ ์ค„๋งŒ ๋ณด๊ณ  ์žฅ์• ๋ผ๊ณ  ํŒ๋‹จํ•˜๋ฉด ์•ˆ ๋๋‹ค.1

๋ฉฐ์น  ์ „ ํšŒ์‚ฌ ๊ณต์œ ๊ธฐ์˜ ์ธํ„ฐ๋„ท ์žฅ์• ๋ฅผ ๊ณ ์น˜๋ฉด์„œ ๋ฐฐ์šด DHCP lease, reservation, IPโ€“MAC binding์˜ ์ฐจ์ด๊ฐ€ ์ด๋ฒˆ์—๋Š” ๊ทธ๋Œ€๋กœ ์„œ๋ฒ„ ๊ธฐ๋ฐ˜์„ ๋งŒ๋“œ๋Š” ๋ฐ ์“ฐ์˜€๋‹ค. ์ฃผ์†Œ ํ•˜๋‚˜๋ฅผ ๋ฐ›์•˜๋‹ค๋Š” ์‚ฌ์‹ค๊ณผ ๊ทธ ์ฃผ์†Œ๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์€ ๋‹ฌ๋ž๋‹ค.

ํ•œ ๊ณ„์ •์— ์„ž์ง€ ์•Š์€ ์‚ฌ๋žŒยทAI Cellยท์„œ๋น„์Šค

SSH๊ฐ€ ๋ถ™๊ณ  ๋‚˜๋‹ˆ ํ‰์†Œ ํ•˜๋˜ ๋Œ€๋กœ Oh My Zsh, Powerlevel10k์™€ ๊ฐœ์ธ alias๋ถ€ํ„ฐ ๋„ฃ์œผ๋ ค ํ–ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋‹ค์‹œ ๋ฉˆ์ท„๋‹ค.

์„ค์น˜ํ•  ๋•Œ ๋งŒ๋“  ์ฒซ ๊ณ„์ •์€ bootstrap๊ณผ ๋ณต๊ตฌ๋ฅผ ์œ„ํ•œ ํšŒ์‚ฌ ์†Œ์œ  ๊ด€๋ฆฌ์ž๋‹ค. ๋‚ด๊ฐ€ ๋งค์ผ ์“ฐ๋Š” shell๊ณผ AI Runtime, Operations Automation๊นŒ์ง€ ์ด ๊ณ„์ • ํ•˜๋‚˜์— ๋ชฐ์•„๋„ฃ์œผ๋ฉด ํŽธํ•˜๊ธฐ๋Š” ํ•˜๋‹ค. ๋Œ€์‹  ๋ˆ„๊ฐ€ ์–ด๋–ค ๊ถŒํ•œ์œผ๋กœ ๋ฌด์—‡์„ ์‹คํ–‰ํ–ˆ๋Š”์ง€ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์—†๊ณ , ๋‚˜์ค‘์— ๋‹ด๋‹น์ž๊ฐ€ ๋Š˜๊ฑฐ๋‚˜ ๊ณ„์ •์„ ํšŒ์ˆ˜ํ•  ๋•Œ ์ „๋ถ€ ์–ฝํžŒ๋‹ค.

๊ทธ๋ž˜์„œ ๊ณ„์ •๋ถ€ํ„ฐ ๋‹ค์Œ ๊ทœ์น™์œผ๋กœ ๋‚˜๋ˆด๋‹ค.

bootstrap ๊ด€๋ฆฌ์ž
โ””โ”€ ์„ค์น˜ยท๋ณต๊ตฌ์—๋งŒ ์‚ฌ์šฉ

usr-<person>
โ””โ”€ ์‚ฌ๋žŒ์ด SSHยทsudoยท๊ฐœ๋ฐœ ์ž‘์—…์— ์‚ฌ์šฉํ•˜๋Š” ๊ณ„์ •

aio-cell-<person>
โ””โ”€ ๊ฐœ์ธ AI Cell์ด ๊ณ„์† ์‹คํ–‰๋˜๋Š” ๊ณ„์ •

svc-<domain>-<purpose>
โ””โ”€ ์•ฑ Runtime, ๋ฐ์ดํ„ฐ importer, ์ œํ•œ๋œ operation broker

ํšŒ์‚ฌ๋ช…์ด๋‚˜ ์ง๋ฌด๋ฅผ username์— ๋„ฃ์ง€ ์•Š์€ ๊ฒƒ๋„ ์˜๋„์ ์ด์—ˆ๋‹ค. ์‚ฌ๋žŒ์€ ๊ฐ™์€ ์‚ฌ๋žŒ์ธ๋ฐ ์†Œ์†๊ณผ ์—ญํ• ์€ ๋ฐ”๋€” ์ˆ˜ ์žˆ๋‹ค. Linux login์€ ์•ˆ์ •์ ์ธ ์‹ ์›๋งŒ ๋‚˜ํƒ€๋‚ด๊ณ , ๊ด€๋ฆฌ์žยท๊ฐœ๋ฐœ์žยทํ”„๋กœ์ ํŠธ ์ฐธ์—ฌ ๊ฐ™์€ ๊ถŒํ•œ์€ group๊ณผ RBAC์—์„œ ๋”ฐ๋กœ ๋ฐ”๊พธ๋Š” ํŽธ์ด ๋‚ซ๋‹ค.

๋‚ด๊ฐ€ ์“ฐ๋˜ OMZยทP10Kยทalias๋Š” ์‚ฌ๋žŒ ๊ณ„์ •์—๋งŒ ๋‘๊ธฐ๋กœ ํ–ˆ๋‹ค. AI Cell๊ณผ service account๋Š” ๋Œ€ํ™”ํ˜• shell ์„ค์ •์„ ์ฝ์ง€ ์•Š๊ณ , ๊ณ ์ •๋œ systemd unit๊ณผ EnvironmentFile, ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์‹คํ–‰ํ•  ๊ณ„ํš์ด๋‹ค. ์˜ˆ์œ prompt๋Š” ๋‚ด ์ž‘์—… ํšจ์œจ์„ ๋†’์ด์ง€๋งŒ ์„œ๋น„์Šค ์•ˆ์ •์„ฑ๊ณผ๋Š” ์•„๋ฌด ๊ด€๊ณ„๊ฐ€ ์—†๋‹ค.

์•„์ง ์ด ๊ณ„์ •๋“ค์„ ๊ธ‰ํ•˜๊ฒŒ ์ „๋ถ€ ์ƒ์„ฑํ•˜์ง€๋Š” ์•Š์•˜๋‹ค. ๋Œ€์‹  ์ด๋ฆ„, ์†Œ์œ ํ•  ํŒŒ์ผ, ๋กœ๊ทธ์ธ ๊ฐ€๋Šฅ ์—ฌ๋ถ€, sudo์™€ Docker ์ ‘๊ทผ ๋ฒ”์œ„๋ฅผ ๋จผ์ € ํ™•์ •ํ–ˆ๋‹ค. ๋นˆ ์„œ๋ฒ„์ผ ๋•Œ ์ด ๊ฒฝ๊ณ„๋ฅผ ์žก์•„๋‘๋Š” ํŽธ์ด ์ด๋ฏธ ๋ชจ๋“  ๊ฒƒ์ด ํ•œ ๊ณ„์ •์— ์„ž์ธ ๋’ค ๋–ผ์–ด๋‚ด๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋‹จ์ˆœํ–ˆ๋‹ค.

AI Cell์˜ ๊ฒฝ๊ณ„๋Š” UIDยทHOMEยทOAuth๊นŒ์ง€ ์ด์–ด์ง„๋‹ค

์ด๋ฒˆ์— ๊ฐ€์žฅ ํฌ๊ฒŒ ์ดํ•ด๊ฐ€ ๋ฐ”๋€ ๋ถ€๋ถ„์€ ๋‹ค์ค‘ ์‚ฌ์šฉ์ž์˜€๋‹ค.

๋ฐ์Šคํฌํ†ฑ GUI๋งŒ ๋ณด๋‹ค ๋ณด๋ฉด ์ง€๊ธˆ ํ™”๋ฉด์— ๋กœ๊ทธ์ธํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ์ปดํ“จํ„ฐ ์ „์ฒด๋ฅผ ์ ์œ ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋А๊ปด์กŒ๋‹ค. Linux์—์„œ๋Š” ๋ณด์ด๋Š” ๋กœ๊ทธ์ธ ํ™”๋ฉด๊ณผ ์‹คํ–‰ ์ค‘์ธ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณ„๊ฐœ์˜€๋‹ค. ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— SSH๋กœ ์ ‘์†ํ•  ์ˆ˜๋„ ์žˆ๊ณ , ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์€ service account์˜ process๋„ systemd ์•„๋ž˜์—์„œ ๊ณ„์† ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด ๊ตฌ์กฐ๋Š” macOS ์‚ฌ์šฉ์ž ๋‹จ์œ„๋กœ ๋‹ค์‹œ ์ •์˜ํ–ˆ๋˜ AI Cell์„ Linux๋กœ ํ™•์žฅํ•  ๋•Œ ํŠนํžˆ ์ค‘์š”ํ–ˆ๋‹ค. AI Cell ํ•˜๋‚˜๋Š” ๋‹จ์ˆœํ•œ process ์ด๋ฆ„์ด ์•„๋‹ˆ์—ˆ๋‹ค.

AI Cell 1๊ฐœ
= Linux UIDยทHOME 1์„ธํŠธ
= OAuthยทCODEX_HOME 1์„ธํŠธ
= GatewayยทPort 1์„ธํŠธ
= SessionยทMemoryยทWorkspace 1์„ธํŠธ
= systemd unitยทcgroup budget 1์„ธํŠธ

์‚ฌ๋žŒ๋ณ„ Cell์ด ๊ฐ๊ฐ ๋‹ค๋ฅธ UID์™€ HOME์„ ๊ฐ€์ง€๋ฉด ์ธ์ฆ๊ณผ ๊ธฐ์–ต, ์ž‘์—… ๊ณต๊ฐ„์ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ฐˆ๋ฆฐ๋‹ค. ๊ฐ Cell์€ ์„œ๋กœ ๋‹ค๋ฅธ port๋‚˜ Unix socket์œผ๋กœ ๋œจ๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ SSH์— ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์•„๋„ ๋ถ€ํŒ… ๋’ค systemd๊ฐ€ ๊ณ„์† ์‹คํ–‰ํ•œ๋‹ค. ํ•œ ์„œ๋ฒ„ ์•ˆ์—์„œ ์—ฌ๋Ÿฌ Cell์ด ๋™์‹œ์— ์‚ด์•„ ์žˆ์–ด๋„ ํ•œ Cell์˜ OAuth๋‚˜ Memory๊ฐ€ ๋‹ค๋ฅธ Cell์˜ fallback์œผ๋กœ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ตฌ์กฐ๋‹ค.

๋ฐ˜๋Œ€๋กœ AI Cell์—๋Š” sudo, NAS ์ „์ฒด mount, ์šด์˜ DB ๊ด€๋ฆฌ์ž credential, Docker socket์„ ์ฃผ์ง€ ์•Š๊ธฐ๋กœ ํ–ˆ๋‹ค. Docker ๊ณต์‹ ๋ฌธ์„œ๋„ docker group์ด ์‚ฌ์šฉ์ž์—๊ฒŒ root ์ˆ˜์ค€์˜ ๊ถŒํ•œ์„ ์ค€๋‹ค๊ณ  ๊ฒฝ๊ณ ํ•œ๋‹ค.2 ํŽธํ•˜๋‹ค๊ณ  ์‚ฌ๋žŒยทAIยทservice ๊ณ„์ •์„ ๊ทธ group์— ๋„ฃ์œผ๋ฉด ์•ž์—์„œ ๋‚˜๋ˆˆ ๊ฒฝ๊ณ„๊ฐ€ ์‚ฌ์‹ค์ƒ ์‚ฌ๋ผ์ง„๋‹ค.

Docker ์ž‘์—…์€ ์‚ฌ๋žŒ ๊ด€๋ฆฌ์ž๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ sudo๋ฅผ ์“ฐ๊ฑฐ๋‚˜, root๊ฐ€ ์†Œ์œ ํ•œ ์ œํ•œ๋œ helper์™€ systemd unit์ด ์ •ํ•ด์ง„ operation๋งŒ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋งŒ๋“ค ์˜ˆ์ •์ด๋‹ค. AI๊ฐ€ ๋ฐฐํฌ๋ฅผ ์กฐ์œจํ•  ์ˆ˜๋Š” ์žˆ์–ด๋„ ์ž„์˜์˜ shell๊ณผ Docker ์ „์ฒด ๊ถŒํ•œ์„ ์ง์ ‘ ๊ฐ–์ง€๋Š” ์•Š๋Š”๋‹ค.

NAS๋Š” ingress๋กœ, Linux๋Š” application Runtime์œผ๋กœ

Linux ์„œ๋ฒ„๋Š” AI Orchestration๋งŒ์„ ์œ„ํ•œ ์žฅ๋น„๊ฐ€ ์•„๋‹ˆ๋‹ค. Operations Automation์˜ WebยทAPIยทDB๋„ ๊ฐ™์€ ์žฅ๋น„์—์„œ Docker Runtime์œผ๋กœ ์šด์˜ํ•  ์˜ˆ์ •์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  ๋ชจ๋“  ๊ฒƒ์„ ํ•œ ๊ณ„์ •, ํ•œ Compose project, ํ•œ network์— ๋„ฃ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

์™ธ๋ถ€ ์—ฐ๊ฒฐ์€ ๊ธฐ์กด NAS๊ฐ€ ๋งก๊ณ  ์žˆ๋Š” HTTPS์™€ reverse proxy๋ฅผ ์œ ์ง€ํ•œ๋‹ค. Linux๋Š” ์‹ค์ œ application์„ ์‹คํ–‰ํ•œ๋‹ค.

์™ธ๋ถ€ ์‚ฌ์šฉ์ž
โ†’ HTTPS 443
โ†’ ํšŒ์‚ฌ ๊ณต์œ ๊ธฐ
โ†’ NAS TLSยทhostname reverse proxy
โ†’ Linux frontend
โ†’ Docker ๋‚ด๋ถ€ API
โ†’ Docker ๋‚ด๋ถ€ DB

NAS์˜ ๊ด€๋ฆฌ port, Linux SSH, API์™€ DB port๋ฅผ ์ธํ„ฐ๋„ท์— ์ง์ ‘ ์—ด ํ•„์š”๊ฐ€ ์—†๋‹ค. NAS๋Š” hostname๊ณผ ์ธ์ฆ์„œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ingress์ด์ž storageยทbackup ์ง€์ ์œผ๋กœ ๋‚จ๊ณ , Linux๋Š” application Runtime์„ ๋งก๋Š”๋‹ค. NAS๋กœ ์—ฐ์ฐจ ์ž๋™ํ™”๋ฅผ ์˜ฎ๊ธฐ๋ฉฐ ๋งŒ๋“ค์—ˆ๋˜ ์™ธ๋ถ€ HTTPS ๊ฒฝ๋กœ๋ฅผ ๋ฒ„๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ตœ์ข… backend๋งŒ ์ „์šฉ ์„œ๋ฒ„๋กœ ์˜ฎ๊ธฐ๋Š” ๋ฐฉํ–ฅ์ด๋‹ค.

์ฝ”๋“œ ๋ฐฐํฌ์™€ NAS์˜ ์ธ์‚ฌ์ •๋ณด ๋ฐ˜์ž…๋„ ๊ฐ™์€ ์ž‘์—…์œผ๋กœ ๋ฌถ์ง€ ์•Š์•˜๋‹ค.

์ฝ”๋“œ
โ†’ releaseยทartifact hash ํ™•์ธ
โ†’ ์ œํ•œ๋œ deploy helper
โ†’ healthยทrollback

์ธ์‚ฌ ๋ฐ์ดํ„ฐ
โ†’ NAS์˜ ์Šน์ธ๋œ read-only ํด๋”
โ†’ stagingยทvalidationยทpreview
โ†’ ์Šน์ธ
โ†’ DB transactionยทaudit

AI Orchestration์€ ๋ณ€๊ฒฝ์„ ๋ถ„์„ํ•˜๊ณ  ์Šน์ธ์„ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ ๋ฐฐํฌ์™€ ๋ฐ์ดํ„ฐ ๋ฐ˜์ž…์€ ์ •ํ•ด์ง„ operation๋งŒ ๋ฐ›๋Š” broker์™€ importer๊ฐ€ ๋‚˜๋ˆ ์„œ ์ˆ˜ํ–‰ํ•œ๋‹ค. MacBook์€ ๊ฐœ๋ฐœ๊ณผ dry-run, preview ํ™•์ธ, ์Šน์ธ๋œ ์ž‘์—…์˜ ์‹œ์ž‘์ ์œผ๋กœ ์“ธ ์ˆ˜ ์žˆ์ง€๋งŒ ์šด์˜ DB์˜ ์›๋ณธ ๋ณ€๊ฒฝ ์ง€์ ์œผ๋กœ ๋‘์ง€ ์•Š๋Š”๋‹ค.

ํ˜„์žฌ Linux ์„œ๋ฒ„์—๋Š” ์•„์ง Docker์™€ application DB๊ฐ€ ์—†๋‹ค. ๋”ฐ๋ผ์„œ DHCP ์˜ˆ์•ฝ๊ณผ SSH๊ฐ€ ์„ฑ๊ณตํ–ˆ๋‹ค๋Š” ์ด์œ ๋งŒ์œผ๋กœ production backend๋ผ๊ณ  ๋ถ€๋ฅด์ง€๋„ ์•Š์•˜๋‹ค. ์ •ํ™•ํ•œ frontend port, health check, backupยทrestore์™€ rollback์„ ๋งŒ๋“  ๋’ค์—๋งŒ NAS reverse proxy์˜ target์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.

Codex Skill์ด ๊ธฐ์–ตํ•˜๋Š” ์ „์ฒด ๋„คํŠธ์›Œํฌ topology

์„œ๋ฒ„ ์„ค์ •๋งŒํผ ์ค‘์š”ํ•˜๊ฒŒ ๋ณธ ๊ฒƒ์ด ๋‹ค์Œ ๋Œ€ํ™”์™€์˜ ์—ฐ๊ฒฐ์„ฑ์ด์—ˆ๋‹ค.

๊ณต์œ ๊ธฐ, ๋‘ NAS, ๊ธฐ์กด Mac Runtime, ์ƒˆ Linux ์„œ๋ฒ„, ์™ธ๋ถ€ HTTPS์™€ ๋‚ด๋ถ€ SSH๊ฐ€ ์–ด๋–ป๊ฒŒ ์ด์–ด์ง€๋Š”์ง€๋ฅผ ํšŒ์‚ฌ ๋„คํŠธ์›Œํฌ ์ „์šฉ Codex Skill๊ณผ ์ƒ์„ธ ์ธ๋ฒคํ† ๋ฆฌ์— ๋ฐ˜์˜ํ–ˆ๋‹ค. ๋‹จ์ˆœํžˆ IP ๋ชฉ๋ก์„ ์ ์€ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ฐ ์žฅ๋น„๊ฐ€ ๋งก๋Š” ์—ญํ• ๊ณผ ํŠธ๋ž˜ํ”ฝ์˜ ์‹œ์ž‘์ ยท์ค‘๊ฐ„ hopยท์ตœ์ข… Runtime์„ ๊ตฌ๋ถ„ํ–ˆ๋‹ค.

Skill์—๋Š” ํ˜„์žฌ ์™„๋ฃŒ๋œ ์‚ฌ์‹ค๊ณผ ์•ž์œผ๋กœ ๋งŒ๋“ค ๊ตฌ์กฐ๋„ ์„ž์ง€ ์•Š์•˜๋‹ค.

  • Ubuntu ์„ค์น˜ยท์žฌ๋ถ€ํŒ…ยท๋‚ด๋ถ€ SSH๋Š” ์™„๋ฃŒ๋๋‹ค.
  • ๋‹ค์ค‘ ์‚ฌ์šฉ์ž identity์™€ ๊ถŒํ•œ ๊ฒฝ๊ณ„๋Š” ๊ฒฐ์ •ํ–ˆ์ง€๋งŒ ๊ณ„์ •์€ ์•„์ง ๋งŒ๋“ค์ง€ ์•Š์•˜๋‹ค.
  • Linux์˜ DockerยทAI CellยทOperations Automation์€ ์•„์ง ๋ฐฐํฌํ•˜์ง€ ์•Š์•˜๋‹ค.
  • NAS reverse proxy์˜ Linux ์ „ํ™˜์€ health์™€ rollback์„ ๊ฐ–์ถ˜ ๋’ค์—๋งŒ ์ง„ํ–‰ํ•œ๋‹ค.

์ด์ œ ์ƒˆ Codex ์„ธ์…˜์„ ์—ด์–ด๋„ ์„œ๋ฒ„ IP๊ฐ€ ๋ฌด์—‡์ด์—ˆ์ง€?, NAS๊ฐ€ application์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€?, SSH service๊ฐ€ ์™œ disabled์˜€์ง€?๋ถ€ํ„ฐ ๋‹ค์‹œ ์„ค๋ช…ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. Skill์ด ์‹ค์ œ topology์™€ ๋ณด์•ˆ ๊ฒฝ๊ณ„, ํ™•์ธํ•œ ์ƒํƒœ์™€ ๋ฏธ์™„๋ฃŒ ์ƒํƒœ๋ฅผ ํ•จ๊ป˜ ์ „๋‹ฌํ•œ๋‹ค.

๊ทธ๋ž˜์„œ ์ง€๊ธˆ์˜ ์„œ๋ฒ„๋Š” ์™„์„ฑ๋œ production server๋Š” ์•„๋‹ˆ์ง€๋งŒ, ๊ทธ๋ ‡๋‹ค๊ณ  Ubuntu๋งŒ ๊น”๋ฆฐ ๋นˆ SSD๋„ ์•„๋‹ˆ๋‹ค. ๋‹ค์Œ ์ž‘์—…์€ ์ด๋ฏธ ์ •ํ•ด์ง„ ๊ฒฝ๊ณ„ ์•ˆ์—์„œ ์‚ฌ๋žŒ ๊ณ„์ •๊ณผ AI Cell, Operations Automation Runtime์„ ์‹ค์ œ๋กœ ์˜ฌ๋ฆฌ๋Š” ์ผ์ด๋‹ค.

์ด์ œ๋ถ€ํ„ฐ๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ์„ค์น˜ํ•  ๋•Œ๋งˆ๋‹ค โ€œ์–ด๋А ๊ณ„์ •์œผ๋กœ ์‹คํ–‰ํ•  ๊ฒƒ์ธ๊ฐ€โ€, โ€œ์–ด๋–ค HOME๊ณผ credential์„ ์†Œ์œ ํ•˜๋Š”๊ฐ€โ€, โ€œ์–ด๋А port์™€ data flow๋งŒ ํ—ˆ์šฉํ•  ๊ฒƒ์ธ๊ฐ€โ€๋ฅผ ๋จผ์ € ๋ฌป๊ฒŒ ๋  ๊ฒƒ ๊ฐ™๋‹ค. ์„œ๋ฒ„๋ฅผ ํ•œ ๋Œ€ ๋งŒ๋“  ๊ฒƒ๋ณด๋‹ค, ์„œ๋ฒ„๋ฅผ ๊ณ„์† ๋ง๊ฐ€์ง€์ง€ ์•Š๊ฒŒ ํ™•์žฅํ•  ๊ธฐ์ค€์„ ๋จผ์ € ๋งŒ๋“  ๋А๋‚Œ์ด ๋” ํฌ๋‹ค.

์ฐธ๊ณ  ์ž๋ฃŒ

  1. systemd์˜ socket unit์€ socket์„ ๊ฐ์‹œํ•˜๋‹ค incoming traffic์— ๋งž์ถฐ ๋Œ€์‘ service๋ฅผ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. systemd.socket ๊ณต์‹ ๋งค๋‰ด์–ผย โ†ฉ

  2. Docker daemon์˜ Unix socket์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” docker group์€ root ์ˆ˜์ค€์˜ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ๋‹ค. Docker Engine Linux ์„ค์น˜ ํ›„ ๋‹จ๊ณ„ย โ†ฉ

๋Œ“๊ธ€ ๋‚จ๊ธฐ๊ธฐ