SSM - 100-hours-a-week/9-team-Devths-WIKI GitHub Wiki

๋ชฉ์ฐจ (ํŽผ์น˜๊ธฐ/์ ‘๊ธฐ)

์ธํ”„๋ผ ์ ‘๊ทผ ์ œ์–ด ๋ฐฉ์‹ ๋ถ„์„ (VPN vs SSM)

๐Ÿ’ก ์›๊ฒฉ ์ ‘์† ๋ณด์•ˆ์ด๋ž€? ๊ฐœ๋ฐœ์ž๋‚˜ ์šด์˜์ž๊ฐ€ ์‚ฌ์„ค ๋„คํŠธ์›Œํฌ(VPC) ๋‚ด๋ถ€์— ์žˆ๋Š” ์„œ๋ฒ„์— ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ ์  ์ˆ˜๋‹จ์ž…๋‹ˆ๋‹ค.


โœจ 1. ๋„์ž… ๋ฐฐ๊ฒฝ

1-1. ์„œ๋น„์Šค ํŠน์„ฑ์— ๋”ฐ๋ฅธ ๋ณด์•ˆ์˜ ์—„๊ฒฉ์„ฑ

์šฐ๋ฆฌ ์„œ๋น„์Šค๋Š” ์‚ฌ์šฉ์ž์˜ ์ด๋ ฅ์„œ ๋ฐ ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋‹จ์ˆœํ•œ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ๋„˜์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฏผ๊ฐ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด ์ตœ์ƒ์œ„ ์ˆ˜์ค€์˜ ๋ณด์•ˆ์ด ์š”๊ตฌ๋ฉ๋‹ˆ๋‹ค.

  • ๋ฏผ๊ฐ ๊ฐœ์ธ์ •๋ณด ์ทจ๊ธ‰: ์„ฑํ•จ, ์—ฐ๋ฝ์ฒ˜, ํ•™๋ ฅ, ๊ฒฝ๋ ฅ ์‚ฌํ•ญ ๋“ฑ ๊ฐœ์ธ์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๊ฐ€ ์ง‘์ค‘๋˜์–ด ์žˆ์Œ.
  • ์ž์‚ฐ ๊ฐ€์น˜ ๋ณดํ˜ธ: ์‚ฌ์šฉ์ž๊ฐ€ ์ •์„ฑ ๋“ค์—ฌ ์ž‘์„ฑํ•œ ํฌํŠธํด๋ฆฌ์˜ค๋Š” ๊ฐœ์ธ์˜ ์ง€์  ์ž์‚ฐ์ด๋ฉฐ, ์œ ์ถœ ์‹œ ์„œ๋น„์Šค ์‹ ๋ขฐ๋„์— ์น˜๋ช…์ ์ธ ํƒ€๊ฒฉ์„ ์ž…์Œ.
  • ์ปดํ”Œ๋ผ์ด์–ธ์Šค ์ค€์ˆ˜: ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฒ•์— ์˜๊ฑฐํ•˜์—ฌ ๊ฐœ์ธ์ •๋ณด ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ธฐ๋ก(Audit Log) ๋ณด๊ด€ ๋ฐ ๋น„์ธ๊ฐ€ ์ ‘๊ทผ ์ฐจ๋‹จ์ด ํ•„์ˆ˜์ ์ž„.

๋”ฐ๋ผ์„œ, ์ ‘์†ํ•ด์„œ ์ •ํ™•ํžˆ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒ/์ˆ˜์ •ํ–ˆ๋Š”๊ฐ€๋ฅผ ์™„๋ฒฝํžˆ ๊ธฐ๋กํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


2. ์ธํ”„๋ผ ์ ‘์† ๊ตฌ์กฐ ๋‹ค์ด์–ด๊ทธ๋žจ

2-1. VPN vs SSM ์ ‘์† ์•„ํ‚คํ…์ฒ˜ ๋น„๊ต

  • VPN ๋ฐฉ์‹: VPC๋กœ ๋“ค์–ด์˜ค๋Š” ํ†ต๋กœ(Inbound)๋ฅผ ์—ด์–ด๋‘๋Š” ๋ฐฉ์‹. ์ธ์ฆ์„œ๋‚˜ ๊ณ„์ •์ด ํƒˆ์ทจ๋  ๊ฒฝ์šฐ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ ์ „์ฒด๊ฐ€ ์œ„ํ—˜์— ๋…ธ์ถœ๋จ.
  • SSM ๋ฐฉ์‹: ๋ชจ๋“  ์ž…๊ตฌ๋ฅผ ๋‹ซ๊ณ  ๋‚ด๋ถ€์—์„œ ๋ฐ–์œผ๋กœ(Outbound) ์š”์ฒญํ•˜๋Š” ๋ฐฉ์‹. "ํฌํŠธ๋ฆฌ์Šค(Port-less)" ํ™˜๊ฒฝ์„ ๊ตฌํ˜„ํ•˜์—ฌ ๊ณต๊ฒฉ ํ‘œ๋ฉด์„ ์ œ๊ฑฐํ•จ.

