일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AWS
- MongoDB DataModel
- AWS NAT
- MongoDB
- AWS #CloudTrail #AWS로그
- codepreosso
- 코드프레소
- AWS NAT gateway
- Loard Balancer
- SrpingBoot
- codepresso
- Amazon Web Service
- SpringProject
- AWS CloudTrail
- MongoDB Reference
- 몽고DB
- EC2 배포
- MongoDB 참조
- 스프링 게시판
- aws ec2
- AWS 요금
- ubuntu 배포
- 소프트웨어 개발과 테스트
- Datamodel
- AWS Route53
- EC2 생성
- VPC EC2
- 레디스설치
- JPA연관관계
- AWS VPC
- Today
- Total
목록분류 전체보기 (39)
정환타 개발노트
Spring Boot + Redis 이번에는 기존의 Spring boot 프로젝트에 Redis를 추가하려 한다. 의존성 추가 먼저 pom.xml에 다음과 같이 dependency를 추가해준다. org.springframework.boot spring-boot-starter-data-redis 2.2.1.RELEASE Redis 서버 설정 application,properties 파일에 다음과 같이 redis 설정값을 추가해준다. + 만약 로컬이 아닌 외부 서버에서 사용한다면 host에 localhost 대신 ip를 입력해주면 된다. 필자는 ec2 ubuntu 서버를 이용하여 redis 서버로 사용하였다. 2020/01/29 - [Dev-Database/NoSQL] - Redis 설치 (Ubuntu 환경)..
Redis 설치 레디스를 우분투 서버에 설치를 하려한다. EC2에 우분투 인스턴스를 하나 만들어서 레디스 서버로 활용을 하려고 하는데, 서버 환경을 변경할 수 있으니 기록하는 습관이 익숙해지도록 작성을 해보겠다. 1. SSH로 접속후 apt update sudo apt-get update sudo apt-get upgrade 2. apt를 이용하여 redis 설치 sudo apt-get install -y redis-server 3. Redis 메모리 할당. 1. vmstat를 이용하여 서버의 메모리 확인 vmstat -s 필자는 사용가능 메모리가 1GB이다. 따라서 각자의 메모리 환경에 맞게 redis설정 파일에서 maxmemory를 지정한다. sudo vim /etc/redis/redis.conf v..
소프트웨어 테스트 소프트웨어를 개발한다는 것은 프로그램 언어와 개발환경만 갖추어져 있다면 누구나 가능하다. 하지만 개발을 할 수 있는가 없는 가의 문제가 아닌, 개발된 소프트웨어가 제대로 된 기능을 하는가에 집중해야 한다. 예를들어 얼마나 제대로 작동을 하는지, 성능은 만족할 만 한지, 안정성과 확장성이 충분한지 이다. 따라서 위의 판단은 테스트를 통해서 검증을 할 수 있는데 기존의 전통적인 테스트 방식은 소프트웨어 개발이 종료된 후 출시 전에 테스팅을 하는 방식을 사용하였다. 하지만 문제점은 초기에 발견하여 해결 하는 것이 더 비용절감이 되고 효율적이기에 최근에는 개발 단계별로 테스트하는 방식을 사용하여 개발시에도 품질을 다듬어가는 개발 모델을 선호하고 있다. 테스트 모델 V-모델 V-모델은 폭포수 모..
이번에는 CI 환경을 구성하려한다. CI란 코드 버전 관리 시스템에 Push가 되면 자동으로 Test, Build과정을 거쳐 Build 결과까지 서버에 자동배포하는 과정을 말한다. 여기서 가장 중요한 것은 Test 과정까지 자동화하는 것인데 지속적인 통합관리를 위해서는 테스트 코드가 구현되어 있어야한다. 그래서 CI 도구로 Jenkins를 사용하려고 한다. Jenkins Jenkins는 CI툴 중 하나이다. Jenkins를 이용해서 Build 자동화나 자동화된 테스트과정을 모두 할 수 있기에 이번에는 Jenkins를 사용하도록 하겠다. EC2에 Jenkins 설치 먼저 Jenkins를 사용할 서버가 필요한데 이번에는 EC2 인스턴스를 이용해서 Jenkins를 서버에 올리도록 하겠다. 먼저 EC2 인스턴스..
조대협 구글에 필요 자료를 구글링을 하다보면 가장 많이 보이는 이름이 '조대협'이다. 조대협이라는 분은 빅데이터부터 시작해서 클라우드, 아키텍처, 성능과 튜닝, 솔루션 등 많은 분야에 걸쳐 많은 글을 작성하셨다. 원래는 자바 개발자이지만 끊임 없이 공부를 하시는 모습에 놀라고는 했다. 따라서 이번에는 조대협님의 '소프트웨어 개발과 테스트'라는 책을 읽으며 정리한 내용을 블로그에 작성하려고 한다. 소프트웨어 개발과 테스트 책은 2015년에 출판되었지만 개인적으로는 지금봐도 개발자가 보기에 좋은 내용이 많다고 생각한다. 구성은 애자일 개발 방법론, 태스크 관리, JIRA, 소프트웨어 테스트, 소스코드 관리와 빌드, 배포 등의 내용이 있다. 조대협님 처럼 열정을 태워서 열심히 해보려 한다! 이상 무!
이번에는 AWS Route53을 기존의 웹서버와 연결 할 것이다. Route53은 기본적으로 DNS를 제공한다. DNS란 Domain Name System으로 우리가 일반적으로 접속하는 네이버, 티스토리 등은 원래 xxx.xxx.xxx.xx와 같은 Public IP 이지만 DNS를 이용해 naver.com,tistory.com 과 같이 IP주소가 아닌 흔히 아는 주소(도메인)로 접속할 수 있게하는 시스템이다. 쉽게 말해 도메인과 Public IP를 연결해 주는 서비스라고 생각하면 되는데, Route53은 도메인만 연결해주는 것 뿐 아니라, 트래픽을 정상적인 엔드포인트로 라우팅하거나 해당 애플리케이션 등의 리소스의 상태를 확인 할 수 있다. 도메인 등록 1. 가장 먼저 해야할 일은 도메인을 등록하는 것이다..
CloudTrail 첫번째 AWS 포스트로 ClourTrail을 사용하여 AWS 인프라 계정활동과 관련 작업들을 모니터링 할 수 있도록 설정하였다. 따라서, 필자의 S3 버킷에는 계정활동에 관련된 로그들이 계속 쌓이게 되었고 CloudTrail 콘솔에서도 관련 로그를 확인 & 다운로드(.csv)할 수 있었다. (그러나 S3 버킷의 프리티어 사용량이 넘었기 때문에 일시적으로 중지를 하려 한다.) 관련된 로그에 대하여 필자는 파일로 다운을 받아 확인을 하였다. 로그파일 살펴보면 Event ID, time을 확인 할 수 있고 Username에서 확인을 해보면 ELB와 같이 자동으로 관리를 해주는 서비스가 했던 흔적까지도 확인할 수 있다. Event name에서는 발생한 이벤트 이름이 저장되어있으며 사용한 Re..
이번에는 부하분산 처리를 하기 위한 AWS 기능 중 하나인 Auto Scaling을 적용할 것이다. Auto Scaling Auto Scaling은 EC2 인스턴스의 트래픽에 따라 추가적으로 인스턴스를 생성하고 자동으로 삭제하여 최적의 서버환경을 제공하는 서비스이다. 일반적으로 이전에 적용한 ELB와 함께 사용된다. ELB와 함께 사용이 된다면 트래픽이 많아질 경우 자동으로 Auto Scailing 되어 인스턴스가 새로 생겨나게 되고 ELB는 들어오는 트래픽들을분산하여 자동으로 부하분산 처리를 할 수 있다. 일단 먼저 EC2의 AMI(Amazon Machine Image)가 필요하다. AMI 생성 1. [서비스] -> [EC2] -> [인스턴스] 에서 Auto scaling을 적용할 인스턴스의 이미지를 ..
VPC 구성, 웹서버, DB서버 구축이 끝났다면 ELB를 생성할 것 이다. Load Balancing 로드밸린싱 기술은, 네트워크 트래픽을 하나 이상의 서버 혹은 장비로 분산하기 위해 사용되는 기술이다. 로드밸런싱은 온프레미스 환경에서부터 사용해왔으며, 로드밸런싱을 수행하는 소프트웨어나 하드웨어를 로드밸런서(Load Balancer)라고한다. 로드밸런싱을 통해서 외부에서 발생하는 많은 인터넷 트래픽을 여러 웹 서버나 장비로 부하를 분산처리할 수 있다. 핵심은 분산처리 기술이다. 우리의 웹서버로 많은 트래픽이 발생한다면 기본적으로 구성된 서버는 트래픽이 많아 질 수록 부하를 감당하기 힘들 것이다. 일반적으로 트래픽 증가를 처리하는 방법은 두가지이다. 첫번째는 Scale-Up으로 CPU, 메모리, 디스크 등..
Replication 데이터베이스의 안정성과 관련된 기능중 Replication에 대해 공부를 하였다. Replication은 여러가지 DB 서버가 있을 때, 각각의 서버가 동일한 데이터를 가지도록 하는 기술을 말한다. (사실상 백업과 성능향상을 위해 DB를 말그대로 여러대의 서버에 '복제'하는 기술) 위의 기술을 통해 데이터 부하 분산, 백업과 보안에 관련된 문제를 해결할 수 있다. Master And Slave Replication과 관련된 핵심 키워드는 마스터(Master)와 슬레이브(Slave)이다. 마스터는 원본 데이터가 위치하는 곳을 말하며. 슬레이브는 그 원본(마스터)을 복제한 곳을 말한다. 마스터와 슬레이브를 구분은 읽기와 쓰기의 차이에서 확인 할 수 있다. 일반적으로 데이터베이스는 읽기(..