SSM - 100-hours-a-week/9-team-Devths-WIKI GitHub Wiki
๋ชฉ์ฐจ (ํผ์น๊ธฐ/์ ๊ธฐ)
๐ก ์๊ฒฉ ์ ์ ๋ณด์์ด๋? ๊ฐ๋ฐ์๋ ์ด์์๊ฐ ์ฌ์ค ๋คํธ์ํฌ(VPC) ๋ด๋ถ์ ์๋ ์๋ฒ์ ์์ ํ๊ฒ ์ ๊ทผํ๊ธฐ ์ํ ๊ธฐ์ ์ ์๋จ์ ๋๋ค.
์ฐ๋ฆฌ ์๋น์ค๋ ์ฌ์ฉ์์ ์ด๋ ฅ์ ๋ฐ ํฌํธํด๋ฆฌ์ค๋ฅผ ๊ด๋ฆฌํ๋ ํ๋ซํผ์ ๋๋ค. ์ด๋ ๋จ์ํ ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ๋์ด ๋ค์๊ณผ ๊ฐ์ ๋ฏผ๊ฐ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์์ด ์ต์์ ์์ค์ ๋ณด์์ด ์๊ตฌ๋ฉ๋๋ค.
- ๋ฏผ๊ฐ ๊ฐ์ธ์ ๋ณด ์ทจ๊ธ: ์ฑํจ, ์ฐ๋ฝ์ฒ, ํ๋ ฅ, ๊ฒฝ๋ ฅ ์ฌํญ ๋ฑ ๊ฐ์ธ์ ์๋ณํ ์ ์๋ ์ ๋ณด๊ฐ ์ง์ค๋์ด ์์.
- ์์ฐ ๊ฐ์น ๋ณดํธ: ์ฌ์ฉ์๊ฐ ์ ์ฑ ๋ค์ฌ ์์ฑํ ํฌํธํด๋ฆฌ์ค๋ ๊ฐ์ธ์ ์ง์ ์์ฐ์ด๋ฉฐ, ์ ์ถ ์ ์๋น์ค ์ ๋ขฐ๋์ ์น๋ช ์ ์ธ ํ๊ฒฉ์ ์ ์.
- ์ปดํ๋ผ์ด์ธ์ค ์ค์: ๊ฐ์ธ์ ๋ณด ๋ณดํธ๋ฒ์ ์๊ฑฐํ์ฌ ๊ฐ์ธ์ ๋ณด ์ฒ๋ฆฌ ์์คํ ์ ๋ํ ์ ๊ทผ ๊ธฐ๋ก(Audit Log) ๋ณด๊ด ๋ฐ ๋น์ธ๊ฐ ์ ๊ทผ ์ฐจ๋จ์ด ํ์์ ์.
๋ฐ๋ผ์, ์ ์ํด์ ์ ํํ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์กฐํ/์์ ํ๋๊ฐ๋ฅผ ์๋ฒฝํ ๊ธฐ๋กํด์ผ ํฉ๋๋ค.
- VPN ๋ฐฉ์: VPC๋ก ๋ค์ด์ค๋ ํต๋ก(Inbound)๋ฅผ ์ด์ด๋๋ ๋ฐฉ์. ์ธ์ฆ์๋ ๊ณ์ ์ด ํ์ทจ๋ ๊ฒฝ์ฐ ๋ด๋ถ ๋คํธ์ํฌ ์ ์ฒด๊ฐ ์ํ์ ๋ ธ์ถ๋จ.
- SSM ๋ฐฉ์: ๋ชจ๋ ์ ๊ตฌ๋ฅผ ๋ซ๊ณ ๋ด๋ถ์์ ๋ฐ์ผ๋ก(Outbound) ์์ฒญํ๋ ๋ฐฉ์. "ํฌํธ๋ฆฌ์ค(Port-less)" ํ๊ฒฝ์ ๊ตฌํํ์ฌ ๊ณต๊ฒฉ ํ๋ฉด์ ์ ๊ฑฐํจ.
- ๋น๊ต ๋์: OpenVPN(Self-hosted) vs AWS Client VPN vs AWS SSM Session Manager
- ์ ํ ๊ธฐ์ค: ๋ณด์(๊ฐ์ธ์ ๋ณด ๋ณดํธ), ๊ฐ์ฌ(๋ช ๋ น์ด ๊ธฐ๋ก), ๋น์ฉ
| ํญ๋ชฉ | OpenVPN (EC2) | AWS Client VPN | AWS SSM (์ ํ) |
|---|---|---|---|
| ์ธ๋ฐ์ด๋ ํฌํธ | UDP/TCP ๊ฐ๋ฐฉ ํ์ | UDP 1194 ๊ฐ๋ฐฉ ํ์ | ์์ ํ์ (HTTPS 443๋ง ์ฌ์ฉ) |
| ์ธ์ฆ ์ฒด๊ณ | ๋ณ๋ ID/PW ๋๋ ํค | IAM, SAML ์ฐ๋ | IAM Policy & MFA ๊ฐ์ |
| ๊ฐ์ธ์ ๋ณด ๋ณดํธ | ๊ด๋ฆฌ์ ๊ถํ ๋จ์ฉ ์ถ์ ์ด๋ ค์ | ์ ์ ๊ธฐ๋ก ์์ฃผ ๊ด๋ฆฌ | ์ค์๊ฐ ๋ช ๋ น์ด ๋ก๊น ๋ฐ ์ ํ |
| ๊ด๋ฆฌ ์ค๋ฒํค๋ | ์๋ฒ ํจ์น ๋ฑ ์ง์ ๊ด๋ฆฌ | AWS ๊ด๋ฆฌํ | ์์ด์ ํธ ๊ธฐ๋ฐ ์๋ ๊ด๋ฆฌ |
"์ด๋ ฅ์ ๋ฐ์ดํฐ ์ ๊ทผ์ ๋ํ ์๋ฒฝํ ์ฌํ ์ถ์ "
- VPN (OpenVPN/Client VPN): "๊ด๋ฆฌ์ A๊ฐ ์คํ 2์์ ์ ์ํ๋ค"๋ ์ ์ ์์ง๋ง, ์๋ฒ ์์์ ์ด๋ค ๋ช ๋ น์ด๋ฅผ ์ณค๋์ง๋ ๊ธฐ๋ก๋์ง ์์.**
- SSM (์ ํ):
- ๋ช ๋ น์ด ๋จ์ ๊ธฐ๋ก: ์ธ์ ๋งค๋์ ๋ฅผ ํตํด ์ ๋ ฅํ ๋ชจ๋ ๋ฆฌ๋ ์ค ์ปค๋งจ๋๊ฐ CloudWatch Logs์ ๋ฐ์ ๋จ.
- ์ ๊ทผ ์ ์ด: ํน์ ๊ด๋ฆฌ์๋ AI ์๋ฒ๋ง, ํน์ ๊ด๋ฆฌ์๋ DB ์๋ฒ๋ง ์ ์ํ๋๋ก IAM์ผ๋ก ์ธ๋ฐํ๊ฒ ๋ถ๋ฆฌ ๊ฐ๋ฅ.
| ๊ตฌ๋ถ | OpenVPN (on EC2) | AWS Client VPN | AWS SSM |
|---|---|---|---|
| ์๋ํฌ์ธํธ ๋น์ฉ | $0 | ์ฝ $72/์ | $0 |
| ์ฐ๊ฒฐ ์๊ฐ ๋น์ฉ | $0 | ์๊ฐ๋น $0.05 (์ธ์๋ณ) | $0 |
| ์ธํ๋ผ ๋น์ฉ | t3.small ๋ฑ ์๋ฒ๋น ๋ฐ์ | Bastion ๋น์ฉ ๋ฐ์ ๊ฐ๋ฅ | 0์ (์ถ๊ฐ ๋น์ฉ ์์) |
โ ๋ถ์ ๊ฒฐ๊ณผ: OpenVPN์ ์ง์ ๊ตฌ์ถ ์ ์ ๋ ดํด ๋ณด์ด์ง๋ง, ๋ณด์ ํจ์น ๋ฐ ๊ด๋ฆฌ ๊ณต์๋ฅผ ์๊ฐํ๋ฉด ์ค์ง ๋น์ฉ์ด ๋์ต๋๋ค. SSM์ ๋ณด์์ฑ์ด ๊ฐ์ฅ ๋์ผ๋ฉด์๋ ๊ณ ์ ๋น์ฉ์ด 0์์ ์๋ ดํ์ฌ ์ฐ๋ฆฌ ์๋น์ค์ ๊ฐ์ฅ ์ ํฉํฉ๋๋ค.
- ์์ด์ ํธ ํ์ฑํ: ๋ชจ๋ EC2 ์ธ์คํด์ค์ SSM Agent ์์ ๊ฐ๋.
-
IAM Role: ๊ฐ์ธ์ ๋ณด ์ ๊ทผ ๊ถํ์ด ์๋ ์ธ์์๊ฒ๋ง ์ธ์
์์ ๊ถํ(
ssm:StartSession) ๋ถ์ฌ. - ๋คํธ์ํฌ: ๋ณด์ ๊ทธ๋ฃน ์ธ๋ฐ์ด๋์์ 22๋ฒ(SSH) ํฌํธ๋ฅผ ์ ๊ฑฐํ์ฌ ์ธ๋ถ๋ก๋ถํฐ์ ๋ชจ๋ ์ ์ ์๋๋ฅผ ์ฐจ๋จ.
- CloudWatch Logs: ๋ชจ๋ ๊ด๋ฆฌ ์์ ๋ก๊ทธ๋ฅผ ์ค์๊ฐ ์ ์ก.
- S3: ๊ฐ์ธ์ ๋ณด ๋ณดํธ ์ ์ฑ ์ ์๊ฑฐ, ์ ์ ๋ก๊ทธ๋ฅผ 2๋ ๊ฐ ์๋ฌด ๋ณด๊ด ์ค์ .
๋ก๊ทธ ๊ธฐ๋ก ๋ฐ ์๋ฆผ ์ด๋ฏธ์ง (ํผ์น๊ธฐ/์ ๊ธฐ)
์ต์ข ์ ํ: AWS Systems Manager (SSM) Session Manager
- ๋ณด์: ์ด๋ ฅ์ ๋ฑ ๋ฏผ๊ฐ ๊ฐ์ธ์ ๋ณด ๋ณดํธ๋ฅผ ์ํด ๊ณต๊ฒฉ ํ๋ฉด์ 0์ผ๋ก ๋ง๋ฆ.
- ๊ฐ์ฌ: ๊ด๋ฆฌ์์ ๋ชจ๋ ํ์๋ฅผ ๋ช ๋ น์ด ๋จ์๋ก ๊ธฐ๋กํ์ฌ ๋ฒ์ ์ค๊ฑฐ์ฑ ํ๋ณด.
- ๋น์ฉ: VPN ์๋ฃจ์ ๋๋น ์ ์ต์ $72 ์ด์์ ์ธํ๋ผ ๋น์ฉ ์ ๊ฐ.