[AWS] 프론트단 배포하기

JJeong·2021년 8월 25일
0

🤔 도메인을 따려면 route53도 필요할 텐데, 이건 자세히 알아봐야겠다.

로컬에서 npm run build 입력 -> Build 폴더 안에 배포할 파일들이 생성됨 -> Build 폴더 안에 항목을 S3에 업로드 -> Cloudfront와 연동하기 -> User

와... 여기에서 S3에 파일들을 업로드해주는 것까지가 Jenkins의 역할이다.

s3를 퍼블릭 액세스로 사용해서 배포하는 방법도 있다. 하지만 그렇게 하면 그 S3 저장소는 모두에게 모든 방식으로 (GET, POST, PUT, DELETE...) 열려있다. 위험하다. GET 방식으로만 정적 웹사이트(index.html) 전송하기 위해서 cloudfront 를 사용한다. 또한 https 를 적용하기 위해서도 cloudfront 가 필요하다.

여기서 말하는 POST이라는 건 타인이 요청을 보내 업로드된 코드를 수정할 수 있다는 걸까? (GET으로 index.html을 전송해야 한다는 걸 보면 맞는 것 같다.)
https를 적용하기 위해 cloudfront가 필요하다는 건 ssl 인증서를 등록하는 과정과 http/https에 대한 설정을 하는 부분이 모두 cloudfront 배포를 만드는 중에 있기 때문이다. 게다가 사용자가 직접 S3에 접근하지 못하도록 OAI를 지정하기도 한다.


----- 실제 서비스를 적용할 때는 젠킨스를 사용하기에 약간 다르다 -----

  1. npm run build 명령어를 입력합니다. build 폴더 안에 배포 항목이 생성됩니다.

yarn run build 명령어를 사용했다.

s3 버킷을 하나 만듭니다. build 파일 안에 있는 내용을 업로드 합니다. 자 이제 cloudfront 로 갑니다.

Origin Domain Name 을 클릭하면 S3, 로드밸런서 등의 항목이 나타납니다. 어떤 것을 사용해서 배포할지 정하는 부분입니다. 아까 만든

0개의 댓글