본문 바로가기

전체 글

(129)
[AWS] AWS 인증서로(ACM) HTTPS 적용해보기 ACM이란 무엇일까요?? AWS Certificate Manager(ACM)은 SSL/TLS 인증서와 키를 만들고, 저장하고, 갱신하는 복잡성을 처리합니다. 비용은 무료이고 연마다 갱신할 필요가 없다는 게 가장 큰 장점입니다. AWS에서 제공하는 인증서를 적용하기 위해서는 몇 가지 조건이 있습니다. EC2 인스턴스를 1개 이상 구동 중이다. Route53을 이용 중이다. ELB(Elastic Load Balancer) 또는 CloudFront를 이용 중이다. 만약 도메인 주소가 없다면 이전 글에서 먼저 만들고 와야 합니다. 목차 ACM을 이용해 인증서 발급 로드밸런서 생성 Route53에서 생성한 도메인에 로드밸런서 등록 HTTPS 적용 확인 1. ACM을 이용해 인증서 발급 ACM 서비스 페이지에서 ’..
[AWS] Route 53으로 DNS 구매 및 도메인을 IP 주소 연결하는 법 목차 Route 53으로 도메인 구입하기 도메인 이름과 IP 주소 연결하기 Route 53으로 도메인 구입하기 AWS Route 53으로 접속한 후에 도메인 등록 버튼을 누르겠습니다. 위와 같이 원하는 도메인 이름을 적은 후에 장바구니 추가하고 도메인 기간, 가격을 확인한 후에 계속을 누르겠습니다. 그리고 아래 개인정보 보호 활성화도 체크되어 있는 대로 해놓고 계속을 누르겠습니다. 만약 도메인이 1년마다 자동갱신되는 것을 원치 않다면 비활성화를 클릭해야 합니다. 주문 완료를 클릭해 도메인을 주문합니다. 어느 정도 시간이 지나면 도메인이 등록됩니다. 등록된 이후에 호스팅 영역을 들어가면 Route 53에 의해서 도메인 이름이 자동으로 생긴 것을 볼 수 있습니다. 도메인 이름과 IP 주소 연결하기 호스팅 영..
[AWS] Jmeter를 사용해 서버 부하 테스트하기 JMeter를 설치해 EC2에 부하를 주도록 해보겠습니다. 서버에는 AWS EC2에 Apache 웹서버와 php가 설치되어 있습니다. Mac JMeter 설치하기 mac 환경을 기준으로 설치 방법입니다.. brew install jmeter 설치가 되었으면 아래 같이 터미널에서 입력하면 JMeter가 실행됩니다. jmeter JMeter 사용하는 법 Test plan을 클릭하고 오른쪽 마우스를 누른 후에 Add -> Threads -> Thread Group을 선택해서 들어가겠습니다. 그러면 아래와 같이 몇 명이 동시 접속할 것이며, 각각의 유저들이 몇 번 반복해서 접속할 것인가를 정할 수 있습니다. 제가 설정한 스레드 그룹은 다음과 같습니다. 그리고 이제 어떤 서버에 부하를 줄 것인지를 설정하기 위해서..
[AWS] Nginx, SpringBoot, CodeDeploy, Travis CI를 이용한 무중단 배포 시스템 만들기 이전 글에서 다음과 같은 구조로 자동 배포 시스템을 구축했습니다. Github에 push만 하면 자동으로 EC2에 새로운 버전의 jar가 배포되고 재 실행되어서 배포가 되었습니다. 하지만 위의 방식에는 단점이 존재합니다. 배포가 진행되는 도중에는 서버가 잠시 중단돼야 한다는 점입니다. CodeDeploy가 EC2에 새로운 버전의 jar를 배포할 때, 기존의 실행 중인 jar를 kill 한 후에 새로운 버전의 jar를 실행시킬 것입니다. 이 과정에서 서버가 잠시 중단되어 사용자들은 서비스에 접속할 수 없게 됩니다. 현재 우리가 많이 사용하고 있는 서비스들을 보면 새로운 버전의 업데이트가 일어나더라도 서비스가 중단되거나 하지 않고 무중단으로 배포가 이루어집니다. 이번 글에서는 Nginx를 이용해서 EC2 내..
[AWS] Travis CI와 AWS CodeDeploy를 사용한 자동배포 구축하기 #2 Spring Boot 기반의 서비스를 Travis CI와 AWS CodeDeploy를 사용해 자동 배포 시스템을 구축할 것입니다. 전체적인 구조는 다음과 같습니다. 전달 과정 1 Travis CI →AWS S3 jar 파일 전달 2 Travis CI → AWS CodeDeploy 배포 요청 3 AWS S3 → AWS CodeDeploy jar 파일 전달 4 AWS CodeDeploy → AWS EC2 배포 1편 안 보신 분들은 먼저 보고 오길 추천드립니다. 스프링 부트 서비스는 이전 글을 기반으로 하고 있습니다. 목차 1. CI & CD 소개 (#1) 2. Travis CI 연동하기 (#1) 3. Travis CI와 AWS S3 연동하기 (#1) 4. Travis CI와 AWS S3, CodeDeploy..
[AWS] Travis CI와 AWS CodeDeploy를 사용한 자동배포 구축하기 #1 Spring Boot 기반의 서비스를 Travis CI와 AWS CodeDeploy를 사용해 자동 배포 시스템을 구축할 것입니다. 전체적인 구조는 다음과 같습니다. 전달 과정 1 Travis CI →AWS S3 jar 파일 전달 2 Travis CI → AWS CodeDeploy 배포 요청 3 AWS S3 → AWS CodeDeploy jar 파일 전달 4 AWS CodeDeploy → AWS EC2 배포 스프링 부트 서비스는 이전 글을 기반으로 하고 있습니다. 목차 1. CI & CD 소개 (#1) 2. Travis CI 연동하기 (#1) 3. Travis CI와 AWS S3 연동하기 (#1) 4. Travis CI와 AWS S3, CodeDeploy 연동하기 (#2) 5. 배포 자동화 구성 (#2) ..
[AWS] AWS EC2에 스프링 부트 서비스 배포하기 AWS EC2에 스프링 부트 서비스를 jar 파일을 통해 배포할 것입니다. 뿐만 아니라 배포 스크립트를 통해 배포하는 과정을 단순화할 것입니다. 목차 스프링 부트 기반 API 서비스 서버 생성 및 EIP 할당 서버 생성 시 꼭 해야 할 설정들 EC2에서 Git과 Github 사용하기 코드들이 잘 수행되는 지 테스트로 검증 배포 스크립트 만들기 1. 스프링 부트 기반 API 서비스 배포할 서비스는 특정 문자열을 응답하는 API를 가진 매우 간단한 서비스입니다. 코드는 다음과 같습니다. @RestController public class HelloController { @GetMapping("/") public String hello(){ return "안녕하세요~~~"; } } 버전 정보는 다음과 같습니다..
[AWS] AWS RDS 프리티어 만들고 Datagrip 사용해 연결하기 목차 Mysql 보안 그룹 생성 RDS Mysql 생성 Mysql 체크 프리티어 체크 마스터 사용자 이름, 암호 기입 micro 선택 보안그룹 퍼블릭 액세스 클릭 기본 데이터베이스 명시 DataGrip으로 연결 이번에 Amazon RDS를 이용해 Mysql 데이터베이스를 프리티어로 생성하고 데이터베이스 관리 툴인 Datagrip을 사용해 Mysql 서버에 연결해보겠습니다. Mysql 보안 그룹 생성 mysql은 3306 포트를 쓰기 때문에 인바운드 규칙에 3306을 명시하고, 노트북에서 데이터베이스에 연결하기 위해 모든 아이피에서 접근이 가능하게 설정합니다. RDS Mysql 생성 Amazon RDS 페이지에서 DB 인스턴스 > 데이터베이스 생성을 클릭합니다. 표준 생성, Mysql, 프리티어를 선택합니..