Cloud/AWS
-
[AWS] Auto-Scaling CodeDeploy Blue/Green 자동화 배포Cloud/AWS 2021. 4. 19. 17:21
Auto Scaling, CodeDeploy로 Blue/Green 자동화 배포하기 저번 글 에서는 아래와 같은 아키텍쳐로 진행되었습니다.(저번 글을 한번 가볍게 보고 오는 것을 추천드립니다. AWS 서비스를 생성하는 과정에서 일부 생략되는 것이 있을 수 있습니다.) 간단하게 로드 밸런서, Auto-Scaling에 해당하는 아키텍쳐만 보면 위와 같습니다. 즉, ELB에는 하나의 타켓 그룹(Auto-Scaling 그룹)만이 존재하는 상황입니다. 그래서 이번 글에서는 Blue/Green 배포 방식 으로 타켓 그룹(Auto-Scaling 그룹)을 2개 만들어서 배포를 진행해보겠습니다. 이번 글에서 진행할 아키텍쳐는 위와 같습니다. 즉, Blue/Green 그룹으로 나눠서 무중단으로 자동 배포가 진행되게 할 것 ..
-
[AWS] CodeDeploy 현재 위치 배포 방식이란 무엇일까?Cloud/AWS 2021. 4. 14. 14:42
현재 위치 배포 방식이란 무엇일까? CodeDeploy에 보면 위와 같이 현재 위치 배포 방식과 블루/그린 배포 방식으로 나뉘어 집니다. (블루/그린 배포 방식은 저번에 알아보았는데 궁금하다면 링크에서 확인하시면 됩니다.) 이번 글에서는 현재 위치 배포 방식에 대해서 알아보겠습니다. 현재 위치 배포는 무중단 배포를 하기 위한 기법의 하나로 여러 대의 서버를 배포할 때 새로운 서버를 생성하거나 줄이지 않고 배포하는 방법을 말합니다. 현재 클라이언트의 요청을 로드 밸런서를 통해서 4대의 서버에게 골고루 나눠주고 있습니다. 이미 v1.0.1 버전을 서버스 중에 v1.0.2 버전을 무중단으로 배포하려면 어떤 과정을 통해 이루어질까요? 새로운 버전을 업데이트 하기 위해서 위와 같이 잠시 4대 인스턴스 중 2대의 ..
-
[AWS] Spring Boot, S3, Travis CI, Auto-Scaling, Load-Balacner, CodeDeploy로 자동화 배포하기Cloud/AWS 2021. 4. 14. 11:04
AWS Auto-Scaling, CodeDeploy로 배포 자동화 하기 CodeDeploy를 사용하기 위해서는 역할, 정책, 사용자 개념에 대해서 알아야 합니다. 아래의 글을 읽기 전에 여기 에서 간단하게 IAM 개념에 대해 학습하고 오시는 걸 추천합니다. 역할 생성 위와 같이 기본으로 [AWSCodeDeployRole]이 존재하는 것을 볼 수 있습니다. 즉, 해당 역할은 CodeDeploy에 접근할 수 있도록 하기 위해서 만드는 것입니다. 정책 생성 { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "*" } ] } S3에 접근할 수 있도록 정책을 하나 ..
-
[AWS] IAM 개념 및 용어 정리Cloud/AWS 2021. 4. 14. 10:42
IAM 용어 정리 위와 같이 AWS IAM에 들어가면 사용자, 정책, 권한, 그룹, 역할. 인스턴스 프로파일 등등 많은 용어들이 존재합니다. 어떤 S3, EC2, CodeDeploy와 같은 서비스를 이용할 때는 사용할 때 역할을 만들고 권한을 주는 것을 경험해보셨을 것입니다. 하지만 누군가 저에게 역할, 정책, 권한 차이가 뭔고 묻는다면 선뜻 대답할 수 없었습니다. 일단 각각이 어떤 뜻인지를 알기 전에 이것들이 왜 필요한지에 대해서 알아보겠습니다. AWS는 보통 회사당 하나의 계정을 갖고 사용하는데 회사 내 AWS를 사용하는 모든 사람에게 같은 권한을 줄 수는 없습니다. 따라서 대부분의 사용자 권한 관리 서비스와 마찬가지로 최고 관리자가 Root 계정을 관리하고 그밖의 사용자들은 각자 계정을 발급받아 제..
-
[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에서 오른..