๋‚ด๊ฐ€ ๊ฐœ๋ฐœํ•œ ํ”„๋กœ์ ํŠธ๋Š” ๊ฐœ์ธ์ •๋ณด๊ฐ€ ๋งŽ์ด ํฌํ•จ๋œ ์„œ๋น„์Šค์˜€๋‹ค.
ํŠนํžˆ, ์‚ฌ์šฉ์ž ์ •๋ณด์™€ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ DB์— ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์•ˆ์ด ์ค‘์š”ํ•œ ์š”์†Œ์˜€๊ณ ,
๊ฒฐ๊ตญ ISMS(์ •๋ณด๋ณดํ˜ธ ๊ด€๋ฆฌ์ฒด๊ณ„) ์‹ฌ์‚ฌ ๋Œ€์ƒ์ด ๋˜๋ฉด์„œ ๋ง๋ถ„๋ฆฌ ํ™˜๊ฒฝ์—์„œ ์šด์˜ํ•  ํ•„์š”๊ฐ€ ์ƒ๊ฒผ๋‹ค.

๋ง๋ถ„๋ฆฌ ํ™˜๊ฒฝ์—์„œ๋Š” ๊ฐœ๋ฐœ๋ง๊ณผ ์šด์˜๋ง์ด ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—,
๊ธฐ์กด์ฒ˜๋Ÿผ GitHub Actions์„ ์ด์šฉํ•œ ์ž๋™ ๋ฐฐํฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ–ˆ๋‹ค.
ํ•˜์ง€๋งŒ, ๋‹จ์ˆœํžˆ ์ˆ˜๋™ ๋ฐฐํฌ๋ฅผ ํ•˜์ž๋‹ˆ ์ƒ์‚ฐ์„ฑ์ด ๋„ˆ๋ฌด ๋‚ฎ์•„์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.

๊ทธ๋ž˜์„œ AWS S3 + CodeDeploy๋ฅผ ํ™œ์šฉํ•œ ์ž๋™ ๋ฐฐํฌ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•ด์•ผ ํ–ˆ๊ณ ,
์ด ๋ชจ๋“  ๊ณผ์ •์„ ํ˜ผ์ž์„œ ์ฃผ๋„์ ์œผ๋กœ ์ง„ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ๋˜์—ˆ๋‹ค.

๐Ÿ‘€ ์ฆ‰, "๋ง๋ถ„๋ฆฌ + CI/CD ์ž๋™ํ™” + ISMS ์ค€์ˆ˜"๋ผ๋Š” ์„ธ ๊ฐ€์ง€ ๊ณผ์ œ๋ฅผ ๋™์‹œ์— ํ•ด๊ฒฐํ•ด์•ผ ํ–ˆ๋‹ค.

๐Ÿ”’ ๋ง๋ถ„๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

๋ง๋ถ„๋ฆฌ๋ฅผ ์ ์šฉํ•˜๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” ๋ณด์•ˆ ๊ฐ•ํ™”์ž…๋‹ˆ๋‹ค.
ํŠนํžˆ ๊ธˆ์œต, ์˜๋ฃŒ, ๊ณต๊ณต๊ธฐ๊ด€ ๋“ฑ ๋ฏผ๊ฐํ•œ ๊ฐœ์ธ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ์„œ๋น„์Šค์—์„œ๋Š” ISMS(์ •๋ณด๋ณดํ˜ธ ๊ด€๋ฆฌ์ฒด๊ณ„) ์‹ฌ์‚ฌ๋ฅผ ํ†ต๊ณผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ISMS ์‹ฌ์‚ฌ์—์„œ๋Š” ๋ฐ์ดํ„ฐ ์œ ์ถœ ๋ฐฉ์ง€ ๋ฐ ์™ธ๋ถ€ ๊ณต๊ฒฉ ๋Œ€์‘์„ ์œ„ํ•œ ๋ง๋ถ„๋ฆฌ ์ •์ฑ…์„ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค.
์ด ๋•Œ๋ฌธ์—, ๊ฐœ๋ฐœ/์šด์˜๋ง๊ณผ ์„œ๋น„์Šค๋ง์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์™ธ๋ถ€๋ง๊ณผ ์ง์ ‘ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š๋„๋ก ๋ณดํ˜ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
-GOOGLE-

โœ… ๋ง๋ถ„๋ฆฌ๋ฅผ ํ†ตํ•ด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ณด์•ˆ ํšจ๊ณผ

๊ฐœ๋ฐœ๋ง(์™ธ๋ถ€๋ง)๊ณผ ์šด์˜๋ง(๋‚ด๋ถ€๋ง) ๋ถ„๋ฆฌ โ†’ ๋ณด์•ˆ ๊ฐ•ํ™”

DB์— ์ €์žฅ๋œ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ โ†’ ISMS ์‹ฌ์‚ฌ ๊ธฐ์ค€ ์ค€์ˆ˜

