본문 바로가기
반응형

beanstalk8

스케일링 가능한 Ngrinder 환경 구축하기 (feat. AWS Beanstalk) 네이버의 Ngrinder는 대표적인 성능 부하 테스트 도구입니다. 개인적으로는 다른 테스트 도구들에 비해서 설치 과정이 조금 번거롭다는 단점에 비해 사용성과 UI/UX가 너무 직관적이라는 장점으로 인해서 오랫동안 애정하고 있는 제품인데요. 서버 퍼포먼스 테스트 툴 사용후기 설치형을 지원하다보니 동적으로 Agent 수를 늘리고싶을때마다 설치된 이미지로 서버를 재생성하는 방식으로 늘리는게 참 불편했습니다. 이럴 경우 AWS를 통해서는 보통 2가지 방법으로 해결할 수 있는데, 오토스케일링 그룹 Beanstalk 등 동적으로 동일한 서버 환경을 편하게 증설할 수 있습니다. 이번 시간에는 AWS Beanstalk을 이용하여 스케일링 가능한 Ngrinder 환경 구축하기를 진행해보겠습니다. 1. EC2에 Contr.. 2021. 6. 18.
2. Github Action & AWS Beanstalk 배포하기 - profile=local로 배포하기 지난 시간에 만들어둔 Github Action을 통해 profile=local로 Beanstalk에 배포를 진행해보겠습니다. profile=local, 즉, 운영 DB와 구글&네이버 OAuth 를 사용하지 않는 간단한 테스트 용도로만 배포할 예정입니다. 실제 운영 배포는 다음 시간에 진행할 예정입니다. Github Action과 Beanstalk 연동된 환경 (즉, 이번 시간에 설정된 환경)를 구성하고 이를 기반으로 개선하는 과정으로 진행할 예정입니다. 지난 시간과 마찬가지로 모든 애플리케이션 코드 (Java & Gradle)는 저의 저서 스프링 부트와 AWS로 혼자 구현하는 웹 서비스를 기반으로 합니다. 2020.12월 기준이기 때문에 시간이 지나면 AWS의 UX 변경이 있을 수 있습니다. 최대한 키워.. 2021. 1. 16.
AWS Beanstalk Linux2 에서 Nginx 설정이 안될때 기존에 AWS Beanstalk을 사용할 경우 아래와 같이 nginx.config 파일을 교체하라고 가이드를 받는데요. (AWS 공식 문서)그래서 실제로 프로젝트 구조를 다음과 같이 잡고 배포를 진행합니다.배포할때 사용하는 스크립트 (travis.yml 혹은 githubAction.yml) 역시 이 구조를 그대로 가져가기 위해 다음과 같이 설정합니다. - name: Generate deployment package run: | mkdir -p deploy cp build/libs/*.jar deploy/application.jar cp Procfile deploy/Procfile cp -r .ebextensions deploy/.ebextensions cd deploy && zip -r deploy.zi.. 2020. 12. 22.
AWS에서 수동으로 ssh 접속을 위한 Pem key 생성하기 자주 있는 일은 아니지만 EC2를 통해 pem키를 생성해본 적 없이, 곧바로 AWS의 Beanstalk을 사용하는 경우를 봅니다. 일반적으로는 EC2를 생성할때 pem키 생성을 함께 진행합니다. 이럴 경우 한번도 pem키를 만들지 않은 상태라서 ssh 접속을 위해서 별도로 pem 키 생성을 진행해야하는데요. 1. Pem Key 생성 먼저 AWS의 서비스로 EC2로 들어갑니다. EC2 대시보드의 좌측 사이드바를 보시면 "네트워크 및 보안 -> 키 페어 -> 키 페어 생성"을 차례로 클릭합니다. 파일형식을 pem을 선택하고, 본인이 원하는 이름으로 Key를 생성합니다. 생성 버튼을 클릭하면 바로 다운로드 화면으로 전환이 되는데요. pem키(수동 생성시에는 .cer 확장자) 를 다운 받을 디렉토리를 지정합니다.. 2020. 12. 20.
AWS ElasticBeanstalk (빈스톡) 삭제 실패시 처리 방안 AWS ElasticBeanstalk 삭제시 아래와 같은 메세지와 함께 삭제가 실패할때가 있습니다 ERROR Stack deletion failed: The following resource(s) failed to delete: [AWSEBLoadBalnaceSecurityGroup] ERROR Deleting security group named failed reason resource has a dependent object 보통 위와 같이 AWSEBLoadBalnaceSecurityGroup, AWSEBSecurityGroup 등이 삭제가 안되어 Beanstalk 환경 삭제가 실패하게 되는데요. Beanstalk에서 사용하고 있는 Security Group을 Beanstalk 환경에서 수정 하지 않.. 2020. 2. 26.
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.

728x90