배포 작업 다른 사람에게 설명하기

Jung·2021년 12월 30일
1

TIL

목록 보기
71/77
post-thumbnail
post-custom-banner

어제 팀원 분들과 다른 팀원 분들 몇 분에게 AWS EBAWS ECR/DockerGitHub Actions로 배포하는 방법을 알려드렸다. 네 분의 화면을 실시간으로 확인하며 진행했는데 생각보다 오래 걸렸다.

우선 프론트 엔드 관련 파일들을 올릴 S3 생성과 Cloudfront의 배포 생성을 하고 S3와 Cloudfront를 연결시켰다. S3에 프론트엔드 파일들을 업로드 시키고 CloudfrontSSL을 붙였다.
SSLAWS ACM에서 발급 받았고 가비아에서 도메인 구입 후 네임 서버를 가비아에서 AWS로 변경하고 Route53에서 DNS 인증을 진행했다.

Cloudfront글로벌 리전에서 제공하는 서비스라서 Cloudfront에 적용하는 SSL버지니아 북부 리전에 생성해야 한다.

Cloudfront 기본 루트 객체index.html으로 설정하고 대체 도메인 이름에 www.도메인으로 설정했다. 그리고 www.도메인Cloudfront 주소Route53에서 연결했고 www.도메인으로 접속했을 때 index.html 페이지가 잘 나왔다. 그러면 프론트 배포 작업은 끝났다.

이제 GitHub Actions를 통해 AWS ECR도커 이미지push 하고 해당 이미지를 ECR에서 가져와 AWS EB에 배포하는 작업을 진행했다.
근데 모든 분들 다 한 번에 성공이 되지 않았다. 그래서 결국은 EB 환경, 애플리케이션 생성을 다시 하고 환경 변수 설정도 꼼꼼하게 다시 점검했다. 환경 변수 설정 후에 로드밸런서헬스 체크상태 코드200으로 설정하고 HTTPS 리스너를 추가할 때 SSL을 붙였다. 이 SSL서울 리전에 등록되어 있다.

다시 해본 결과 한 분은 성공했지만 한 분은 되지 않았다. 안 된 분은 VPC를 살펴보니 예전에 인터넷 게이트웨이를 삭제하셨던 적이 있었다. 그래서 인터넷 게이트웨이를 새로 생성했다. 그리고 RDS가 공격당했던 적이 있어서 보안 관련해서도 언급해드렸다.

GitHub Actions가 잘 작동되고 배포가 잘 되었다. 하지만 HTTPS에는 잘 되지 않아 여러 가지를 살펴본 결과 ACM에서 발급 받은 SSL을 보니 *.도메인으로 되어있지 않고 그냥 도메인으로만 되어 있었다.
그래서 다시 *.도메인으로 발급 받아서 진행하니 정상적으로 작동했다!

어제 하루 동안 배포 관련 작업을 직접 해보실 수 있게 나의 지식을 다른 사람들에게 공유했다.
한 번에 되지 않아서 오래 걸리긴 했지만 뿌듯하기도 하고 의미 있는 시간이었다.

작업에서 다룬 내용들 (내가 작성했던 글을 자료로 사용)
https://velog.io/@rudwnd33/%EB%AC%B4%EC%A4%91%EB%8B%A8%EB%B0%B0%ED%8F%AC

https://velog.io/@rudwnd33/DB-%EB%8F%84%EB%91%91-%EC%9E%A1%EC%95%84%EB%9D%BC

profile
97kim.github.io
post-custom-banner

0개의 댓글