์™ธ๋ถ€๋ง์—์„œ ์ง์ ‘ ์ ‘๊ทผ ๋ถˆ๊ฐ€๋Šฅ โ†’ ํ•ดํ‚น ๋ฐ ์ •๋ณด ์œ ์ถœ ๋ฐฉ์ง€

ํ•˜์ง€๋งŒ ๋ง๋ถ„๋ฆฌ ํ™˜๊ฒฝ์—์„œ๋Š” CI/CD ์ž๋™ํ™”๊ฐ€ ์–ด๋ ต๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด GitHub Actions + AWS S3 + CodeDeploy๋ฅผ ํ™œ์šฉํ•œ ๋ฐฐํฌ ์ž๋™ํ™”๋ฅผ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.

๐ŸŽฏ 1. ๋ฐฐํฌ ์ „๋žต

๐Ÿ“Œ ๋ฐฐํฌ ํ๋ฆ„

1.GitHub Actions์—์„œ ํ”„๋กœ์ ํŠธ ๋นŒ๋“œ

2.๋นŒ๋“œ๋œ .jar ํŒŒ์ผ์„ AWS S3์— ์—…๋กœ๋“œ

3.AWS CodeDeploy๊ฐ€ S3์—์„œ ํŒŒ์ผ์„ ๊ฐ€์ ธ์™€ ๋ง๋ถ„๋ฆฌ ์„œ๋ฒ„์— ๋ฐฐํฌ

4.๋ฐฐํฌ ์™„๋ฃŒ ํ›„ ์ž๋™ ์‹คํ–‰

๐Ÿ›  2. GitHub Actions์—์„œ ๋นŒ๋“œ & S3 ์—…๋กœ๋“œ & CodeDeploy ๋ฐฐํฌ

โœ… GitHub Actions Workflow ์„ค์ •
.github/workflows/deploy.yml ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

๐Ÿ” 3. AWS ์„ค์ • (S3, CodeDeploy, IAM ๋“ฑ)

โœ… 1) S3 ๋ฒ„ํ‚ท ์ƒ์„ฑ
AWS ์ฝ˜์†”์—์„œ S3 ๋ฒ„ํ‚ท(my-deploy-bucket)์„ ์ƒ์„ฑํ•œ๋‹ค.
์—ฌ๊ธฐ์— ๋ฐฐํฌํ•  .jar ํŒŒ์ผ์„ ์ €์žฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

โœ… 2) IAM Role ์ƒ์„ฑ (CodeDeploy ๊ถŒํ•œ)
CodeDeploy๊ฐ€ S3์—์„œ ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก IAM Role์„ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.

๐Ÿ“ 4. CodeDeploy ์„ค์ • (appspec.yml & ์‹คํ–‰ ์Šคํฌ๋ฆฝํŠธ)

โœ… 1) appspec.yml ํŒŒ์ผ ์ž‘์„ฑ
CodeDeploy๋Š” appspec.yml์„ ์ด์šฉํ•˜์—ฌ ๋ฐฐํฌ ํŒŒ์ผ์˜ ์œ„์น˜์™€ ์‹คํ–‰ ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•œ๋’ค
appspec.yml์„ ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— ์ถ”๊ฐ€ํ•œ๋‹ค.

โœ… 2) ๋ฐฐํฌ ํ›„ ์‹คํ–‰ํ•  start.sh ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ
๋ฐฐํฌ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด JAR ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.
scripts/start.sh(์šฐ๋ฆฌํŒ€์€ start.sh , shutdown.sh ์ด๋Ÿฐ์‹์œผ๋กœ ๋„ค์ด๋ฐํ•จ) ํŒŒ์ผ์„ ์ƒ์„ฑ

๐Ÿ–ฅ 5. ๋ฐฐํฌ ์‹คํ–‰ ๋ฐ ํ…Œ์ŠคํŠธ

1๏ธโƒฃ GitHub Actions๊ฐ€ ์‹คํ–‰๋˜์—ˆ๋Š”์ง€ ํ™•์ธ
GitHub โ†’ Repository โ†’ Actions์—์„œ ์‹คํ–‰ ๋กœ๊ทธ๋ฅผ ํ™•์ธ

2๏ธโƒฃ AWS CodeDeploy์—์„œ ๋ฐฐํฌ ์ง„ํ–‰ ํ™•์ธ
AWS CodeDeploy โ†’ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ โ†’ ๋ฐฐํฌ ๊ทธ๋ฃน์—์„œ ์ง„ํ–‰ ์ƒํƒœ๋ฅผ ํ™•์ธ

3๏ธโƒฃ EC2 ์„œ๋ฒ„์— ์ง์ ‘ ์ ‘์†ํ•˜์—ฌ ์‹คํ–‰ ํ™•์ธ

๐Ÿ”ฅ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๋А๋‚€ ์ 

