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 ์ ํํ๋ก ๊ธฐ์ ํ๋ค.
์ํฐํฉํธ : ๋น๋ ์ดํ ๋ฐฐํฌ์์ญ์์ ์์์ผ ํ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์์ ํ๋ค.