์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- aws ์ฟ ํฐ
- private subnet ec2 ๋ก์ปฌ ์ ์
- ์ ํจ์ค ๋น๋ ์ค๋ฅ
- ํ๋ก๊ทธ๋๋จธ์ค
- nGrinder
- ํ์ดํผ๋ฐ์ด์
- @RestControllerAdvice
- ๋ค์ค ์ปจํ ์ด๋
- Entity
- ์๋ฒ ํฐ์ง๋ ๋์ปค ์ฌ์คํ
- JPA
- s3 ์ด๋ฏธ์ง ์ ์ฅ
- Codedeploy ์ค๋ฅ
- docker
- redis ์กฐํ
- s3 log ์ ์ฅ
- prod docker-compose
- ์๋ฐ
- aws saa ํฉ๊ฒฉ
- ์คํํ๋ ๋ฏธ์ค
- docker ps -a
- docker compose
- ํ๋ก๊ทธ๋๋จธ์ค ์ปฌ๋ฌ๋ง๋ถ
- s3 ์ด๋ฏธ์ง ๋ค์ด๋ก๋
- redis ํ ์คํธ์ฝ๋
- docker-compose kafka
- AWS Certified Solutions Architect - Associate
- ํ๋ก๊ทธ๋๋จธ์ค ํฉ์นํ์์๊ธ
- ์ ํจ์ค ์ค์ผ์ค๋ฌ
- Kafka
- Today
- Total
๋ชฉ๋ก๐ฃ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐บ๐บ๐ถ๐ป๐ด๐ป/๐๐จ๐๐ค๐๐ซ (6)
๐๐ข๐๐ โ๐๐๐ ๐๐๐ก๐๐ ๐๐๐๐โง
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/3Pevd/btsFZFnDvDn/b2DyacU2hljYmYMe2MUnHK/img.png)
Docker์ Kafka๋ฅผ ์คํ์์ผ ํ ํฝ ์์ฑํ์ฌ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๊ณ ๋ฐ์๋ณผ๊ฒ์ด๋ค. Kafka๋ฅผ ๋์ปค์ ๋์ฐ๊ธฐ ์ํด ์ปดํฌ์ฆ ํ์ผ์ ์์ฑํ๋ค. ๋์ปค ์ปดํฌ์ฆ ํ์ผ์ ํด๋น ๋ด์ฉ์ ์ถ๊ฐํด์ค๋ค. version: '3.8' services: zookeeper: image: wurstmeister/zookeeper:latest container_name: zookeeper ports: - "2181:2181" kafka: image: wurstmeister/kafka:latest container_name: kafka ports: - "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 vo..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/EHonH/btsFLTllgWx/YwCMVW67i8HEd3NRe9NpP0/img.png)
์ด์ ๊น์ง ์ค์ ํ Docker Compose ํ์ผ์ EC2์ ๋ฐฐํฌ๋ฅผ ํด๋ณด์. Docker Compose๋ฅผ ๋ฐฐํฌํ EC2 ๋ฅผ ์์ฑํํ ์ธ์คํด์ค์ ์ฐ๊ฒฐํ๋ค. ssh ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐํ๊ธฐ ์ํด์๋ ๋ค์ด๋ฐ์ pem ๊ฒฝ๋ก์์ ํฐ๋ฏธ๋ ์คํํ ssh -i "ํค.pem" ~ ์ด ๋ช ๋ น์ด๋ฅผ ๋ณต๋ถํ๋ฉด ๋๋ค.ํ๋ฉด์ ๋ณด์ด๋ EC2 ์ธ์คํด์ค ์ฐ๊ฒฐ๋ก ํด๋ ์ ์์ด ๊ฐ๋ฅํ๋ค. ํฐ๋ฏธ๋์์ ๋ค์ด๋ฐ์ pemํค ๊ฒฝ๋ก๋ก ๊ฐ์ ssh๋ก ์ ์ํ ์ ์๋ ๋ช ๋ น์ด๋ฅผ ๋ถ์ฌ๋ฃ์.ํ์๋ ๋ช ๋ น์ด๋ฅผ ๋ฃ์๋๋ฐ Permissions 0644 for 'ryusun-creditmarket.pem' are too open. It is required that your private key files are NOT accessible by others. This priva..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ncEOx/btsFJ7dKrM5/igZYIBiGDIJL9DoACHYTd1/img.png)
ํ์๋ ๋ก์ปฌํ๊ฒฝ์์ ์ธํ ๋ฆฌ์ ์ด ๋๋ฒ๊น ์ ์ฝ๊ฒ ํ๊ธฐ ์ํด ๋ก์ปฌํ๊ฒฝ์์๋ Redis์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ปจํ ์ด๋๋ง ๋์ ๋ค. ํ์ง๋ง ํด๋ผ์ฐ๋ ์๋น์ค์ ๋ฐฐํฌ๋ฅผ ์ํด์๋ ์คํ๋ง๋ถํธ ์ปจํ ์ด๋๋ ๋์์ค์ผ ํ๋ค. ์ด์ํ๊ฒฝ์ ์ํ Redis + Mysql + Spring Boot ์ปจํ ์ด๋๋ฅผ๋์๋ณด์. ์ฐ์ ์ด์ํ๊ฒฝ์์ ์ฌ์ฉํ Docker Compose ํ์ผ์ ์์ฑํ์. ์ด์ ์ ๋ก์ปฌ ํ๊ฒฝ์ ์ํด ์์ฑํ๋ docker-compose-local.yml๊ณผ Dockerfile๊ณผ ๋์ผํ ๊ฒฝ๋ก์ docker-compose.yml ํ์ผ์ ์์ฑํด ์ค๋ค. docker-compose.yml version: "3.8" services: creditmarket-redis: # ์๋น์ค๋ช container_name: creditmarket-redis #..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bksX5d/btsFEg31W1F/wlwbcwsDIfyfKY01F5j3W0/img.png)
ํ์๋ ํ๋ก์ ํธ์์ redis ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด docker-compose ํ์ผ์ ์ฌ์ฉํ์ฌ redis ์ปจํ ์ด๋๋ mysql ์ปจํ ์ด๋ 2๊ฐ๋ฅผ ๋์ธ๋ ค๊ณ ํ๋ค. ์ฐ์ ๋์ปค์ ๋์ปค ์ปดํฌ์ฆ์ ์ฐจ์ด๋ฅผ ์์๋ณด์. Docker Docker๋ ๋จ์ผ ์ปจํ ์ด๋๋ฅผ ๋น๋, ์คํ ๋ฐ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋๊ตฌ Docker ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง ๋น๋, ์ปจํ ์ด๋ ์คํ, ๋ก๊ทธ ํ์ธ, ์ปจํ ์ด๋ ์ค์ง ๋ฑ์ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋จ์ผ ์น ์๋ฒ ์ปจํ ์ด๋๋ฅผ ์คํํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ปจํ ์ด๋๋ฅผ ๋์ธ ๋ Docker๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. Docker Compose Docker Compose๋ ์ฌ๋ฌ ์ปจํ ์ด๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๊ณ ์คํํ๊ธฐ ์ํ ๋๊ตฌ ์ฌ๋ฌ ๊ฐ์ ์๋น์ค, ๋คํธ์ํฌ, ๋ณผ๋ฅจ ๋ฑ์ ํฌํจํ๋ ๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์ ์คํ์ ์ ์..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/96vjV/btsFFSBjWRD/wcrHDmdwqNcoYC1fw1s3kk/img.png)
๋์ปค์ ์ฅ์ - ํ์ดํผ ๋ฐ์ด์ ๊ตฌ์กฐ๋ฅผ ํ ๋๋ก ๋ฑ์ฅํ์ผ๋ฉฐ, VM๋ณด๋ค ํจ์ฌ ๊ฐ๋ณ๊ฒ ๋์ํ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ ์ ๋ฆฌ! ์ด๋ฏธ์ง - ์ฝ๋, ๋ฌํ์, ์์คํ ๋๊ตฌ, ์์คํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ์ค์ ๊ณผ ๊ฐ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ๋๋ฐ ํ์ํ ๋ชจ๋ ๊ฒ์ ํํจํ๋ ํจํค์ง - ์ปจํ ์ด๋๋ ๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋ ๋ฆฝ๋ ๊ณต๊ฐ์์ ์คํ ํ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ์ - ์ฆ ํ๋ก๊ทธ๋จ์ ์คํํ๋๋ฐ ํ์ํ ์ค์ ์ด๋ ์ข ์์ฑ๋ค์ ๊ฐ์ง๊ณ ์๋ค. - ์ปจํ ์ด๋๋ ์ด๋ฏธ์ง ์ธ์คํด์ค์ด๋ฉฐ, ํ๋ก๊ทธ๋จ์ ์คํํ๋ค. Docker Compose๋ - ๋ฉํฐ ์ปจํ ์ด๋ ๋์ปค ์ดํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๊ณ ์คํํ๋ ๋๊ตฌ - Application, Databse, Redis, Nginx ๋ฑ ๊ฐ ๋ ๋ฆฝ์ ์ธ ์ปจํ ์ด๋๋ก ๊ด๋ฆฌํ๋ค๊ณ ํ์๋ ๋ค์ค ์ปจํ ์ด๋ ๋ผ์ดํ ์ฌ์ดํด์ ์ฌ๋ฌ๊ฐ์ ๋์ปค ์ปจํ ์ด๋๋ก๋ถํฐ ์ด๋ฃจ์ด์ง ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/rx1ZC/btsFy8qh1Ux/YkclqIQqlLn2NHaHKBtw6K/img.png)
sudo docker start [Container ID] mysqlMySQL๋ฅผ Docker ๋ก ๋์ฐ๋ ๊ฒฝ์ฐ, ์๋ฒ๊ฐ ํฐ์ง ๋๋ง๋ค ์ปจํ ์ด๋๋ฅผ ์ฌ์คํํ๋ ๋ฐฉ๋ฒ์ด๋ค. 1. AWS ์๋ฒ ์ฌ๋ถํ ํ๊ธฐ์ฐ์ AWS ์์ ์๋ฒ๋ฅผ ์ฌ๋ถํ ํ์์ฌ๋ถํ ์ ํ๊ฒ๋๋ฉด ์ปจํ ์ด๋๋ฅผ ์ฌ์คํ ํด์ค์ผํ๋ค. 2. ์ปจํ ์ด๋ ์ฌ์คํํ๊ธฐssh๋ก ec2์ ์๊ฒฉ ์ ์ํ๋ค.sudo docker ps -aํ์ฌ ๋์ํ๊ณ ์๋ ์ปจํ ์ด๋ ์ํ๋ฅผ ํ์ธํ๋ค. sudo docker ps -aa์ต์ ํ๋ฉด running ์ํ์ ์ฃฝ์ ์ํ ๋ชจ๋ ์ํ์ ์๋ ์ปจํ ์ด๋ ๋ค ํ์ธ ๊ฐ๋ฅํ๋ค. mysql ์ด exited ์ํ ๋ ๊ฒ์ ํ์ธํ๊ณ sudo docker start [Container ID]๋ก mysql ์ฌ๊ธฐ๋ํ๋ค.sudo docker ps ๋ก ์คํ์ํจ ์ปจํ ์ด๋๊ฐ ์ ๋..