3. ์ ‘์† ๋ฐฉ์‹ ์„ค๊ณ„ ๋ฐ ๋น„๊ต ์ „๋žต

3-1. ์ ‘๊ทผ ์ œ์–ด ๊ฐœ์š”

  • ๋น„๊ต ๋Œ€์ƒ: OpenVPN(Self-hosted) vs AWS Client VPN vs AWS SSM Session Manager
  • ์„ ํƒ ๊ธฐ์ค€: ๋ณด์•ˆ(๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ), ๊ฐ์‚ฌ(๋ช…๋ น์–ด ๊ธฐ๋ก), ๋น„์šฉ

3-2. ํ•ต์‹ฌ ๊ธฐ์ˆ  ๋น„๊ต

ํ•ญ๋ชฉ OpenVPN (EC2) AWS Client VPN AWS SSM (์„ ํƒ)
์ธ๋ฐ”์šด๋“œ ํฌํŠธ UDP/TCP ๊ฐœ๋ฐฉ ํ•„์š” UDP 1194 ๊ฐœ๋ฐฉ ํ•„์š” ์™„์ „ ํ์‡„ (HTTPS 443๋งŒ ์‚ฌ์šฉ)
์ธ์ฆ ์ฒด๊ณ„ ๋ณ„๋„ ID/PW ๋˜๋Š” ํ‚ค IAM, SAML ์—ฐ๋™ IAM Policy & MFA ๊ฐ•์ œ
๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ ๋‚จ์šฉ ์ถ”์  ์–ด๋ ค์›€ ์ ‘์† ๊ธฐ๋ก ์œ„์ฃผ ๊ด€๋ฆฌ ์‹ค์‹œ๊ฐ„ ๋ช…๋ น์–ด ๋กœ๊น… ๋ฐ ์ œํ•œ
๊ด€๋ฆฌ ์˜ค๋ฒ„ํ—ค๋“œ ์„œ๋ฒ„ ํŒจ์น˜ ๋“ฑ ์ง์ ‘ ๊ด€๋ฆฌ AWS ๊ด€๋ฆฌํ˜• ์—์ด์ „ํŠธ ๊ธฐ๋ฐ˜ ์ž๋™ ๊ด€๋ฆฌ

3-3. ๋ณด์•ˆ ๋ฐ ๊ฐ์‚ฌ ์ „๋žต (Audit)

"์ด๋ ฅ์„œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์— ๋Œ€ํ•œ ์™„๋ฒฝํ•œ ์‚ฌํ›„ ์ถ”์ "

  • VPN (OpenVPN/Client VPN): "๊ด€๋ฆฌ์ž A๊ฐ€ ์˜คํ›„ 2์‹œ์— ์ ‘์†ํ–ˆ๋‹ค"๋Š” ์•Œ ์ˆ˜ ์žˆ์ง€๋งŒ, ์„œ๋ฒ„ ์•ˆ์—์„œ ์–ด๋–ค ๋ช…๋ น์–ด๋ฅผ ์ณค๋Š”์ง€๋Š” ๊ธฐ๋ก๋˜์ง€ ์•Š์Œ.**
  • SSM (์„ ํƒ):
  • ๋ช…๋ น์–ด ๋‹จ์œ„ ๊ธฐ๋ก: ์„ธ์…˜ ๋งค๋‹ˆ์ €๋ฅผ ํ†ตํ•ด ์ž…๋ ฅํ•œ ๋ชจ๋“  ๋ฆฌ๋ˆ…์Šค ์ปค๋งจ๋“œ๊ฐ€ CloudWatch Logs์— ๋ฐ•์ œ๋จ.
  • ์ ‘๊ทผ ์ œ์–ด: ํŠน์ • ๊ด€๋ฆฌ์ž๋Š” AI ์„œ๋ฒ„๋งŒ, ํŠน์ • ๊ด€๋ฆฌ์ž๋Š” DB ์„œ๋ฒ„๋งŒ ์ ‘์†ํ•˜๋„๋ก IAM์œผ๋กœ ์„ธ๋ฐ€ํ•˜๊ฒŒ ๋ถ„๋ฆฌ ๊ฐ€๋Šฅ.

3-4. ๋น„์šฉ ์ตœ์ ํ™” ๋ถ„์„

