Book : ์คํ๋ง๋ถํธ์ AWS๋ก ํผ์ ๊ตฌํํ๋ ์น ์๋น์ค
์ ๊ธฐํ๊ฒ๋ ๊ตฌ๊ธ๋ง์ ํ ๋๋ง๋ค ๋งค๋ฒ ๋ณด๊ฒ๋๋ ์ ๊ธฐํ ๋ธ๋ก๊ทธ๊ฐ ์๋ค.
'๊ธฐ์ต๋ณด๋จ ๊ธฐ๋ก์' ์ด๋ผ๋ ๋ธ๋ก๊ทธ์ธ๋ฐ
์ผ๋ง์ ์ ์ ํฌ๋ธ๋ฅผ ๋์๋ค๋๋ค ๋ณด๊ฒ๋ ์ด ์ธ๋ค์ผ
๋์ ๋น์ทํ ์ํฉ์ด์ด์ ํ๋ฆฐ๋ฏ ๋ณด๊ฒ๋์๋๋ฐ
์ด ์์์์ ์๊ฒ๋์๋ค.
์ด ๋ถ์ด ๋ฐ๋ก ๊ธฐ์ต๋ณด๋จ ๊ธฐ๋ก์ ๋ธ๋ก๊ทธ์ ์กฐ์กธ๋๋์ด๋๊ฒ์ ! (๋ณธ๋ช ์ด๋์ฑ)
๋ฐ๋ก ์ด ๋ถ์ด ์ผ๋ง์ ์ ์ฑ ์ ์ถํํ์ จ๋ค.
๋ฐ๋ก ๐ฅ๏ธ AWS ์คํ๋ง๋ถํธ์ AWS๋ก ํผ์ ๊ตฌํํ๋ ์น ์๋น์ค ๐ฅ๏ธ
์ผ๋จ ๊ฐ๋จํ๊ฒ ๋ชฉ์ฐจ๋ฅผ ์ดํด๋ณด๋ฉด ์ด๋ ๋ค.
๋ชฉ์ฐจ
01์ฅ ์ธํ
๋ฆฌ์ ์ด๋ก ์คํ๋ง ๋ถํธ ์์ํ๊ธฐ
_1.1 ์ธํ
๋ฆฌ์ ์ด ์๊ฐ
_1.2 ์ธํ
๋ฆฌ์ ์ด ์ค์นํ๊ธฐ
_1.3 ์ธํ
๋ฆฌ์ ์ด ์ปค๋ฎค๋ํฐ์์ ํ๋ก์ ํธ ์์ฑํ๊ธฐ
_1.4 ๊ทธ๋ ์ด๋ค ํ๋ก์ ํธ๋ฅผ ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ๋ก ๋ณ๊ฒฝํ๊ธฐ
_1.5 ์ธํ
๋ฆฌ์ ์ด์์ ๊น๊ณผ ๊นํ๋ธ ์ฌ์ฉํ๊ธฐ
02์ฅ ์คํ๋ง ๋ถํธ์์ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ์
_2.1 ํ
์คํธ ์ฝ๋ ์๊ฐ
_2.2 Hello Controller ํ
์คํธ ์ฝ๋ ์์ฑํ๊ธฐ
_2.3 ๋กฌ๋ณต ์๊ฐ ๋ฐ ์ค์นํ๊ธฐ
_2.4 Hello Controller ์ฝ๋๋ฅผ ๋กฌ๋ณต์ผ๋ก ์ ํํ๊ธฐ
03์ฅ ์คํ๋ง ๋ถํธ์์ JPA๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ค๋ค๋ณด์
_3.1 JPA ์๊ฐ
__Spring Data JPA
__์ค๋ฌด์์ JPA
__์๊ตฌ์ฌํญ ๋ถ์
_3.2 ํ๋ก์ ํธ์ Spring Data Jpa ์ ์ฉํ๊ธฐ
_3.3 Spring Data JPA ํ
์คํธ ์ฝ๋ ์์ฑํ๊ธฐ
_3.4 ๋ฑ๋ก/์์ /์กฐํ API ๋ง๋ค๊ธฐ
_3.5 JPA Auditing์ผ๋ก ์์ฑ์๊ฐ/์์ ์๊ฐ ์๋ํํ๊ธฐ
__LocalDate ์ฌ์ฉ
__JPA Auditing ํ
์คํธ ์ฝ๋ ์์ฑํ๊ธฐ
04์ฅ ๋จธ์คํ
์น๋ก ํ๋ฉด ๊ตฌ์ฑํ๊ธฐ
_4.1 ์๋ฒ ํ
ํ๋ฆฟ ์์ง๊ณผ ๋จธ์คํ
์น ์๊ฐ
__๋จธ์คํ
์น๋
__๋จธ์คํ
์น ํ๋ฌ๊ทธ์ธ ์ค์น
_4.2 ๊ธฐ๋ณธ ํ์ด์ง ๋ง๋ค๊ธฐ
_4.3 ๊ฒ์๊ธ ๋ฑ๋ก ํ๋ฉด ๋ง๋ค๊ธฐ
_4.4 ์ ์ฒด ์กฐํ ํ๋ฉด ๋ง๋ค๊ธฐ
_4.5 ๊ฒ์๊ธ ์์ , ์ญ์ ํ๋ฉด ๋ง๋ค๊ธฐ
__๊ฒ์๊ธ ์์
__๊ฒ์๊ธ ์ญ์
05์ฅ ์คํ๋ง ์ํ๋ฆฌํฐ์ OAuth 2.0์ผ๋ก ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํํ๊ธฐ
_5.1 ์คํ๋ง ์ํ๋ฆฌํฐ์ ์คํ๋ง ์ํ๋ฆฌํฐ Oauth2 ํด๋ผ์ด์ธํธ
_5.2 ๊ตฌ๊ธ ์๋น์ค ๋ฑ๋ก
_5.3 ๊ตฌ๊ธ ๋ก๊ทธ์ธ ์ฐ๋ํ๊ธฐ
__์คํ๋ง ์ํ๋ฆฌํฐ ์ค์
__๋ก๊ทธ์ธ ํ
์คํธ
_5.4 ์ด๋
ธํ
์ด์
๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ ํ๊ธฐ
_5.5 ์ธ์
์ ์ฅ์๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉํ๊ธฐ
_5.6 ๋ค์ด๋ฒ ๋ก๊ทธ์ธ
__๋ค์ด๋ฒ API ๋ฑ๋ก
__์คํ๋ง ์ํ๋ฆฌํฐ ์ค์ ๋ฑ๋ก
_5.7 ๊ธฐ์กด ํ
์คํธ์ ์ํ๋ฆฌํฐ ์ ์ฉํ๊ธฐ
06์ฅ AWS ์๋ฒ ํ๊ฒฝ์ ๋ง๋ค์ด๋ณด์ - AWS EC2
_6.1 AWS ํ์ ๊ฐ์
_6.2 EC2 ์ธ์คํด์ค ์์ฑํ๊ธฐ
_6.3 EC2 ์๋ฒ์ ์ ์ํ๊ธฐ
_6.4 ์๋ง์กด ๋ฆฌ๋
์ค 1 ์๋ฒ ์์ฑ ์ ๊ผญ ํด์ผ ํ ์ค์ ๋ค
07์ฅ AWS์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๊ฒฝ์ ๋ง๋ค์ด๋ณด์ - AWS RDS
_7.1 RDS ์ธ์คํด์ค ์์ฑํ๊ธฐ
_7.2 RDS ์ด์ํ๊ฒฝ์ ๋ง๋ ํ๋ผ๋ฏธํฐ ์ค์ ํ๊ธฐ
_7.3 ๋ด PC์์ RDS์์ ์ ์ํด ๋ณด๊ธฐ
__Database ํ๋ฌ๊ทธ์ธ ์ค์น
_7.4 EC2์์ RDS์์ ์ ๊ทผ ํ์ธ
08์ฅ EC2 ์๋ฒ์ ํ๋ก์ ํธ๋ฅผ ๋ฐฐํฌํด ๋ณด์
_8.1 EC2์ ํ๋ก์ ํธ Clone ๋ฐ๊ธฐ
_8.2 ๋ฐฐํฌ ์คํฌ๋ฆฝํธ ๋ง๋ค๊ธฐ
_8.3 ์ธ๋ถ Security ํ์ผ ๋ฑ๋กํ๊ธฐ
_8.4 ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ๋ก RDS ์ ๊ทผํ๊ธฐ
__RDS ํ
์ด๋ธ ์์ฑ
__ํ๋ก์ ํธ ์ค์
__EC2 ์ค์
_8.5 EC2์์ ์์
๋ก๊ทธ์ธํ๊ธฐ
09์ฅ ์ฝ๋๊ฐ ํธ์๋๋ฉด ์๋์ผ๋ก ๋ฐฐํฌํด ๋ณด์ - Travis CI ๋ฐฐํฌ ์๋ํ
_9.1 CI & CD ์๊ฐ
_9.2 Travis CI ์ฐ๋ํ๊ธฐ
__Travis CI ์น ์๋น์ค ์ค์
__ํ๋ก์ ํธ ์ค์
_9.3 Travis CI์ AWS S3 ์ฐ๋ํ๊ธฐ
__AWS Key ๋ฐ๊ธ
__Travis CI์ ํค ๋ฑ๋ก
__S3 ๋ฒํท ์์ฑ
__.travis.yml ์ถ๊ฐ
_9.4 Travis CI์ AWS S3, CodeDeploy ์ฐ๋ํ๊ธฐ
__EC2์ IAM ์ญํ ์ถ๊ฐํ๊ธฐ
__CodeDeploy ์์ด์ ํธ ์ค์น
__CodeDeploy๋ฅผ ์ํ ๊ถํ ์์ฑ
__CodeDeploy ์์ฑ
__Travis CI, S3, CodeDeploy ์ฐ๋
_9.5 ๋ฐฐํฌ ์๋ํ ๊ตฌ์ฑ
__deploy.sh ํ์ผ ์ถ๊ฐ
__.travis.yml ํ์ผ ์์
__appspec.yml ํ์ผ ์์
__์ค์ ๋ฐฐํฌ ๊ณผ์ ์ฒดํ
_9.6 CodeDeploy ๋ก๊ทธ ํ์ธ
10์ฅ 24์๊ฐ 365์ผ ์ค๋จ ์๋ ์๋น์ค๋ฅผ ๋ง๋ค์
_10.1 ๋ฌด์ค๋จ ๋ฐฐํฌ ์๊ฐ
_10.2 ์์ง์์ค ์ค์น์ ์คํ๋ง ๋ถํธ ์ฐ๋ํ๊ธฐ
_10.3 ๋ฌด์ค๋จ ๋ฐฐํฌ ์คํฌ๋ฆฝํธ ๋ง๋ค๊ธฐ
__profile API ์ถ๊ฐ
__real1, real2 profile ์์ฑ
__์์ง์์ค ์ค์ ์์
__๋ฐฐํฌ ์คํฌ๋ฆฝํธ๋ค ์์ฑ
_10.4 ๋ฌด์ค๋จ ๋ฐฐํฌ ํ
์คํธ
11์ฅ 1์ธ ๊ฐ๋ฐ ์ ๋์์ด ๋ ๋๊ตฌ์ ์กฐ์ธ๋ค
_11.1 ์ถ์ฒ ๋๊ตฌ ์๊ฐ
__๋๊ธ
__์ธ๋ถ ์๋น์ค ์ฐ๋
__๋ฐฉ๋ฌธ์ ๋ถ์
__CDN
__์ด๋ฉ์ผ ๋ง์ผํ
_11.2 1์ธ ๊ฐ๋ฐ ํ
_11.3 ๋ง๋ฌด๋ฆฌ
์ฑ ์์ฒด๊ฐ ์ ์ ์ฝํ๊ธฐ๋ ํ๊ณ ,
๋ค์ํ ๊ฒฝํ์ ๋น ๋ฅธ์๊ฐ์ ํ ์ ์๋ค๋ ๊ฒ๊ณผ ๋ฒ ์คํธ ํ๋ ํฐ์ค๋ฅผ ์๋ดํด์ฃผ๋๊ฒ!
๊ทธ๊ฒ ๊ฐ์ฅ ์ข์๋ค.
์์ง ์ง๋๋ ์ฑ ์ ์ด๋ฐ์ ๋จธ๋ฌผ๋ฌ ์์ง๋ง
์กฐ์กธ๋ ๋์ ์ถํ ํ๊ธฐ๋ ์ฌ๋ฏธ์๋ค.
์ ๋ด๋ง์ด์ง๋ง ์ข ์ด ์ด๊ฐ์ด ๋๊ฒ ์ข๋ค.
์ง๊ฐ์ ๋ ๊ณต๋ถํด์ผ์ง
๐ฅ๏ธ ๐ฅ๏ธ