Aws S3 버킷생성 -> 프로젝트연결 -> 도메인변경 -> Https 적용
AWS S3 배포하는 과정에서 많은 어려움을 겪었다. 어려움을 반복하지 않기를 바라며 핵심만 기록했고 꼭 써먹도록 하자
S3
, 가비아 에서 도메인 구매
,Route 53
, CloudFornt
, SSL
CloudFrontFullAccess
, AmazonS3FullAccess
를 검색하고 체크 한다음 다음 -> 권한 추가 버튼 까지 눌러준다.이제 S3 버킷생성을 해야한다.
AWS 로그인후 S3 검색, S3 대시보드에 접속한다. 사이드바 버킷 메뉴에서 버킷 만들기 버튼 클릭한다. 이름 작성 하고 다른 속성은 변경하지 않고 밑으로 쭉 내려서 버킷 만들기 버튼을 클릭후 버킷을 정상적으로 만들어준다.
생성한 버킷 파란색 글씨 이름을 클릭후 속성 탭의 가장 밑에 정적 웹 호스팅 섹션에서 편집 버튼을 눌러 정적웹 사이트 호스팅 활성화를 시켜준다.
밑으로 내려서 인덱스,오류 문서에 index.html
를 작성 후 변경사항 저장 버튼을 클릭한다.
아래와 같이 버킷 웹 사이트 엔드포인트가 생성되었다. 저 URL로 내가 만든 프로젝트를 배포하여 사용 가능하다.
AWS - CLI 방식으로 배포를 하기위해
https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html
Mac 방식
PC 버전에 맞게 설치 & 설명 지침대로 적용한다.
내 PC 터미널에서 aws configure --profile 사용자명
(IAM 에서 생성한 사용자명) 을 입력한다
위에서 부터 차례대로 입력한다. IAM 에서 발급받은 액세스 ID
, 비밀 키
서울 지역인 ap-northeast-2
, json
순서 대로 입력후 엔터
VSCode package.json 으로 가서 deploy 를 추가해준다.
aws s3 sync ./docs s3://버킷이름 --profile=사용자이름
"scripts": {
"start": "react-scripts-start",
"build": "react-scripts-build",
"test": "react-scripts-test",
"deploy": "aws s3 sync ./docs s3://버킷이름 --profile=사용자이름"
},
npm run deploy 를 하면 정상적으로 배포가 된다.
시작하기전 SSL 인증서가 필요하다.
CloudFront
로 이동하여 주황색 배포생성 버튼을 눌러 새롭게 만든다.
배포생성에서 원본 도메인 칸에 리스트가 아닌, S3 버킷 만들고 정적 호스팅 설정한 곳에 있는
버킷 웹 사이트 엔드포인트
를 복사 붙여넣기 하고 밑으로 내려간다.
뷰어 프로토콜 정책 에서 Redirect HTTP to HTTPS 를 체킹 해준다.
스크롤 내려서 설정 탭에서 대체 도메인에 구매한 도메인주소 값을 넣는다. 없으면 생략 , 기존 만들어 놓은 SSL 인증서 선택후 아래로 내려가 배포 생성 클릭하여 완료한다.
조금 기다리면 상태가 활성화가 된다. 활성화가 된 ID 링크로 들어가서 배포 도메인 이름 주소를 복사하여 접속하면 https 적용이 되어 있다.