IT395 ์ฒ์ ํด๋ณธ ESXi VM ๋ณต์ & SSH ์ ์ ๊ธฐ๋ก (๊ณ ์ IP๋ ipTIME์ผ๋ก ์ค์ ) ์ด ํฌ์คํ ์์๋ VMware ESXi ํธ์คํธ ํด๋ผ์ด์ธํธ(ver 2.10.1)๋ฅผ ์ด์ฉํด ๊ธฐ์กด VM์ ๋ณต์ ํ๊ณ , SSH๋ก ์ ์ํ๋ ๊ณผ์ ์ ์ ๋ฆฌํฉ๋๋ค.์ฒ์ ์์ํ ๋๋ ๋ง๋งํ์ง๋ง, ๋ง์ ์ง์ ํด๋ณด๋ ์๊ฐ๋ณด๋ค ์ด๋ ต์ง ์์์ต๋๋ค.์์ ์ ์ ์์ด ์์ ํ๋ ๊ฑธ ์์์ ๋ณด๋ฉฐ ๋ฉ๋ชจํด ๋ ๋ด์ฉ์ ๋ฐํ์ผ๋ก, ์ด๋ฒ์ ์ ํ๋ธ ์์๋ ์ฐธ๊ณ ํด์ ์ฒ์๋ถํฐ ์ง์ ์งํํด ๋ดค์ต๋๋ค.์ฑ๊ณตํ ๊น์ ๊ธฐ๋ก์ผ๋ก ๋จ๊ฒจ๋๋ฉฐ, ์ ์ฒ๋ผ ์ฒ์ ์๋ํ์๋ ๋ถ๋ค๊ป ๋์์ด ๋๊ธธ ๋ฐ๋๋๋ค. 1๏ธโฃ ๋ฐ์ดํฐ์คํ ์ด ๋ธ๋ผ์ฐ์ ์คํ ๋ฆฌ์ง > ๋ฐ์ดํฐ์คํ ์ด ๋ธ๋ผ์ฐ์ ๋ฅผ ์ ํํ๋ค.์ํ๋ ๋ฐ์ดํฐ์คํ ์ด๋ฅผ ํด๋ฆญํ ๋ค, ๋๋ ํ ๋ฆฌ ์ด๋ฆ์ ์ ๋ ฅํด ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๋ค.→ ์๋ก ์์ฑํ ๊ฐ์ ์์คํ ์ด ์ ์ฅ๋ ์คํ ๋ฆฌ์ง์ด๋ค.๋ณต์ฌํ ์๋ณธ ๊ฐ์ ์์คํ ์ vm ๊ตฌ์ฑํ์ผ(.vmdk, .vmx ํ์ผ) ์ ์.. IT/DevOps 2025. 4. 9. Spring Boot + JWT๋ก ์ธ์ฆ ์์คํ ๊ตฌํ (ํ ์คํธ ์์ & ์์ค ์ฝ๋ ํฌํจ) springBoot์ JWT๋ฅผ ์ด์ฉํ ์ธ์ฆ ์๋ฒ๋ฅผ ๊ฐ๋จํ ๊ตฌ์ถํด๋ดค๋ค.๋ฉํ์ฝ๋ฉ๋์ "์คํ๋ง๋ถํธ ์ํ๋ฆฌํฐ - JWT"๋ฅผ ๋ณด๊ณ , ์ด๋ฅผ ๋ฐํ์ผ๋ก ์ค์ค๋ก ๋ณต๊ธฐํ๋ฉฐ ํ์ตํ ๋ด์ฉ์ ๊ธฐ๋ก์ผ๋ก ๋จ๊ธด๋ค.๋์์ ๐ฌ JwtAuthorizationFilter๊ฐ JwtAuthenticationFilter๋ณด๋ค ๋จผ์ ์คํ๋๊ฒ ํด์ผ ํ๋ค.๋์์๋ง ๋ณด๋ฉด JwtAuthorizationFilter๋ณด๋ค JwtAuthenticationFilter์ด ๋จผ์ ์คํ๋์ด์ผ ํ๋ค๊ณ ์คํดํ ๋ฏ ํ๋ค.์ด์ ๋ JwtAuthorizationFilter์์ ์กด์ฌํ๋ ์ฌ์ฉ์๊ณ ์ ํจํ ํ ํฐ์ธ์ง ๊ฒ์ฆ ํ ๊ฒ์ฆ ์คํจ ์ ๋ค์ ํํฐ๋ก ๋์ด๊ฐ๊ฒ ํ๋ฉด ์๋๊ธฐ ๋๋ฌธ์ด๋ค. (์ฆ, ๋ก๊ทธ์ธ๊น์ง ๋ชป๊ฐ๊ฒ ํด์ผ ํจ) ์์ค ๐ปapplication.ymlserver: port: 9090.. IT/Live Coding 2025. 3. 22. [Android, Kotlin] Jetpack Compose์ Glance๋ก ๊ฐ๋จํ ์์ ฏ ๊ตฌํ(์์ & ์ฝ๋ ํฌํจ) ์ด ํฌ์คํ ์ Jetpack Compose์ Glance๋ฅผ ์ด์ฉํด ๊ฐ๋จํ ์ฑ ์์ ฏ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ค๋ฃน๋๋ค ๐ฑโจ์ ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ก, ์๋๋ก์ด๋ ๊ฐ๋ฐ์ ๋ํด์๋ ์ด์ ๋ง ๊ธฐ๊ณ ์๋ ๋ณ์๋ฆฌ ์์ค์ ๋๋ค ๐ฃ๐ป๋ง์ด ์ฐธ์กฐํ๋ฉฐ ํฌ์คํ ์ ์์ฑํ๊ณ ์์ง๋ง, ํ๋ฆฐ ์ ์ด ์์ ์ ์์์ ์ํด ๋ถํ๋๋ฆฝ๋๋ค ๐๐์ด ํฌ์คํ ์ ์ ๊ฐ ์์ง ์๊ธฐ ์ํด ๊ธฐ๋ก์ผ๋ก ๋จ๊ธฐ๋ ๊ฒ์ ๋๋ค.๋์์์์คlibs.versions.toml[versions]agp = "8.8.0"kotlin = "2.0.0"coreKtx = "1.15.0"junit = "4.13.2"junitVersion = "1.2.1"espressoCore = "3.6.1"lifecycleRuntimeKtx = "2.8.7"activityCompose = "1.10.1"com.. IT/Live Coding 2025. 3. 16. Spring Boot + Redis๋ก ์์ฒญ ์ ํ (ํ ์คํธ ์์ & ์์ค ์ฝ๋ ํฌํจ) Redis๋ฅผ ํ์ฉํด ์์ดํผ ๊ธฐ๋ฐ ์์ฒญ์ ํ ๊ธฐ๋ฅ ๊ตฌํ(์งง๊ณ ๊ฐ๋จํ ์์)์ญ์๋ ๋ ๋์ค ๊ณต๋ถํ ๊ฒ ๊น๋จน๊ธฐ ์ซ์ด ๊ธฐ๋ก์ผ๋ก ๋จ๊ธด๋ค.๋์์์์คapplication.ymlserver: port: 9090 servlet: context-path: / encoding: charset: UTF-8 enabled: true force: truespring: cache: type: redis devtools: livereload.enabled: true restart.enabled: true datasource: driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy url: jdbc:log4jdbc:my.. IT/Live Coding 2025. 3. 9. Spring Boot + Redis๋ก ์ค์๊ฐ ๋ญํน ๊ตฌํ (ํ ์คํธ ์์ & ์์ค ์ฝ๋ ํฌํจ) Redis๋ฅผ ํ์ฉํ ์ค์๊ฐ ๋ญํน ๊ตฌํ! (์งง๊ณ ๊ฐ๋จํ ์์)์ญ์๋ ๋ ๋์ค ๊ณต๋ถํ ๊ฒ ๊น๋จน๊ธฐ ์ซ์ด ๊ธฐ๋ก์ผ๋ก ๋จ๊ธด๋ค.๋์์์์คapplication.ymlserver: port: 8081 servlet: context-path: / encoding: charset: UTF-8 enabled: true force: truespring: cache: type: redis devtools: livereload.enabled: true restart.enabled: true datasource: driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy url: jdbc:log4jdbc:mysql://.. IT/Live Coding 2025. 3. 8. Spring Boot + Redis ์บ์ฑ ๊ตฌํํ๊ธฐ (ํ ์คํธ ์์ & ์์ค ์ฝ๋ ํฌํจ) Redis๋ฅผ ํ์ฉํ ์บ์ฑ ๊ตฌํ! (์งง๊ณ ๊ฐ๋จํ ์์)์ญ์๋ ๋ ๋์ค ๊ณต๋ถํ ๊ฒ ๊น๋จน๊ธฐ ์ซ์ด ๊ธฐ๋ก์ผ๋ก ๋จ๊ธด๋ค.๋์์์์คapplication.ymlserver: port: 9090 servlet: context-path: / encoding: charset: UTF-8 enabled: true force: truespring: cache: type: redis devtools: livereload.enabled: true restart.enabled: true datasource: driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy url: jdbc:log4jdbc:mysql://loca.. IT/Live Coding 2025. 3. 5. Spring Boot + Redis๋ก ์ธ์ ๊ณต์ ํ๊ธฐ (ํ ์คํธ ์์ & ์์ค ์ฝ๋ ํฌํจ) Redis๋ฅผ ํ์ฉํ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ ์ธ์ ๊ณต์ ์คํ! (์งง๊ณ ๊ฐ๋จํ ์์)๋ ๋์ค๋ฅผ ๊ณต๋ถํ์ง ์ผ๋ง ์๋์ด์ ๊น๋จน๊ธฐ ์ซ์ด ๊ธฐ๋ก์ผ๋ก ๋จ๊ธด๋ค.๋์์์์คapplication.ymlserver: port: 9090 servlet: context-path: / encoding: charset: UTF-8 enabled: true force: truespring: devtools: livereload.enabled: true restart.enabled: true datasource: driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy url: jdbc:log4jdbc:mysql://localhost:3.. IT/Live Coding 2025. 3. 5. [AWS] ๊ฐ๋ณ EC2 ์ํคํ ์ฒ + DB ์ด์คํ(feat. Multi-AZ) ์ด ํฌ์คํ ์์๋ ์ํคํ ์ฒ ๋ฒ์ 3์ ๊ตฌ์ถํ๋ ๊ณผ์ ์ ๋ค๋ฃฌ๋ค.์ํคํ ์ฒ ๋ฒ์ 3์ผ๋ก ๋ถ๋ฅํ๊ธด ํ์ง๋ง ์ํคํ ์ฒ2์์ DB๋ง ์ด์คํํ ๊ฒ์ด๋ค.AWS์์ Multi-AZ๋ผ๋ ๋ฉ๋ด๋ฅผ ์ด์ฉํ๋ฉด ๊ฐ๋จํ๋ค.Multi-AZ๋ Master/Slave๋ก DB ํ๊ฒฝ์ ๊ตฌ์ฑํ๊ณ Active - StandBy๋ก ์ด์๋๋ค.ํ์์๋ Master ์ธ์คํด์ค๊ฐ ์๋น์ค ๋๋ค๊ฐ ์ฅ์ ๋ฐ์ ์ Slave ์ธ์คํด์ค๊ฐ Master๋ก ์น๊ฒฉ๋์ ์๋น์ค๋ฅผ ์ง์ํ๋ค.์น๊ฒฉํ๋ ๊ณผ์ ์ ์๋ฒ, ๋คํธ์ํธ ๋ฑ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง AWS ์ธก์ ๋ฐ๋ฅด๋ฉด 60์ด ๋ด์ธ๋ก ์ ํ๋๋ค๊ณ ํ๋ค.https://aws.amazon.com/ko/rds/features/multi-az/AWS์์ ๋ง์ฐ์ค ๋ช๋ฒ ํด๋ฆญํ๋ฉด ์ด ๋ชจ๋ ๊ฒ ์ค์ ๋๋ค.AWS์์ DB ์ด์คํ ๋ฐฉ์์ 2๊ฐ์ง๊ฐ ์๋ค.๋ฐฉ์Mu.. IT/DevOps 2025. 2. 23. [AWS] ๊ฐ๋ณ EC2 ์ํคํ ์ฒ ๊ตฌ์ถ – Nginx ๋ฆฌ๋ฒ์คํ๋ก์ + Tomcat 2๋ ์ด ํฌ์คํ ์์๋ ์ํคํ ์ฒ ๋ฒ์ 2๋ฅผ ๊ตฌ์ถํ๋ ๊ณผ์ ์ ๋ค๋ฃฌ๋ค.๋ฒ์ 1์์๋ Web, WAS1,2๋ฒ์ ํ๋์ EC2 ์ธ์คํด์ค์์ Docker compose๋ก ๊ด๋ฆฌํ์ง๋ง์ด๋ฒ์๋ ๊ฐ ์๋ฒ๋ฅผ ๊ฐ๋ณ EC2 ์ธ์คํด์ค๋ก ๋ถ๋ฆฌํ๊ณ ๊ฐ ์๋ฒ์์ Docker๋ก ์ปจํ ์ด๋๋ก ์๋น์ค๋ฅผ ์คํ์ํจ๋ค.ํฌ๊ฒ ์ด๋ ค์ธ ๊ฑด ์๊ณ ์ค์ํ ์ ์ WAS1,2๋ฒ ์๋ฒ์์ ์ธ๋ฐ์ด๋ ๊ท์น์ EC2 1๋ฒ Nginx ์๋ฒ์๊ฒ 9090, 9091ํฌํธ(๊ฐ๋ฐ์ ๋ง์)๋ฅผ ํ์ฉํด์ค์ผ ํ๊ณ RDS์์ 2,3๋ฒ EC2 ์๋ฒ์๊ฒ 3306ํฌํธ๋ฅผ ํ์ฉํด์ผ ํ๋ค.์ฒซ๋ฒ ์งธ EC2 ์ธ์คํด์ค์ ํ๋ฆฌํฐ์ด ์คํ ๋ฆฌ์ง ์ฉ๋์ ์ต๋์น์ธ 30GB๋ฅผ ํ ๋นํ๊ธฐ ๋๋ฌธ์ 2๋ฒ ์งธ 3๋ฒ ์งธ ์ธ์คํด์ค์ ์คํ ๋ฆฌ์ง ์ฉ๋์ t2.micro ์ ํ์ ์ต์์ฉ๋์ธ 8GB๋ก ํ ๋นํด์ ์์ฑํ๋ค.๊ทธ๋ฆฌ๊ณ ์ธ๋ถ์์ ์ ์ ํ .. IT/DevOps 2025. 2. 15. [AWS] ํ๋ฆฌํฐ์ด ๊ณผ๊ธ ๊ฒฝํ ๊ธฐ๋ก AWS๋ก ํ๋ฆฌํฐ์ด์ ๋ฒ์์์์ ์ ๋๊ฒ ์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ณ ์๋๋ฐ ์ผ๋ง์ง๋์ ๋น์ฉ์ด ์ถ๊ฐ๋ ๊ฑธ ํ์ธ ํ๋ค.์ฒญ๊ตฌ์(๊ณผ๊ธ ์ ๋ณด ๋ฐ ๋น์ฉ ๊ด๋ฆฌ > ์ฒญ๊ตฌ์ > ์๋น์ค๋ณ ์๊ธ)๋ฅผ ๋ณด์ํ๋ VPC์ EC2๋ ๋น์ฉ์ด ์๋๋ฐ ๋ค๋ฅธ public IPv4์์ ๋น์ฉ์ด ๋ฐ์ํ๋ค.๊ตฌ๊ธ๋ง ๊ฒฐ๊ณผ ์๋ 2๊ฐ์ง๊ฐ ์์ธ์ผ๋ก ์ถ์ ๋์๊ณ ์กฐ์น ํ ๋ค์ ๋ชจ๋ํฐ๋ง์ ํ๊ธฐ๋ก ํ๋ค.RDS ํผ๋ธ๋ฆญ ์์ธ์คRDS์์ ํผ๋ธ๋ฆญ ์์ธ์ค๊ฐ ํ์ฑํ ๋์ด ์๋ ๊ฒฝ์ฐ์ ์ด๋ฅผ ํผ๋ธ๋ฆญ ์์ธ์ค ๋ถ๊ฐ๋ฅ์ผ๋ก ์์ ํ๋ค.๋ชจ๋ํฐ๋ง ๊ฒฐ๊ณผ(๋ช์๊ฐ ์ ๋)RDS ํผ๋ธ๋ฆญ ์์ธ์ค ๋ถ๊ฐ๋ฅ์ผ๋ก ๋ณ๊ฒฝ ํ ๋ชจ๋ํฐ๋ง ๊ฒฐ๊ณผ ์ฌ์ ํ VPC์ ๋ค๋ฅธ public IPv4์์ ๋น์ฉ์ด ๋ฐ์ํ๋ค.๊ทธ๋์ ์๋ ๋ถ๋ถ์ ์กฐ์นํ๋ค.์๋ธ๋ท ์ค์ ํธ์งVPC > ์๋ธ๋ท์ ์๋ธ๋ท ์ค์ ํธ์ง์์ ์๋ ํ ๋น IP ์ค์ ์ ํผ๋ธ๋ฆญ I.. IT/DevOps 2025. 2. 15. ์ด์ 1 2 3 4 ยทยทยท 40 ๋ค์