- DI
- static
- select
- join
- PYTHON
- spring security 6
- 문자열
- spring mvc
- 자바
- 스프링
- jpa
- SSL
- Django
- 1차원 배열
- AWS
- string
- 스프링부트
- Docker
- hibernate
- springboot
- java
- 데이터베이스
- 프로그래머스
- ORM
- nginx
- spring
- spring boot
- sql
- @transactional
- mysql
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
목록Docker (9)
개발하는 자몽

📌공유도 있지만, 기록이 더 큰 목적... Windows 11, Gradle/SpringBoot.AWS에서 "아.. Fargate 좋은데... 안쓰나... 진짜 좋은데..." 라고 계속 홍보하는 것 같아서 이번 프로젝트에서는 도대체 얼마나 좋길래? 하고 사용해봤다. 후기! EC2 보다 비용이 좀(꽤) 나가지만, 서버 설정이 편리하다. 서버 설정 자체는 신경을 안쓰게 되긴하는데 인프라는 건들게 너무... 많다... 자세히는, 퍼블릭 서브넷에 배포한다면 정말 금방 끝낼 수 있다. 하지만 프라이빗 서브넷에 배포한다면 많은 설정들이 기다리고 있다. (이때 배포하는 과정에서 Private Link 관련으로 삽집을 많이해서 기록용으로 작성하게 됐다) 불편한 점이 꽤 있다. EC2로 배포하면 당연했던 것들이 서..

기존에는 EC2 우분투 환경에서 운영되는 프로그램들의 로그를 AWS CloudWatch에 전송할 수 있도록, 우분투에서 CloudWatch Agent 패키지를 설치하고 관련 설정을 진행했다. 이번에는 EC2(마찬가지로 우분투 환경)에서 Docker 컨테이너로 띄운 프로그램의 로그를 AWS CloudWatch에 전송할 수 있도록 설정을 해보자. 관련 공식 자료는 여기를 참고하자. (딱히 좋은 글인 것 같지는 않다...) CredentialsEC2 상에서 운영되는 Docker 컨테이너의 로그를 AWS CloudWatch에 전송하기 위해서는 `awslogs` 로깅 드라이버를 사용해야 한다. 이를 위해 자격 증명(credentials)이 필요하며, 해당 자격 증명을 Docker 데몬에 전달해야 한다. 자격 증..
적용 전 준비할 코드 nginx.conf worker_processes auto; events { worker_connections 1024; } http { ... # for load balancing upstream project_server { server project_server2:8000; server project_server1:8000; keepalive 1024; } server { listen 80; location / { proxy_pass http://project_server/; # upstream 이름 proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ... } ... ..
Docker image, container image 이미지는 도커 컨테이너 생성에 관한 명령이 담긴 템플릿(read-only)입니다. 애플리케이션을 실행하는데 필요한 소스 코드, 런타임 환경, 시스템 라이브러리 등 모든 설정들이 포함되어 있습니다. https://docs.docker.com/get-started/overview/#images container 도커 컨테이너는 이미지의 실행 가능한 인스턴스로, 도커 이미지를 기반으로 코드를 위해 격리된 공간을 의미합니다. https://docs.docker.com/guides/walkthroughs/what-is-a-container/ https://docs.docker.com/get-started/overview/#containers image와 con..
static file 관리Django 프로젝트를 배포할 때 `DEBUG` 설정은 `False`로 설정하게 된다. 이미지가 저장된 경로로 API 요청하는 것에 대해서 `True`일 때는 `MEDIA_ROOT`와 `MEDIA_URL` 설정만 하면 이미지가 저장된 경로로 API 요청을 했을 때 200 응답을 받을 수 있다. 하지만 `False`일 때 요청을 하면 404 에러가 발생한다. static 파일 관리는 `INSTALLED_APPS`의 `django.contrib.staticfiles` 모듈이 담당하고 있는데, settings.py의 `DEBUG`를 `False`로 바꾸면 동작하지 않는다. 따라서 static 파일의 처리는 Apache나 Nginx와 같은 웹 서버가 담당하게 된다. 관련 내용은..
→😎Nginx의 로드 밸런싱 기능을 사용하게 된 이유는 아래 글을 참고😎 서버 부하 테스트 with Locust 개발 중인 애플리케이션에 대해서 조언받는 분에게 부하 테스트(Load Test)를 해보았냐는 질문을 받았다. 항상 개발을 하는 것과 해당 기능을 테스트하는 것에만 집중했지, 서버 그 자체를 테스트 backend-jaamong.tistory.com 위와 같은 이유로 로드 밸런싱을 적용하게 되었다. Nginx를 사용한 이유는 적용 방식이 간단하고 L4, L7 스위치로 하는 방법과 달리 비용이 들지 않기 때문이다. 그리고 Nginx를 도입하기 전 같은 기능을 제공하는 AWS의 ELB(Elastic Load Balancing)와도 비교해 보았다. 자세한 내용은 잘 정리해 둔 아래 글을 참고! AWS ..
목적`django-crontab`을 사용하여 쉽게 `crontab`을 적용해 보고, 도커 컨테이너에서 실행시켜 보자! cron & crontab & cronjob`cron` : 실행 도구`crontab`: `cron`이 실행할 일(job)이 담긴 파일`cronjob`: `crontab`에 작성한 일(job) django-crontab 설정 with Docker`pip`로 `django-crontab`을 설치합니다. pip install django-crontab 설치 후 `settings.py`에 아래 코드를 추가합니다.INSTALLED_APPS = [ ... 'django_crontab',]...CRONJOBS = [ ('*/30 * * * *', 'app.cron.hello', '>> /..

이전 포스트 [Spring/EC2/MySQL] SpringBoot와 EC2 - Docker - MySQL 연동 이전 포스트 [AWS EC2/Docker] EC2 생성, EC2에 Docker 설치, Docker에 MySQL 띄우기 목표 AWS EC2 인스턴스를 생성하고 EC2 상에서 Docker를 설치해 보고 Docker에서 MySQL을 띄워보자 AWS EC2 인스턴스 생성하기 1. AWS backend-jaamong.tistory.com 이번에는 Docker에서 SpringBoot를 띄워보자. 띄울 SpringBoot에는 당연히 의존성에 spring web이 있어야 한다. implementation 'org.springframework.boot:spring-boot-starter-web' 1. Docke..

목표 AWS EC2 인스턴스를 생성하고 EC2 상에서 Docker를 설치해 보고 Docker에서 MySQL을 띄워보자 AWS EC2 인스턴스 생성하기 ❗ 24년도에 인스턴스 생성 과정을 다룬 포스트를 다시 작성했으니, 최신 글을 원한다면 여기로! 1. AWS 로그인 후 EC2를 선택하고 아래 화면에서 인스턴스 시작을 클릭한다. 2. 원하는 이름을 입력한다. 3. 우분투 상에서 진행할 예정이므로 OS는 Ubuntu를 선택하고, 22.04 LTS 버전을 선택한다. 4. 인스턴스 유형 중에서 t2.micro는 프리티어로 사용할 수 있다. 하지만 Docker를 띄우고 애플리케이션까지 운영하려면 메모리가 부족할 가능성이 높아서 t3.small로 선택했다. 5. 키 페어가 없다면 새 키 페어 생성을 클릭하여 생성한..