분류 전체보기
-
[AWS] JMeter를 사용하여 EC2 서버에 부하 테스트하는 법Cloud/AWS 2021. 4. 12. 11:47
Mac JMeter 설치하기 brew install jmeter brew를 통해서 JMeter 설치를 진행하겠습니다. jmeter 설치가 되었으면 위와 같이 터미널에서 입력하면 JMeter가 실행 됩니다. JMeter 사용하는 법 Test plan을 클릭하고 오른쪽 마우스를 누른 후에 Add -> Threads -> Thread Group을 선택해서 들어가겠습니다. 그러면 위와 같이 몇명이 동시 접속할 것이며, 각각의 유저들이 몇번 반복해서 접속할 것인가?를 정할 수 있습니다. (Loop Count에서 infinite를 체크하면 무한으로 반복하겠다는 뜻입니다. 저는 infinite로 놓고 테스트를 할 것입니다.) 그리고 이제 어떤 서버에 부하를 줄 것인지를 설정하기 위해서 Thread-Group에서 오른..
-
[AWS] AMI를 이용하여 EC2 인스턴스 이미지 만들기Cloud/AWS 2021. 4. 9. 15:41
AWS AMI 사용하기 AWS에는 AMI라는 것이 존재합니다. Amazon Machine Image의 약자입니다. 어떤 역할을 할까요? 이름에서 알 수 있듯이 Image 라는 것의 개념인데요. Docker Image와 느낌이 비슷한 거 같습니다. 예를들어, 이번 글에서 실습해볼 것인 EC2 인스턴스를 이미지로 만들어 놓고, 이미지로 여러 개의 EC2 인스턴스를 만들 수 있는 것입니다. (Docker와 같이 아주 편리합니다. 나중에 Auto Scaling 할 때 사용됩니다.) 따라서 이번 글에서 EC2 인스턴스를 AMI를 사용해서 이미지화 하고 인스턴스를 복제하는 간단한 실습을 진행해보겠습니다. EC2 AMI 이미지 만들기 AWS에서 EC2로 들어간 후에 이미지로 만들 인스턴스를 체크한 후에 작업을 누르겠..
-
[Docker] Dockerfile 기본 명령어 정리DevOps/Docker 2021. 4. 6. 11:31
Dockerfile 명령어 정리하기 FROM 생성할 이미지의 베이스가 될 이미지를 뜻합니다. FROM 명령어는 Dockerfile을 작성할 때 반드시 한 번 이상 입력해야 합니다. MAINTAINER 이미지를 생성한 개발자 정보를 나타냅니다. RUN 이미지를 만들기 위해 컨테이너 내부에서 명령어를 실행합니다. RUN 명령어에 ["/bin/bash", "echo hello" >> test.html"] 같이 입력하면 /bin/bash 셸을 이용해 'echo hello >> test2.html'을 실행한다는 뜻입니다. ADD 파일을 이미지에 추가합니다. Dockerfile이 위치한 디렉터리에서 파일을 가져옵니다. ex) ADD test.html /var/www/html 이라면 Dockerfile과 같은 디렉토..
-
[AWS] Spring Boot, Jenkins, CodeDeploy로 CI/CD 하기Cloud/AWS 2021. 4. 6. 10:07
들어가기 전에 이번 글에서 CI/CD를 할 때는 위의 아키텍쳐로 진행하려고 합니다. (다만, Auto Scaling은 사용하지 않고 운영용 EC2 1대, Jenkins 빌드용 EC2 1대를 사용할 예정입니다.) 그래서 사용한 도구에 대해서 정리하면 아래와 같습니다. Spring Boot(gradle) EC2 Linux2 2대(운영용 프리티어 1대, 젠킨스 빌드용 RAM 16G 1대) Jenkins(CI) CodeDeploy(CD) S3 Bucket Docker Github Hook 이러한 기술들을 사용해서 CI/CD를 진행하는 글을 이어나가겠습니다. 추가로 이번 글에서 EC2 생성, S3 버켓 생성, CodeDeploy 생성, IAM 사용자 권한 부여 등등 같은 것들에 대해서는 다루지 않겠습니다. EC2..
-
[AWS] Elastic Load Balancer 적용해보기Cloud/AWS 2021. 4. 5. 11:28
AWS ELB 사용해보기 AWS EC2가 2대가 있다고 가정하고 로드 밸런서에 적용해보는 예제를 진행해보겠습니다. EC2 Linux2 웹 서버 설치 EC2 2대 모두 웹 서버 설치를 먼저 진행하겠습니다. sudo yum update -y sudo amazon-linux-extras install -y php7.2 sudo yum install -y httpd sudo systemctl start httpd (Apache 웹 서버 시작(d는 daemon 임)) sudo systemctl enable httpd (Apache 웹 서버가 매번 시스템이 부팅할 때마다 시작되도록 함) sudo systemctl is-enabled httpd (httpd 가 실행되고 있는지 확인하는 명령어) IP 주소 확인하는 페..
-
[AWS] Amazon Certificate Manager로 HTTPS 적용해보기Cloud/AWS 2021. 4. 4. 20:25
AWS 인증서로 HTTPS 적용해보기 HTTPS를 적용하려면 도메인 주소가 필요합니다. 만약 도메인 주소가 없다면 여기 에서 먼저 만들고 와야 합니다. (AWS Route 53을 이용해서 도메인을 만들었습니다.) AWS를 이용하지 않는다면 다른 인증 기관에서 SSL 인증서를 발급 받아서 등록하는 과정을 거쳐야 할 것입니다. 그런데 인스턴스가 여러 개라면 인스턴스마다 인증서를 받아 등록하는 과정이 매우 번거로울 것입니다. 또한 각 인증서마다 만료 기간을 알고 있어야 하기 때문에 매 번 그 기간엔 맞춰서 갱신을 해줘야 합니다. 재 기간에 갱신하지 못하면 사이트가 접속이 되지 않는 큰 문제가 발생할 수 있습니다. 그래서 이번 글에서는 이러한 것들을 편리하게 해주는 ACM(Amazon Certificate Ma..
-
[AWS] Route 53으로 DNS와 IP 주소 연결하는 법Cloud/AWS 2021. 4. 4. 02:00
Route 53으로 도메인 구입하기 AWS Route 53으로 접속한 후에 도메인 등록 버튼을 누르겠습니다. 위와 같이 원하는 도메인 이름을 적은 후에 장바구니 추가하고 도메인 기간, 가격을 확인한 후에 계속을 누르겠습니다. 그리고 아래 개인정보 보호 활성화도 체크 되어 있는대로 해놓고 계속을 누르겠습니다. 그리고 위와 같이 Default 설정 그대로 두고 주문 완료를 누르겠습니다. 그러면 위와 같이 도메인 등록 진행 중을 볼 수 있습니다. (어느정도 시간을 기다리면 도메인이 등록될 것입니다.) 그리고 필자 같은 경우는 한 10분 정도 기다리니 위와 같이 도메인 등록 성공으로 바뀌었습니다. 그리고 호스팅 영역을 들어가보면 Route 53에 의해서 자동으로 생긴 것을 볼 수 있습니다. 도메인 이름과 IP ..
-
[AWS] SpringBoot와 Docker를 사용하여 CI/CD 자동화 배포해보기Cloud/AWS 2021. 4. 3. 21:02
Docker를 사용하여 CI/CD 파이프라인 구축하기 위의 아키텍쳐와 비슷하게 예제를 진행해보려 합니다. EC2 인스턴스 내부에 Docker를 사용하여 Spring Boot jar 파일을 실행시켜보겠습니다. (이 글에서는 EC2, S3, CodeDeploy, Travis CI를 생성하고 연결하는 법에 대해서는 다루지 않겠습니다.) 사용하고자 하는 도구는 아래와 같습니다. Spring Boot(gradle) Travis CI(CI 담당) AWS S3 Bucket(CI 빌드 결과를 저장하기 위함) AWS CodeDeploy(CD, 자동화 배포를 담당) AWS EC2 Docker Travis CI 사용하기 Travis CI의 레포지토리, Github 연결은 했다고 가정하고 AWS IAM 사용자 키를 등록하는 ..