티스토리 뷰
Elastic Beanstalk이란 ?
아마존에서는 다음과 같이 정의하고 있다.
요약하자면 우리가 만든 코드를 업로드하기만 하면 Elastic Beanstalk가 배포까지 자동으로 처리해준다는 말이다. 밑에 Elastic Beanstalk을 사용함으로써 얻는 이점도 나와있다.
이것도 요약해보자면,
- AWS에 애플리케이션을 배포하는 가장 빠른 방법이다.
- Elastic Beanstalk은 사용자 대신 애플리케이션을 관리해주기 때문에 개발자는 시간을 따로 들일 필요가 없다.
- Elastic Beanstalk에서는 모니터링, 로그 등등을 알려주기 때문에 높은 트래픽 등을 쉽게 처리할 수 있다.
- Elastic Beanstalk 관리기능을 사용하면 손쉽게 제어할 수 있다.
이중에서 가장 좋은 이점은 첫번 째 이점이 아닐까 싶다. 한번 Elastic Beanstalk으로 배포를 해봤는데, 거짓말 안치고 거의 1분 이내로 끝이났다. 클릭 5번만에 내 서비스를 전세계가 볼 수 있는 것이다. 그럼 한번 사용해보자.
Elastic Beanstalk으로 배포해보기
먼저 콘솔에 로그인을 해주면 아래와 같이 메인화면이 나올 것이다. 여기서 검색을 눌러주자.
Elastic Beanstalk을 검색하면 다음과 같이 나올 것이다. 클릭해보자.
그럼 아래와 같은 화면이 나오는데, Create Application을 눌러주자.
아래와 같이 생성하는 화면이 나온다.
생성하기 전에 먼저 react로 코드를 짜보도록 하겠다. (저는 백엔드지만 화면에 떠야하니까.. ) 설치는 공식문서를 따라했다.
데스크탑으로 이동해서 아래 명령어를 입력하자.
cd Desktop
npm install -g create-react-app
다 깔리면 아래 명령어를 입력해주자. 여기서 my-app이 프로젝트 이름을 지정해주는 것 같은데 그냥 공식문서를 따라하겠다.
create-react-app my-app
그리고 Visual Studio Code에서 폴더를 열어보자.
여기서 새 터미널을 열고 아래 명령어를 입력하자.
npm start
그럼 아래와 같이 새 창이 열릴 것이다.
그럼 간단하게 Elastic Beanstalk으로 배포성공! 이라는 문구가 나오게 해보자. App.js에서 return 안을 지워주고 다음과 같이 적어보자.
제대로 변경되었다면 아래와 같이 뜰 것이다.
그럼 다시 생성화면으로 가보자. 애플리케이션 이름은 마음에 드는 이름으로 정해도 상관없다.
플랫폼 부분에서 아래와 같이 바꿔주자.
그리고 애플리케이션 코드를 코드 업로드로 바꿔주면 아래에 뭔가가 추가 된다.
여기서 우리가 만든 코드를 zip으로 묶어서 업로드를 해야한다. 중요한 점은 폴더를 통째로 zip으로 묶는 것이 그 안의 요소들을 묶어줘야 한다는 점이다. 아래는 zip으로 묶어주는 예시다.
그리고 추가 옵션 구성을 눌러주자.
용량 부분에서 편집을 눌러준다.
아래에 표시된 t2.small 을 제거해주어야 1년동안 무료로 사용할 수 있다.
그리고 저장하고 앱 실행을 눌러준다.
눌러주면 아래화면이 뜨는데 은근히 오래 걸리니 딴 걸 하면서 기다려주면 된다.
다 깔렸으면 환경에 들어가서 URL을 클릭해보자.
Elastic으로 배포 성공! 이라는 문구가 떴으면 성공이다. 한번 확인해보실 분들은 아래 링크로 들어가시면 됩니다. (11월 5일 : 요금으로 인해 중단했습니다)
Hellotest-env.eba-w85kzvxg.ap-northeast-2.elasticbeanstalk.com
우리는 엄청 간편하게 서비스를 배포한 것이다. 이제 로그나 모니터링, 이벤트 등을 보면서 사용자가 보고 조정할 수 있다.
무중단 배포일까 ?
zip폴더를 업로드해서 배포했는데 과연 소스코드를 바꾸면 적용이 될까 궁금했다. 찾아보니 ec2 수동 배포를 무중단 배포하는 방법과 비슷하게 URL을 여러개 만들어서 swap하거나 ec2 인스턴스를 여러개 만들어서 swap하는 방법이 있는 것 같다. 결론은 소스코드를 바꾸면 당연히 적용이 안된다.
'SpringBoot' 카테고리의 다른 글
프론트가 좋아하는 토큰 발급, 가져오는 방법 알아보기 (0) | 2022.10.04 |
---|---|
특정 URL은 시큐리티 필터 적용을 제외하도록 설정해보자 (2) | 2022.10.04 |
AWS에서 제공하는 S3에 이미지 업로드 해보기 (2) | 2022.09.19 |
글 작성 로직에 이미지 업로드 추가하기 (0) | 2022.09.11 |
MultipartFile을 사용해서 이미지를 로컬에 업로드하기 (2) | 2022.08.27 |
- Total
- Today
- Yesterday