Docker Desktop(Mac)์ ๋คํธ์ํฌ ๊ตฌ์กฐ
์์ฝ > ๋ด ํธ์คํธ์์ ์ปจํ ์ด๋์ IP๋ฅผ โ์ ๋ณด๋ก์จโ ๋ณผ ์๋ ์์ผ๋ IP๋ฅผ ์ฌ์ฉํ ์ ์์ ๋ถ๊ฐ๋ฅ
์์ฝ > ๋ด ํธ์คํธ์์ ์ปจํ ์ด๋์ IP๋ฅผ โ์ ๋ณด๋ก์จโ ๋ณผ ์๋ ์์ผ๋ IP๋ฅผ ์ฌ์ฉํ ์ ์์ ๋ถ๊ฐ๋ฅ
ํ์ฌ ์งํ ์ค์ธ PoC๋ฅผ ์ํด SSH ์ ์ ๋ฐฉ์ ํ ์คํธ๊ฐ ํ์ํ๋ค. ๊ทธ๋ฌ๋ Ubuntu Docker image์๋ ๊ธฐ๋ณธ์ ์ผ๋ก SSH(์ฆ, openssh-server)๊ฐ ์ค์น๋์ด์์ง ์๊ธฐ ๋๋ฌธ์ ์ด๋ฒ์ Docker + SSH ์ ์ ๋ฐฉ์์ ํ ์คํธํ๊ณ ๊ธฐ๋กํ๋ค.
์์ ModSecurity์ ๋ํด ๊ฐ๋จํ ๋ค๋ค๋ค. ์ด๋ฒ์๋ ์ฐ๋ถํฌ ์ปจํ ์ด๋ ์์ฑ๋ถํฐ ModSecurity ๊ตฌ์ฑ๊ณผ ํ ์คํธ๊น์ง ์งํํ๊ณ ๊ทธ ๊ณผ์ ์ ๊ธฐ๋กํ๋ค.
๋ถ์ : Docker๋ฅผ ์ฌ์ฉํ ModSecurity WAF ์ฌ์ฉ๊ธฐ Web Application Firewall (WAF): ์น ์๋น์ค๋ฅผ ํตํด์ ๊ณต๊ฒฉ์ ์๋ํ๋ XSS, SQL Injection, Command Execute๊ณผ ๊ฐ์ ๊ณต๊ฒฉ์ ํจ๊ณผ์ ์ผ๋ก ์ฐจ๋จํ๋ ์ญํ ์ ์ํํ๋ ๋ณด์ ๋ชจ๋
์๊ฐ์ด ํ๋ฅผ์๋ก ์ ์ ๋ถ์ Batch ํ๋ก์ธ์ค๊ฐ ์ค๋๊ฑธ๋ฆฌ๊ธฐ ์์ํ๋ฉด์ ์ ์ ํ๋ฃจ๋ฅผ ๋์ด๊ฐ๊ธฐ ์์. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ECS Service์ CloudWatch๋ฅผ ํ์ฉํ ์คํ ์ค์ผ์ผ๋ง์ ์ ์ฉํ์๊ณ ๊ทธ ๊ณผ์ ์ ๊ธฐ๋กํ์๋ค.
MyBatis์์ SQL์ ๋์ ์ผ๋ก ์์ฑํ ๋ ์ ์ฉํ <bind>์ ๋ํด ๊ฐ๋จํ๊ฒ ์ ๋ฆฌํด๋ณด์๋ค.
์์ Docker๋ฅผ ํ์ฉํ ELK ๊ตฌ์ฑ์ ์ด์ด์, ์ด๋ฒ์๋ Metricbeat๋ฅผ ๋ถ์ฌ๋ณด์๋ค
ELK ๊ตฌ์ฑ ๋ฐฉ๋ฒ ์ค์์๋ Docker๋ฅผ ํ์ฉํ ๋ฐฉ๋ฒ์ผ๋ก ์งํํด๋ณด์๋ค.
์ปค์คํ ์ ์ํด ์ฝ๋ ์์ ํ Nginx Proxy Manager๋ฅผ ์ ์์ ์ผ๋ก ์คํํ ์ ์์ด์ผํ๋๋ฐ, ๊ทธ ์ด๋์์๋ ์ด๋ฅผ ์ํ ๊ฐ์ด๋๋ฅผ ์ฐพ์ ์ ์์๋ค. ๊ฒฐ๊ตญ ์ง์ ์์ค์ฝ๋ ๋ถ์ ํ ๋ค์๊ณผ ๊ฐ์ ๋ด์ฉ๋ค์ ํ์ธํ๋ค.
AWS Aurora MySQL ๋ฒ์ ์ ๊ทธ๋ ์ด๋ ์์ ์ ์์๋๋ฉด ์ข์ ๋ด์ฉ๋ค์ ์ ๋ฆฌํ์๋ค.
Docker Buildx๋ ๋ค์ํ ์ํคํ ์ฒ์์ ์คํ ๊ฐ๋ฅํ ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ ์ ์๋ Docker CLI์ด๋ค. ์ด๋ฅผ ํ์ฉํ๋ฉด ํน์ ์ํคํ ์ณ์์ ์ง์ํ๋ ์ด๋ฏธ์ง๋ก ๋น๋ํ ์ ์๋ค.
ํจํค์ง ์์กด์ฑ ๊ด๋ฆฌ์ ๊ฐ์ ํ๊ฒฝ ์์ฑ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ํ ๋ฐฉ๋ฒ.
Github Actions์ ์ฌ์ฉํ์ฌ ๋ฉํฐํ๋ซํผ์ด ์ง์๋๋ ์ด๋ฏธ์ง ๋น๋ ๋ฐฉ๋ฒ๊ณผ Docker Hub ํน์ ECR์ Pushํ๋ ๋ฐฉ๋ฒ. ๊ทธ๋ฆฌ๊ณ ์ 3์ Git Repo ํ์ผ ๋ด์ฉ ๋ณ๊ฒฝ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณด์๋ค.
Terraform์ผ๋ก DB Instance ์์ฑ์ ์กด์ฌํ์ง ์๋ VPC๋ฅผ ์ฐธ์กฐํ๋ ํ์์ ๋ํ์ฌ
Github Actions๋ฅผ ํ์ฉํด์ ์ ํ๋ฆฌ์ผ์ด์ Build & Image push. ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ Kubernetes manifest ํ์ผ ๋ณ๊ฒฝ์ ๋ฐ์์ ArgoCD๋ฅผ ํตํ์ฌ ๋ก์ปฌ Minikube ํ๊ฒฝ์ ์๋๋ฐฐํฌ ํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ
ArgoCD๋ฅผ ํตํด ๋ด ๋ก์ปฌ์ Minikube ํด๋ฌ์คํฐ ํ๊ฒฝ์ด ๊ตฌ์ฑ๋๋๋ก ๋ง๋ค์๋ค. ๊ทธ๋ฆฌ๊ณ Dockerhub Public image๋ฅผ ๊ฐ์ ธ์ค๋ ๊ธฐ์กด๋ฐฉ์์์ AWS ECR์ image๋ฅผ pull ํ๋ ๋ฐฉ์์ผ๋ก ๋ฐ๊ฟ๋ณด์๊ณ , ์ด ๊ณผ์ ์์ ๋ฐ์ํ ๋ฌธ์ ์ ๋ํด ์๊ฒ๋ ์์ธ๊ณผ ํด๊ฒฐ๋ฐฉ๋ฒ์ ๊ธฐ๋กํด๋ณด์๋ค.
io.opentelemetry:opentelemetry-exporter-zipkin:jar:unknown was not found in https://repo.maven.apache.org/maven2 during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of central has elapsed or updates are forced
ํ๋ก์ ์๋ฒ ๊ตฌ์ฑ์ ํ๋ ๊ณผ์ ์์ ์๊ฒ๋ Java ํด๋์ค ๋ช๊ฐ์ง๋ฅผ ๋น๊ตํ์ฌ ์ ๋ฆฌํ์๋ค.
Linux๋ฅผ ์ฌ์ฉํ๋ค๋ณด๋ฉด ๊ทธ ์์์ ์ฌ์ฉ ๊ฐ๋ฅํ ํจํค์ง ๊ด๋ฆฌ์ ํ์ธ์ด ํ์ํ ๋๊ฐ ์๋ค. ์ฟ ๋ฒ๋คํฐ์ค๋ ๋์ปค๋ฅผ ์ฌ์ฉํ๋ฉด image๋ฅผ ํตํด pod container๋ฅผ ํธ๋ฆฌํ๊ฒ ๊ตฌ์ฑํ ์ ์์ง๋ง, ๊ทธ image๊ฐ ๊ตฌ์ฑ๋ OS๊ฐ ์ด๋ค ๋ฐฐ๋ณดํ์ธ์ง ํ์ธํ๊ณ ์ ํฉํ ํจํค์ง๊ด๋ฆฌ์๋ฅผ ์ฐพ์์ผํ๋ค.
๊ธฐ์กด Reflection ์ฌ์ฉ ๋ฐฉ์ Object to Map ์ปจ๋ฒํ ๋ฉ์๋์ ์ฑ๋ฅ ๋ฐ ์ ์ง๋ณด์์ฑ ๊ฐ์ ํ๊ธฐ ์ํ ๋ฐฉ๋ฒ
๋ก์ปฌ ์ฟ ๋ฒ๋คํฐ์ค ํ๊ฒฝ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ๋ฅผ ํ๋ฉด์ ๊ฒช์ Docker Image Pull ์๋ฌ. ์ด๊ฒ์ ํด๊ฒฐํ ์ ์์๋ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ํ ๊ธฐ๋ก.
LoadBalancer, Listener, Listener Rule ๊ทธ๋ฆฌ๊ณ Health Check์ ๋ํ์ฌ
๊ธฐ๋ณธ ํฌํธ ์ค์ ๊ณผ Public Key Retrieval is not allowed ์๋ฌ์ ๋ํ์ฌ
IntelliJ์์๋ง ๋ณด์ฌ์ผํ ์์ ๋๋ ํ ๋ฆฌ ๋ฐ ํ์ผ๋ค์ด ์๋ณด์ด๋ ํ์๊ณผ ์กฐ์น๋ฐฉ๋ฒ
Amazon Linux 2023 Machine Image ๊ธฐ๋ฐ ์๋ฒ์์ ๋ฉํ๋ฐ์ดํฐ ์กฐํ, MySQL ์ฐ๊ฒฐ ๋ฐฉ๋ฒ
Nuxt Framework ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๊ธฐ ์ํด ์์์ผํ ๊ธฐ๋ณธ์ ์ธ ์ปค๋งจ๋
nvm -v ์คํ์ ๋ฐ์ํ๋ ์๋ฌ์ ๋ํ ์กฐ์น๋ฐฉ๋ฒ
ํ๋์ repository๊ฐ ์๋ค. ์ด ์ ์ฅ์์ ์ฝ๋๋ A๋ผ๋ ๊ธฐ์กด ํ ํ๋ฆฟ ์ฝ๋์ B ํ ํ๋ฆฟ ์ฝ๋๋ฅผ ํฉ์น ํํ๋ค. ํ๋์ ๋๋ฉ์ธ ์์์ A์ B ํ๋ฉด์ด ์ ๊ธฐ์ ์ผ๋ก ์ฌ์ฉ๋์ด์ผํ๊ณ , A์ B์ ๊ฐ๊ฐ์ ์๋ ์คํ์ผ์ด๋ ๊ธฐ๋ฅ ์ฝ๋๋ฅผ ์ฝ๊ฒ ๊ฐ์ ธ๋ค ์ฐ๊ธฐ ์ํด ์ด๋ ๊ฒ ๋ณํฉ๋ ํํ๊ฐ ๋์๋ค. ๊ทธ๋ฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ด์ฆ๊ฐ ์ปค์ง๋ฉด์ ์ ์ ํจํค์ง ์ถฉ๋์ด ๋ฐ์ํ๊ฒ ๋์๋ค. ๊ทธ๋์ ์ฒ์๋ถํฐ ๋ค์ ์ค๊ณํ์ฌ ๋ถ๋ฆฌํ๋๊ฒ์ด ์ ์ ํ๋ค๊ณ ํ๋จํ๊ณ , ์ด ๋ Monolithic Repository ๊ตฌ์กฐ๋ฅผ ์ ์ฉํ๊ฒ๋์๋ค.
์ด๋ Github ์ ์ฅ์๋ฅผ Forkํ์ฌ ๋์ repository๋ก ์ฎ๊ธด ํ ์ด ์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ๋ช๋ฒ์ commit & push ์์ ์ ํด์๋ค. ์ด๋๋ ๋ฉ์ธ(Forkํ๋ ๋์ Repository) ์ ์ฅ์์์ ๊ทธ ๋์ ์ด๋ฃจ์ด์ง ์์ ๋ด์ญ์ ๋์ repository์ ๋ฐ์ํด์ค์ผํ ์๊ธฐ๊ฐ ์๋ค. ์ด ๋ vs code๋ก ์งํํ๋ ์์ ๊ณผ์ ์ ์์๋๋ก ๊ธฐ๋กํด๋ณด์๋ค.
์ธํ ๋ฆฌ์ ์ด๋ฅผ ํตํ Git ์์ ์ ์ข ์ข ๊ฒช์ ์ ์๋ CRLF/LF ๊ฐํ ๋ณ๊ฒฝ ๊ด๋ จ ๋ฌธ์ ์ ๊ทธ ํด๊ฒฐ๋ฒ
Source Push infinite loading
How to Enable Session Clustering in "Low-level Spring Framework" and "Redis with Encryptionโ
Thinking about user usability for 'input boxโ
Policy to block certain IP access to the console or CLI
'Commands used in Redis and summary of 'data structure'
Components of 'ElastiCache for Redisโ
Basic concepts about 'Redisโ
Automatically reflect static resource changes
Apply changes to java files without restarting the server