1๏ธโƒฃ ๋ง๋ถ„๋ฆฌ ํ™˜๊ฒฝ์—์„œ ๋ฐฐํฌ ์ž๋™ํ™”, ์ƒ๊ฐ๋ณด๋‹ค ์‰ฝ์ง€ ์•Š๋‹ค
CI/CD๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ GitHub Actions โ†’ ์„œ๋ฒ„ ๋ฐฐํฌ ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š”๋ฐ, ๋ง๋ถ„๋ฆฌ ํ™˜๊ฒฝ์—์„œ๋Š” ์™ธ๋ถ€๋ง์—์„œ ์ง์ ‘ ๋ฐฐํฌํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ ์ด ํฐ ์žฅ๋ฒฝ์ด์—ˆ๋‹ค.
S3 + CodeDeploy ์กฐํ•ฉ์œผ๋กœ ํ•ด๊ฒฐํ–ˆ์ง€๋งŒ, ๊ถŒํ•œ ์„ค์ •(IAM)๊ณผ ๋ฐฐํฌ ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ์— ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ ธ๋‹ค.
โ†’ ๊ฒฐ๊ตญ ๋ฐฐํฌ ์ž๋™ํ™”๋Š” ์„ค์ •์ด 80%, ์‹คํ–‰์ด 20%๋ผ๋Š” ๊ฑธ ๋‹ค์‹œ ํ•œ๋ฒˆ ๊นจ๋‹ฌ์•˜๋‹ค.

2๏ธโƒฃ ISMS ๋ณด์•ˆ ์ •์ฑ…์„ ์ค€์ˆ˜ํ•˜๋ฉด์„œ๋„ ํšจ์œจ์„ฑ์„ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•์„ ๊ณ ๋ฏผํ•ด์•ผ ํ•œ๋‹ค
๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋Š” ๊ฒƒ์€ ์ค‘์š”ํ•˜์ง€๋งŒ, ๊ทธ๋ ‡๋‹ค๊ณ  ๊ฐœ๋ฐœ ์ƒ์‚ฐ์„ฑ์ด ๋‚ฎ์•„์ง€๋ฉด ์•ˆ ๋œ๋‹ค.
๋ง๋ถ„๋ฆฌ ํ™˜๊ฒฝ์—์„œ๋„ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์€ ์ตœ๋Œ€ํ•œ ์ž๋™ํ™”ํ•˜๊ณ ,
๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ‘œ์ค€ํ™”ํ•˜์—ฌ ํŒ€์› ๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฑธ ๋А๊ผˆ๋‹ค.

3๏ธโƒฃ AWS ์„œ๋น„์Šค๋ฅผ ์กฐํ•ฉํ•˜๋ฉด ๋ง๋ถ„๋ฆฌ ํ™˜๊ฒฝ์—์„œ๋„ ์ถฉ๋ถ„ํžˆ ์ž๋™ํ™”๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค
๋ง๋ถ„๋ฆฌ ํ™˜๊ฒฝ์—์„œ๋Š” CI/CD๊ฐ€ ์–ด๋ ต๋‹ค๊ณ ๋งŒ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ,
โœ… S3๋ฅผ ์ค‘๊ฐ„ ์ €์žฅ์†Œ๋กœ ํ™œ์šฉํ•˜๊ณ 
โœ… CodeDeploy๋กœ ๋‚ด๋ถ€๋ง์— ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ์‹์„ ์ ์šฉํ•˜๋‹ˆ
๊ธฐ์กด CI/CD ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฑฐ์˜ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ๋ณด์•ˆ ์š”๊ฑด์„ ์ถฉ์กฑํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

4๏ธโƒฃ ๋ฐฐํฌ ์ž๋™ํ™”๋ฅผ ํ•ด๋†“์œผ๋‹ˆ, ์ดํ›„ ์šด์˜์ด ํ›จ์”ฌ ํŽธํ•ด์กŒ๋‹ค
์ฒ˜์Œ์—๋Š” GitHub Actions, S3, CodeDeploy ์„ค์ •์„ ๋งž์ถ”๋А๋ผ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ์ง€๋งŒ,
์ผ๋‹จ ์ž๋™ํ™”๊ฐ€ ์™„๋ฃŒ๋˜๋‹ˆ ์ดํ›„ ๋ฐฐํฌ๊ฐ€ ํ›จ์”ฌ ๊ฐ„ํŽธํ•ด์กŒ๋‹ค.
ํ•œ ์ค„ ๋ช…๋ น์–ด๋กœ ๋๋‚˜๋Š” ๋ฐฐํฌ๋ฅผ ๋ณด๋ฉด์„œ โ€œ์ด๊ฑธ ๋งค๋ฒˆ ์ˆ˜๋™์œผ๋กœ ํ–ˆ๋‹ค๋ฉด ์—„์ฒญ ๊ท€์ฐฎ์•˜๊ฒ ๋‹คโ€ฆโ€๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ๐Ÿ˜…

๋ฒˆ์™ธ๋กœ ์˜์™ธ๋กœ ๊นƒ์ด ํ„ฐ์งˆ๋•Œ๊ฐ€ ์ข…์ข… ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค.. https://www.githubstatus.com/ -> ์ด๋งํฌ๋ฅผ ํ†ตํ•ด์„œ ๊นƒ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€

Powered by GraphCDN, the GraphQL CDN