분류 전체보기
-
[AWS] 블루/그린(Blue/Green) 방식으로 무중단 배포하기Cloud/AWS 2021. 4. 13. 14:57
AWS Blue/Green 배포 실습하기 블루/그린(Blue/Green) 방식이 무엇인지 잘 모르겠다면 여기 를 먼저 읽고 오는 것을 추천합니다. 그럼 바로 실습을 진행해보겠습니다. 먼저 Auto Scaling Group을 만들겠습니다. (먼저 블루 그룹을 만드는 것입니다.) 시작 템플릿을 통해서 이미지와 인스턴스 유형을 등록해주면 Auto-Scaling을 통해서 템플릿 스펙에 맞게 인스턴스가 생성됩니다. Auto-Scaling 그룹 만들기 그리고 위와 같이 만든 시작 템플릿을 등록하겠습니다. 그리고 위와 같이 가용영역 두 개를 지정하겠습니다. 이렇게 두개를 지정하면 Auto Scaling을 통해 인스턴스를 만들 때 가용영역을 번갈아 가면서 만들기 때문에 하나의 가용영역에 문제가 생겨도 상대적으로 영향을..
-
[AWS] 블루/그린(Blue/Green) 배포 방식이란?Cloud/AWS 2021. 4. 13. 13:34
AWS 무중단 배포 과정 지금까지 Auto Scaling, 로드밸런서를 이용해서 서버를 구축하는 과정을 알아보았습니다. 그런데 현재 서버를 운영 중인데 새로운 소스 코드를 업데이트 해야 한다면 어떻게 해야 할까요? 지금 서비스를 중단하고 소스 코드 업데이트 한 후에 다시 배포할 수도 있지만, 서비스들은 무중단 배포를 하는 것을 선호합니다. 그래야 기존 사용자들에게 불편함을 주지도 않고 기존 서버가 계속 운영되면서 새로운 버전의 서버를 업데이트 할 수 있기 때문에 무중단 배포를 선호합니다. 그래서 이번 글에서는 무중단 배포에 대해서 알아보겠습니다. 서버 단위의 블루/그린 배포 블루/그린 배포(Blue/Green deployment)는 무중단 배포 기법의 하나입니다. 블루/그린 배포 방식은 어떻게 동작하는지..
-
[AWS] EC2 Auto Scaling 간단한 실습해보기Cloud/AWS 2021. 4. 13. 10:41
AWS Auto-Scaling 시작하기 - 1부 AWS Auto Scaling을 들어가보면 시작 구성, Auto Scaling 그룹이 있습니다. 시작 구성: Auto Scaling을 할 때 인스턴스를 만들 때 어떤 이미지에 기반해서 만들 것인가를 설정합니다.(성능, 용량, 운영체제 등등) Auto Scaling 그룹: 언제, 어떤 조건에서 Auto Scaling으로 인스턴스를 생성하고, 줄일지를 정하는 것입니다. 시작 구성 만들기 Auto Scaling을 하려면 인스턴스를 만들기 위해서 EC2 AMI 이미지가 필요합니다. 이미지가 존재하지 않는다면 여기 에서 이미지를 만들고 오시면 됩니다. 나머지는 전부 Default로 설정하겠습니다. (보안그룹, 용량, 키페어는 본인의 상황에 맞게 설정하시면 됩니다.)..
-
[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 주소 확인하는 페..