일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- ORM
- CS
- JPA
- computer science
- 자바
- 배포
- 웹 서버
- spring boot
- 영속성 컨텍스트
- mysql
- 스프링 배치
- spring batch
- Spring Security
- vm
- spring cloud
- 컨테이너
- 데이터베이스
- HTTP
- Container
- Spring
- 스프링 부트
- CI/CD
- web server
- 스프링
- 백엔드
- Java
- virtualization
- 가상화
- 도커
- 스프링 시큐리티
- Today
- Total
목록DevOps (23)
개발 일기
https://www.examtopics.com/exams/amazon/aws-certified-solutions-architect-associate-saa-c02/view/ AWS Certified Solutions Architect - Associate SAA-C02 Exam - Free Exam Q&As, Page 1 | ExamTopicsA company's application runs on Amazon EC2 instances behind an Application Load Balancer (ALB). The instances run in an Amazon EC2 Auto Scaling group across multiple Availability Zones. On the first day o..

AWS EC2를 생성하면 아래와 같이 퍼블릭 IP, 프라이빗 IP 그리고 각각의 DNS 이름까지 할당되어 나온다.이전에 Public IP와 Private IP에 대해서 알아봐서 이제 그래서 EC2에서의 IP에 대해 조금 더 깊이 이해해보고자 한다. EC2의 퍼블릭 IPv4 주소와 프라이빗 IPv4 주소처음에 나의 의문은 퍼블릭 IP 밑에 여러 컴퓨터가 있을 수도 있는데 어떻게 하나의 인스턴스에 접속할 수 있는거지?라는 생각을 했었다. 알고보니 AWS의 퍼블릭 IP는 NAT 없이 직접 인스턴스에 할당되어 퍼블릭 IP가 인스턴스와 1:1 매핑되었기 때문에 가능했던 것이다. 그래서 보안그룹을 통해 포트와 접속하는 IP를 열어 놓으면 그 인스턴스 내부로 접근할 수 있게 되는 것이였다. 그러나 프라이빗 IP를 통..

최근 다양한 AWS Service들을 접하게 되면서 기본적인 것들도 짚고 넘어가야 겠다는 생각이 점차 들게 됐다.VPC와 Subnet 설정 등 매번 그냥 뭔지도 모르고 블로그 따라서 설정하고 default로 선택하고 넘어가고 이래서는 안되겠다는 생각이 들어 우선 자주 등장하는 개념들인 Region, AZ에 대해서 정리해보고자 한다.이 아키텍처를 하나씩 뜯어 보면서 차례대로 이해해보자.RegionAWS를 써보면 알겠지만 Region별로 서비스(리소스)를 제공한다. 그래서 특정 Region에는 제공하지만 또 어디서는 그 서비스를 제공하는 경우를 확인할 수 있다.클라우드 서비스는 사용자가 물리적인 데이터 센터를 고려하지 않도록 논리적인 컴퓨터를 제공하는데 당연하게도 그 기반으로 어딘가에는 결국 물리적 서버가 ..

정리하게된 계기이번에 nginx-react(front)-spring(back)을 도커를 통해 각각을 EC2에서 컨테이너로 작동시키고자했다. 그러나 프론트의 랜더링에 대한 이해가 부족했던 탓인지 Nginx의 이해도가 부족했던 탓인지 하면서 계속 80포트로 받아서 백엔드의 요청은 잘 받았지만 프론트로는 요청을 제대로 보내주지 못했다. 사실 이러한 단순한 문제로 2일을 잡아먹었다.그래서 어제 최근 학교에 선배 특강을 오셨던 쿠팡 백엔드 개발자 선배님께 따로 연락을 드렸고 도움을 받았다.선배님의 답변을 통해 다시 시도했고3개의 컨테이너가 각각 하나의 어플리케이션을 가지고 컴포즈를 통해 잘 동작하고 OAuth2.0 또한 아주 잘 작동했다 ㅎ그러나 이때 질문을 하던 과정에서 선배님께서 하나의 미션? 질문?을 던져주..

