Dockerization [1] - AWS EB에 docker 배포하기
이제 Elastic Beanstalk에 올려서 배포하는걸 해보자.
AWS Elastic Beanstalk
AWS에서 EB라고 검색하면 나온다. 설명대로 쉽게 배포할 수 있긴 한데, 늘 그렇듯 어떻게 쓰는지에 대한 자료가... 어딘가 있겠으나 내눈엔 잘 안보인다.
위 화면에서 애플리케이션 생성을 누르면,
프리티어만 체크되면 된다.
플랫폼은 Docker로, 플랫폼 브랜치는 Docker running on 64bit Amazon Linux 2로 선택했다.
다른 옵션은 ECS running on 64bit Amazon Linux 2인데, 잘 모르겠기도 하고, 검색해보면 aws에서 컨테이너를 관리하고 배포하는 서비스 같아 보인다. 어쨋든 나는 바로 docker를 올리려고 생각했으니 이건 아니다.
다른 선택지는 헛갈릴 건 없다. 다음으로 넘어가면,
서비스 접근을 위한 설정이다. 만들어두었던 EC2 키페어와 인스턴스 프로파일을 사용했다. 다음으로 넘어가면,
인스턴스 서브넷을 선택해줘야 넘어가길레 선택했다. 인스턴스 서브넷의 역할을 대충 읽어보고, 아직은 설정이 중요하지 않은 단계라 전체를 선택했다. 아래글을 나중에 읽어볼 예정.
https://bibi6666667.tistory.com/318
VPC 및 서브넷 생성 (private인스턴스와 public인스턴스 분리 생성하기)
VPC 및 서브넷 생성 (private인스턴스와 public인스턴스 분리 생성하기) 출처 : 우디의 필기노트 & 가르침 🙇♂️ VPC란? 위 글을 먼저 읽어보고 시작하자. VPC : virtual private cloud 가상 사설망(사설네
bibi6666667.tistory.com
그리고 RDS도 활성화 되어 있긴 한데, 데이터베이스 통합은 그냥 건너 뛰었다.
4단계에서는 만들어뒀던 보안그룹만 선택했다. 용량은 건드릴 이유가 없고... 다른 걸 건드렸다가 프리티어를 벗어나게 될지 모르니.
모니터링 상태보고는 시스템 기본으로, 관리형 플랫폼 업데이트는 비활성화, 이메일 알림에 이메일 입력, 프록시 서버는 Nginx로 나뒀고 다른 것 건드리지 않았다.
마지막 검토하고나면, 끝난다. 검토페이지는 키값이나 기타 정보가 많아서 캡쳐는 생략.
이제 환경 시작한다고 배너가 뜨고, 조금 기다리면... 위쪽이 초록색으로, 업로드 및 배포 버튼이 오랜지색으로 바뀐다.
이제 저 업로드 및 배포 버튼을 눌려서 만든 백엔드 서버를 배포하면 되는데....
처음에 docker 이미지를 업로드해야 한다고 생각해서 조금 해맸는데, 검색하고 aws 문서를 읽어보니...
Dockerfile이 포함된 프로젝트 폴더 전체를 zip파일로 압축해서 올리면 된다.
이미 로컬에서 docker image를 만들고, 실행해서 정상 작동하는 것을 확인했으니, AWS 서버에 압축파일을 올리면 Dockerfile을 찾아서 빌드하고, 실행까지 진행하는 가보다.
배포를 누르고 조금 기다리면...
해당 주소로, swagger ui에 접속할 수 있고, uri로 접근해서 정상 작동하는걸 확인할 수 있다.