본문 바로가기
반응형

2018/0714

1. AWS Beanstalk을 이용한 성능 튜닝 시리즈 - DB Connection Pool 안녕하세요 이번 시간에는 AWS Beanstalk을 이용한 웹 어플리케이션 서버 성능 튜닝 시리즈를 시작합니다. 모든 코드는 Github에 있으니 참고하시면 됩니다. 신규 서비스를 출시할때마다 성능 테스트와 튜닝을 꼭 진행해야합니다. 이번에 신규 프로젝트를 준비하면서 이것 저것 시도해본 내용을 샘플 예제로 정리합니다. 0. 테스트 환경 테스트 환경은 아래와 같습니다. AWS Elastic Beanstalk c5.large 1대 t2.large 보다 저렴합니다. AWS Aurora RDS AWS와 같은 클라우드 환경에 최적화 r4.large AWS Aurora 도입전에 알아야 할 몇가지 사실 참고 Spring Boot 2.0.3 DataSource Hikari CP 설정 X (기본값) 사용한 쿼리 sele.. 2018. 7. 17.
Travis CI와 AWS ElasticBeanstalk 연동하기 안녕하세요? 이번 시간에는 Travis CI를 이용하여 Spring Boot를 AWS Beanstalk에 배포하는 과정을 소개드리겠습니다. 모든 내용은 Github에 있기 때문에 코드를 참고하시면 도움이 되실것 같습니다. AWS에서는 heroku와 같은 일체형 서비스를 지원하고 있습니다. 그게 바로 AWS ElasticBeanstalk인데요. EC2처럼 하나하나 설정할 필요없이 웬만한 기능들은 다 자동화 되기도 하고, 추가 설정들은 config 파일로 해결할 수 있어서 빠르게 구축할 수 있는 장점이 있습니다. 만약 개인 프로젝트를 AWS ElasticBeanstalk에 구축한다면 Travis CI와 함께 이용하시면 젠킨스나 Code Pipeline등을 별도로 구축할 필요 없이 편하게 개발 환경이 완성됩니.. 2018. 7. 13.
tcpdump 기본 사용법 CentOS/RHEL에서 설치하기 sudo yum install tcpdump 자주 사용하는 옵션 옵션 설명 -nn 출력 결과의 포트를 변환 없이 그대로 출력한다. 옵션을 적용하지 않으면 가장 대중적인 프로토콜로 보여준다. ex) 80 -> http, 443 -> https -vvv 패킷의 모든 정보 (TTL 등을 보여준다. 단, 데이터는 볼 수 없다. Request Body, Response Body 등) -A 패킷의 내용을 ASCII 형태로 출력한다. 데이터가 암호화 되지 않았다면, 데이터도 보여준다. (Request Body, Response Body 등) -G 패킷 정보를 저장하는 파일을 일정 주기로 갱신한다. 기본 단위는 s (초) -C 패킷 정보를 저장하는 파일을 일정 크기로 갱신한다. 기본 .. 2018. 7. 8.
3. AWS Code Deploy로 배포 Jenkins에서 배치 Jenkins로 Spring Batch 배포하기 - 젠킨스 연동 4. 배포 Jenkins 환경 설정 여기서는 Batch가 아닌 배포 Jenkins 페이지로 이동합니다. 배포 Jenkins에서 Github에 올라간 코드를 가져오려면 Github과 연동이 필요합니다. Jenkins와 Github 연동은 이전에 작성된 포스팅를 참고해서 진행하시는것을 추천드립니다. 연동이 되셨으면 배포 Job을 생성하겠습니다.매개변수 (파라미터)에는 Choice Parameter를 선택합니다. 여기서는 member-batch 모듈만 있어서 member-batch 만 등록했지만, member-api, member-admin 등 여러 모듈이 있다면 다 등록하시면 됩니다. 소스코드 관리에서는 배포할 프로젝트의 Github 주소를 등록합니다.배포 스크립트 내용은 좀 길어서 아래 코드를 그대로 복사.. 2018. 7. 7.
2. AWS Code Deploy로 배포 Jenkins에서 배치 Jenkins로 Spring Batch 배포하기 - Code Deploy 연동 3. Code Deploy 연동 3-1. 배포 설정 파일 추가 제일 먼저 member-batch 프로젝트 안에 code-deploy 디렉토리를 생성합니다. 그리고 아래 그림처럼 2개의 파일을 생성합니다. Code Deploy는 배포를 어떻게 진행할지를 appspec.yml로 결정합니다. 여기서 jar의 권한이나 실행시킬 스크립트 등을 지정할 수 있습니다. appspec.yml version: 0.0 os: linux files: - source: / destination: /home/jenkins/member-batch/deploy permissions: - object: / pattern: "**" owner: jenkins group: jenkins hooks: ApplicationStart: - l.. 2018. 7. 7.
1. AWS Code Deploy로 배포 Jenkins에서 배치 Jenkins로 Spring Batch 배포하기 - 기본 환경 구성 안녕하세요? 이번 시간엔 AWS Code Deploy로 배포 Jenkins에서 배치 Jenkins로 Spring Batch 배포하기를 진행해보려고 합니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. 0. 들어가며 여기서는 Gradle Multi Module로 구성된 프로젝트를 기준으로 합니다. Spring Batch 를 관리하는 방법은 크게 3가지가 있습니다. Linux의 crontab Spring Quartz Jenkins 보통 Linux의 crontab과 Spring Quartz를 많이들 사용하시는데요. Jenkins가 생각보다 Spring Batch 관리용으로 유용하고 효율적입니다. 현재 제가 속해있는 팀에서도 적극적으로 Jenkins를 Batch 관리로 .. 2018. 7. 7.

728x90
반응형