공부하게된 계기Docker를 사용하다보니 컨테이너 런타임(Container Runtime)이라는 단어를 종종 듣게 됐다. 도커 관련 개발 블로그를 봐면 종종 컨테이너 런타임이라는 용어를 당연하다는 듯이 쓰는 것을 봤다. 처음에 그냥 뭐 컨테이너가 돌아가고 있는 것이나 컨테이너가 돌아가기 위한 소프트웨어? 환경? 이런 것이라고 대강 이해하고 넘어 갔었는데 Kubernetes에 관한 영상을 봤는데도 쓰는데 뭔가 자세히 한번 짚고 넘어가야겠다는 생각이 들어 정리해보게 됐다.도커 아키텍처(Docker Architecture)전에도 한번 다뤘지만 다른 그림으로 도커의 아키텍처를 다시 보자.도커 클라이언트-서버 아키텍처우선은 이게 전에 봤던 것과 유사하다. 기본적으로 도커는 클라이언트-서버 구조로 동작하는데 우선..

쿠버네티스에 대해 공부하기 시작하면서 현업자의 인터뷰를 보면서 대강 뭐하는 애인지 정도 편하게 봤다. 이것을 발판 삼아 앞으로 잘 배워봐야겠다. 직접 써봤듯이 Git Actions와 같은 도구를 통해 CI/CD 배포를 자동화할 수 있었다. 그런데 이때 자동으로 배포한 것에서 감시까지 자동화 했을 때 에러가 난다면 조치는 누가할까? "사람"이 한다. 즉, 자동화는 품질이 사람에 의해 좌지우지가 되는 것이다.이때 배포, 감지에서 더 나아가 조치까지 자동화하겠다는 것이 "오케스트레이션"이란 개념이다.장애가 났어? 그럼 내가 살려줄게, 과부화 났어? 그럼 내가 알아서 Scale Out 해줄게 이러한 것이 추가된 것이다. 소프트웨어를 이미지로 만든 것이 ISO이다. 예를들어 Window OS를 설치하기 위해서는 ..

도입한 계기기존에 나는 Spring Boot로 구현한 백엔드 서버를 배포하는 과정은 처음에는 수작업으로 Dockerfile을 작성하고, 빌드한 이미지를 Docker Hub에 업로드한 후 EC2 서버에서 이를 pull하는 방식으로 진행했다. Nginx 역시 config 파일과 Dockerfile을 작성하고 빌드하여 동일한 방식으로 Docker Hub에 푸시하고 EC2에서 pull해오는 과정을 거쳤다. 이러한 과정을 하나하나 수동으로 처리하다 보니, 소스 코드에 수정이 있을 때마다 수정된 버전을 재배포하기 위해 반복적으로 이미지를 삭제하고, 컨테이너를 지우는 작업을 수행해야만 했다. 이렇게 적으면서만 봐도 너무 번거럽고 귀찮은 작업이다.이러한 반복적인 배포 과정을 자동화하기 위해 Jenkins나 GitHub..

이전에 왜 Nginx가 이 세상에 나오게 됐는지 알아봤으니 이제는 Nginx의 기능에 대해 하나씩 알아가볼 예정이다.가장 대표적인 기능이라고 생각드는 리버스 프록시에 대해 먼저 다뤄보고자한다.우선 Proxy Server에 대해 이해하고 Forward Proxy 그리고 Reverse Proxy에 대해서 알아보고자 한다.이때 Reverse Proxy가 Nginx와 같은 웹 서버 역할을 하므로 Reverse Proxy가 가질 수 있는 특징(장점)이 곧 웹 서버인 Nginx가 가질 수 있는 특징(장점)이라고 볼 수 있다.프록시 서버(Proxy Server)우선 '프록시'란? '대리인'을 뜻한다. 뭔가를 대신해준다는 의미인 것 같다.그렇다면 프록시 서버란 무엇일지 생각해보면 대신 처리해주는 서버 라고 생각해볼 수..