์๋ํ ์คํฌ๋ฆฝํธ๋ก 46GB ๋ฐ์ดํฐ ๋ฐฑ์ ๋ฐ AWS ๋น์ฉ $0 ๋ฌ์ฑ
How I Slashed My AWS Bill to $0 While Securing a 46GB Backup (In 1 Command) ๐
AI ์์ฝ
Context
AWS ๊ณ์ ์ ์์ ํ ์ ง๋ค์ด ๊ณผ์ ์์ ๋ฆฌ์์ค ๋๋ฝ์ผ๋ก ์ธํ ์ง์์ ์ธ ๊ณผ๊ธ ์ํ ๋ฐ์. ์๋ ์ฝ์ ์กฐ์์ ํ๊ณ๋ก ์ธํด ๋ชจ๋ ์์กด์ฑ ๋ฆฌ์์ค๋ฅผ ์ ํํ ์๋ณํ๊ณ ์ ๊ฑฐํด์ผ ํ๋ ๊ธฐ์ ์ ๊ณผ์ ์ง๋ฉด.
Technical Solution
- Lambda Environment Variables ๋ถ์์ ํตํ RDS, MongoDB ๋ฑ ์จ๊ฒจ์ง ๋ฐ์ดํฐ ์์ค ๋ฐ ์์กด์ฑ ๋งคํ
aws s3 sync๋ฅผ ํ์ฉํ ์ฆ๋ถ ๋ฐ์ดํฐ ๋ณต์ ๊ธฐ๋ฐ์ ๊ณ ํจ์จ ํ์ผ ์ถ์ถ ๊ตฌ์กฐ ์ค๊ณ- RDS Snapshot ๋์
pg_dump๋ฐmysqldump๋ฅผ ํตํ Raw SQL ์ถ์ถ๋ก ๋ก์ปฌ ์ด์์ฑ ๋ฐ ๋ณต๊ตฌ ์ ์ฐ์ฑ ํ๋ณด - DynamoDB Full Table Scan ๊ธฐ๋ฐ์ JSON Export๋ฅผ ํตํ NoSQL ๋ฐ์ดํฐ์ ํฌํฐ๋ธํ ์ ์ฅ ๊ตฌ์กฐ ๊ตฌํ
- Elastic IP ๋ฐ Load Balancer ๋ฑ 'Silent Cost Killer' ๋ฆฌ์์ค๋ฅผ ํ๊ฒํ ํ ์๋ํ๋ Cleanup ํ์ดํ๋ผ์ธ ๊ตฌ์ถ
rclone์ ์ด์ฉํ Google Drive ๋๊ธฐํ๋ก AWS ์ํ๊ณ ์ธ๋ถ์ Geo-redundancy ํ๋ณด
์ค์ฒ ํฌ์ธํธ
- ์ ง๋ค์ด ์ Lambda ํ๊ฒฝ ๋ณ์ ๋ฐ Config ํ์ผ์ ์ ์ ์กฐ์ฌํ์ฌ ์จ๊ฒจ์ง ์๋ํฌ์ธํธ ์๋ณ - ์คํ ๋ฆฌ์ง ๋น์ฉ ์ ๊ฑฐ๋ฅผ ์ํด RDS ์ญ์ ์ `--skip-final-snapshot` ์ต์ ๊ฒํ - ๋ฏธ์ฌ์ฉ Elastic IP ๋ฐ Load Balancer ๋ฑ ์๊ฐ๋น ๊ณผ๊ธ ๋ฆฌ์์ค์ ์๋ ์ญ์ ์คํฌ๋ฆฝํธ ํ๋ณด - ํด๋ผ์ฐ๋ ๋ฒค๋ ์ข ์์ฑ ํํผ๋ฅผ ์ํ ์ธ๋ถ ์คํ ๋ฆฌ์ง๋ก์ 2์ฐจ ๋ฐฑ์ ์ ๋ต ์๋ฆฝ