๋ฐ๋ธŒ์ฝ”์Šค_๋ฐ์ดํ„ฐ์—”์ง€๋‹ˆ์–ด๋ง

[Week7 AWS ํด๋ผ์šฐ๋“œ] TIL 28์ผ์ฐจ - AWS ํด๋ผ์šฐ๋“œ ์•Œ์•„๋ณด๊ธฐ3

๐Ÿช„ํ•˜๋ฃจ๐Ÿช„ 2023. 11. 22. 22:59
728x90

1) IAM(Identity and Access Management)

AWS ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์„œ๋น„์Šค

AWS ๊ณ„์ • ๋‚ด์—์„œ ์‚ฌ์šฉ์ž, ๊ทธ๋ฃน, ์—ญํ•  ๋“ฑ์„ ๊ด€๋ฆฌํ•˜๊ณ , ์ด๋“ค์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ์„ค์ •

 

๊ธฐ๋Šฅ

AWS ๊ณ„์ •์— ๋Œ€ํ•œ ๊ณต์œ , ์„ธ๋ถ„ํ™”๋œ ๊ถŒํ•œ

์ตœ์ข… ์ผ๊ด€์„ฑ, ๋Œ€๋ถ€๋ถ„ ๋ฌด๋ฃŒ์‚ฌ์šฉ

๋ณด์•ˆ ๊ฐ•ํ™”

  • MFA(Multi-Factor Authentication) : ์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์˜ ์‹ ์›์„ ํ™•์ธํ•  ๋•Œ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์˜ ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ๋น„๋ฐ€๋ฒˆํ˜ธ ์™ธ์— MFA๋””๋ฐ”์ด์Šค์— ํ‘œ์‹œ๋˜๋Š” ์ผํšŒ์šฉ ์ฝ”๋“œ ์ž…๋ ฅ
  • Identity Federation : ์™ธ๋ถ€ ์‹ ์› ์ œ๊ณต์ž(์˜ˆ: ๊ธฐ์—… ๋‚ด์˜ ์ธ์ฆ ์„œ๋น„์Šค ๋˜๋Š” ์†Œ์…œ ๋ฏธ๋””์–ด)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ AWS ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ํ—ˆ์šฉ
  • ๋ณด์žฅ์„ ์œ„ํ•œ ์ž๊ฒฉ ์ฆ๋ช… ์ •๋ณด
  • PCI DSS(Payment Card Industry Data Security Standard) ์ค€์ˆ˜ : ์‹ ์šฉ ์นด๋“œ ์ •๋ณด๋ฅผ ๋‹ค๋ฃจ๋Š” ์กฐ์ง๋“ค์—๊ฒŒ ์ ์šฉ๋˜๋Š” ๋ณด์•ˆ ํ‘œ์ค€ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

 

๊ตฌ์„ฑ

  • ์‚ฌ์šฉ์ž/๊ทธ๋ฃน
  • ์ •์ฑ…(๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€)
  • ์—ญํ• (์ •์ฑ…์˜ ๋ชจ์Œ์œผ๋กœ ํŠน์ • AWS ๋ฆฌ์†Œ์Šค์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค)

๋”ฐ๋ผ์„œ ์‚ฌ์šฉ์ž๋Š” ๋ณธ์ธ์—๊ฒŒ ์ง์ ‘์ ์œผ๋กœ ์ •์ฑ…์ด ๋ถ€์—ฌ๋˜์—ˆ๋Š”์ง€, ์†ํ•œ ๊ทธ๋ฃน์— ์ •์ฑ…์ด ๋ถ€์—ฌ๋˜์—ˆ๋Š”์ง€, ์œ„์ž„๋œ ์—ญํ• ์— ์ •์ฑ…์ด ๋ถ€์—ฌ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ ๋’ค,

์ •์ฑ…์ด ๋ถ€์—ฌ๋˜์—ˆ์œผ๋ฉด AWS ๋ฆฌ์†Œ์Šค์— ํŠน์ • ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ  ์•„๋‹ˆ๋ฉด ๊ถŒํ•œ ์—†์Œ ์ƒํƒœ๋กœ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.

 