๊ตฌ๋ถ„ OpenVPN (on EC2) AWS Client VPN AWS SSM
์—”๋“œํฌ์ธํŠธ ๋น„์šฉ $0 ์•ฝ $72/์›” $0
์—ฐ๊ฒฐ ์‹œ๊ฐ„ ๋น„์šฉ $0 ์‹œ๊ฐ„๋‹น $0.05 (์ธ์›๋ณ„) $0
์ธํ”„๋ผ ๋น„์šฉ t3.small ๋“ฑ ์„œ๋ฒ„๋น„ ๋ฐœ์ƒ Bastion ๋น„์šฉ ๋ฐœ์ƒ ๊ฐ€๋Šฅ 0์› (์ถ”๊ฐ€ ๋น„์šฉ ์—†์Œ)

โ‡’ ๋ถ„์„ ๊ฒฐ๊ณผ: OpenVPN์€ ์ง์ ‘ ๊ตฌ์ถ• ์‹œ ์ €๋ ดํ•ด ๋ณด์ด์ง€๋งŒ, ๋ณด์•ˆ ํŒจ์น˜ ๋ฐ ๊ด€๋ฆฌ ๊ณต์ˆ˜๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ์‹ค์งˆ ๋น„์šฉ์ด ๋†’์Šต๋‹ˆ๋‹ค. SSM์€ ๋ณด์•ˆ์„ฑ์ด ๊ฐ€์žฅ ๋†’์œผ๋ฉด์„œ๋„ ๊ณ ์ • ๋น„์šฉ์ด 0์›์— ์ˆ˜๋ ดํ•˜์—ฌ ์šฐ๋ฆฌ ์„œ๋น„์Šค์— ๊ฐ€์žฅ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.


4. ๊ตฌ์„ฑ ๋ฐ ์„ค์ • ๋ช…์„ธ

4-1. SSM ์„ธ์…˜ ๋งค๋‹ˆ์ € ๋„์ž… ์„ค๊ณ„

  1. ์—์ด์ „ํŠธ ํ™œ์„ฑํ™”: ๋ชจ๋“  EC2 ์ธ์Šคํ„ด์Šค์— SSM Agent ์ƒ์‹œ ๊ฐ€๋™.
  2. IAM Role: ๊ฐœ์ธ์ •๋ณด ์ ‘๊ทผ ๊ถŒํ•œ์ด ์žˆ๋Š” ์ธ์›์—๊ฒŒ๋งŒ ์„ธ์…˜ ์‹œ์ž‘ ๊ถŒํ•œ(ssm:StartSession) ๋ถ€์—ฌ.
  3. ๋„คํŠธ์›Œํฌ: ๋ณด์•ˆ ๊ทธ๋ฃน ์ธ๋ฐ”์šด๋“œ์—์„œ 22๋ฒˆ(SSH) ํฌํŠธ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ์˜ ๋ชจ๋“  ์ ‘์† ์‹œ๋„๋ฅผ ์ฐจ๋‹จ.

4-2. ๊ฐ์‚ฌ ๋กœ๊ทธ ํ†ตํ•ฉ ๊ตฌ์„ฑ

  • CloudWatch Logs: ๋ชจ๋“  ๊ด€๋ฆฌ ์ž‘์—… ๋กœ๊ทธ๋ฅผ ์‹ค์‹œ๊ฐ„ ์ „์†ก.
  • S3: ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ์ •์ฑ…์— ์˜๊ฑฐ, ์ ‘์† ๋กœ๊ทธ๋ฅผ 2๋…„๊ฐ„ ์˜๋ฌด ๋ณด๊ด€ ์„ค์ •.
๋กœ๊ทธ ๊ธฐ๋ก ๋ฐ ์•Œ๋ฆผ ์ด๋ฏธ์ง€ (ํŽผ์น˜๊ธฐ/์ ‘๊ธฐ) image image

5. ๊ฒฐ๋ก  ๋ฐ ์„ ํƒ์•ˆ

5-1. ์ตœ์ข… ์„ ํƒ ๊ฒฐ๊ณผ

์ตœ์ข… ์„ ํƒ: AWS Systems Manager (SSM) Session Manager

  • ๋ณด์•ˆ: ์ด๋ ฅ์„œ ๋“ฑ ๋ฏผ๊ฐ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด ๊ณต๊ฒฉ ํ‘œ๋ฉด์„ 0์œผ๋กœ ๋งŒ๋“ฆ.
  • ๊ฐ์‚ฌ: ๊ด€๋ฆฌ์ž์˜ ๋ชจ๋“  ํ–‰์œ„๋ฅผ ๋ช…๋ น์–ด ๋‹จ์œ„๋กœ ๊ธฐ๋กํ•˜์—ฌ ๋ฒ•์  ์ค€๊ฑฐ์„ฑ ํ™•๋ณด.
  • ๋น„์šฉ: VPN ์†”๋ฃจ์…˜ ๋Œ€๋น„ ์›” ์ตœ์†Œ $72 ์ด์ƒ์˜ ์ธํ”„๋ผ ๋น„์šฉ ์ ˆ๊ฐ.
โš ๏ธ **GitHub.com Fallback** โš ๏ธ