์‹ค์Šต

IAM - ์•ก์„ธ์Šค ๊ด€๋ฆฌ - ์‚ฌ์šฉ์ž ๊ทธ๋ฃน, ์‚ฌ์šฉ์ž, ์—ญํ• , ์ •์ฑ… ํƒญ์—์„œ ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  • ์‚ฌ์šฉ์ž๋ฅผ ์ถ”๊ฐ€ํ•  ๊ฒฝ์šฐ, ์•ก์„ธ์Šค ํ‚ค ID, ๋น„๋ฐ€ ์•ก์„ธ์Šคํ‚ค, ๋น„๋ฐ€๋ฒˆํ˜ธ ๋“ฑ์€ ๋ณ„๋„๋กœ ์ €์žฅํ•ด ๋‘์–ด์•ผ ํ•œ๋‹ค.
  • ์ •์ฑ…์˜ ๊ฒฝ์šฐ ๋ณดํ†ต JSON์œผ๋กœ ๊ด€๋ฆฌ๋œ๋‹ค.

 

 

2) S3(Amazon Simple Storage Service)

(AWS)์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฐ์ฒด ์Šคํ† ๋ฆฌ์ง€ ์„œ๋น„์Šค๋กœ, ์›น์—์„œ ์–ธ์ œ๋“ ์ง€ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„

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

๋‹จ์ˆœ ์ €์žฅ์†Œ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

 

๊ธฐ๋Šฅ

์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค, ์Šคํ† ๋ฆฌ์ง€ ๊ด€๋ฆฌ

์•ก์„ธ์Šค ๊ด€๋ฆฌ

๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ

์Šคํ† ๋ฆฌ์ง€ ๋กœ๊น… ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง

๋ถ„์„ ๋ฐ ์ธ์‚ฌ์ดํŠธ

๊ฐ•๋ ฅํ•œ ์ผ๊ด€์„ฑ

 

๊ตฌ์„ฑ

๋ฒ„ํ‚ท : ํด๋”์™€ ๊ฐ™์€ ์—ญํ• 

๊ฐ์ฒด : S3์— ์ €์žฅ๋˜๋Š” ๊ธฐ๋ณธ ๊ฐœ์ฒด, ๊ฐ์ฒด ๋ฐ์ดํ„ฐ์™€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑ

ํ‚ค : ๊ฐ์ฒด๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ์‹๋ณ„์ž

๋ฒ„ํ‚ท+ํ‚ค+๋ฒ„์ „ : ๊ฐ์ฒด๋กœ ์ €์žฅ๋œ๋‹ค.

 

์‹ค์Šต

1. ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ

S3 - ๋ฒ„ํ‚ท - ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ

๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ

 

2. ๊ฐ์ฒด ์—…๋กœ๋“œ

ํ•ด๋‹น ๋ฒ„ํ‚ท์„ ์„ ํƒํ•œ ๋’ค, ์—…๋กœ๋“œ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์›ํ•˜๋Š” ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•œ๋‹ค.

๊ฐ์ฒด ์—…๋กœ๋“œ

 

3. ์ •์  ์›นํŽ˜์ด์ง€๋กœ ํ˜ธ์ŠคํŒ…

.html ํŒŒ์ผ์„ ๋ฒ„ํ‚ท์— ์—…๋กœ๋“œํ•œ ๋’ค, ์†์„ฑ-์ •์  ์›น ์„œ๋ฒ„๋กœ ํ˜ธ์ŠคํŒ…์„ ํ™œ์„ฑํ™”์‹œํ‚จ๋‹ค.

์ •์  ์›น ์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…

 

๋ฒ„ํ‚ท-๊ถŒํ•œ-ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ์˜ ํŽธ์ง‘์—์„œ ๋ชจ๋“  ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ์„ ํ•ด์ œํ•œ๋‹ค.

ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ ํŽธ์ง‘

 

 

๋ฒ„ํ‚ท ์ •์ฑ… ํŽธ์ง‘์—์„œ ์ •์ฑ… ์ƒ์„ฑ๊ธฐ๋ฅผ ์„ ํƒํ•œ๋‹ค.

๋ฒ„ํ‚ท ์ •์ฑ… ํŽธ์ง‘

 

S3 ๋ฒ„ํ‚ท์˜ ๋ชจ๋“  principal์— ๋Œ€ํ•ด, ๋ชจ๋“  ํ–‰๋™์— ๋Œ€ํ•ด ํ—ˆ์šฉํ•œ๋‹ค.

ARN ์ฃผ์†Œ๋Š” ๋ฒ„ํ‚ท ์ •์ฑ… ํŽธ์ง‘ ํƒญ์˜ ARN ์ฃผ์†Œ์— /*๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

์ •์ฑ… ์ƒ์„ฑ๊ธฐ

์ƒ์„ฑ๋œ ์ •์ฑ…์„ ๋ฒ„ํ‚ท ์ •์ฑ… ํŽธ์ง‘์— ๋ถ™์—ฌ ๋„ฃ๊ธฐ ํ•œ๋‹ค.

 

์ดํ›„, ์ •์  ์›น ์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…์˜ ์ฃผ์†Œ๋กœ ์ ‘์†ํ•˜๋ฉด ์ •์  ์›น ํŽ˜์ด์ง€์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

3) CI/CD

๊ฐœ๋ฐœ๋œ ํ•ญ๋ชฉ์„ ์ž๋™์œผ๋กœ ๋นŒ๋“œํ•˜๊ณ  ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ + ์šด์˜ํ•˜๊ณ  ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ฒƒ

CI(Continuous Integration) : ๊ฐœ๋ฐœํ•œ ์ฝ”๋“œ๋ฅผ ๊ณต์œ  ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ํ•˜๋ฃจ์—๋„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ฝ”๋“œ๋ฅผ ์ปค๋ฐ‹ํ•˜๊ณ  ๋ณ‘ํ•ฉํ•˜๋Š” ๊ฒƒ

CD(Continuous Delivery) : ๊ฐœ๋ฐœํŒ€์ด ์งง์€ ์ฃผ๊ธฐ๋กœ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์–ธ์ œ๋“ ์ง€ ์šด์˜ํ™˜๊ฒฝ์œผ๋กœ ์•ˆ์ •์ ์œผ๋กœ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ

 

๊ตฌ์„ฑ

CI : AWS Code commit (Git ๊ธฐ๋ฐ˜์˜ ๊ด€๋ฆฌํ˜• ์ฝ”๋“œ ์ €์žฅ์†Œ ์„œ๋น„์Šค)

CD : AWS Code pipeline(์ฝ”๋“œ ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ์˜ ์ž๋™ํ™”)

  • ๋นŒ๋“œ/ํ…Œ์ŠคํŠธ : AWS Code Build (ํŠน์ • ๋ธŒ๋žœ์น˜์™€ ์—ฐ๋™)
  • ๋ฐฐํฌ : AWS Code Deploy

cf) ๋ณดํ†ต develop ๋ธŒ๋žœ์น˜๋ฅผ ๊ฐœ๋ฐœ์„œ๋ฒ„๋กœ, master/main์„ ์šด์˜์„œ๋ฒ„๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

Buildspec : (Springboot์˜ ๊ฒฝ์šฐ) ๋นŒ๋“œ ๋ช…๋ น ์‚ฝ์ž… - build: commands : ๊ณต๊ฐ„์— - ./gradle ํ”„๋กœ์ ํŠธ๋ช…:boot.jar ์˜ ํ˜•ํƒœ๋กœ ๊ธฐ์ˆ ํ•œ๋‹ค.

์•„ํ‹ฐํŒฉํŠธ : ๋นŒ๋“œ ์ดํ›„ ๋ฐฐํฌ์˜์—ญ์—์„œ ์•Œ์•„์•ผ ํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์„œ์ˆ ํ•œ๋‹ค.

728x90