1. 정적 페이지 배포
-
1단계에서는 package에 “build:ssg”: “next build && next export”, 적고 out이라는 폴더가 생성됨
-
- 2단게 이후 부터는 next build 사용
-
next.config.js에 trailingSlash 추가
-
AWS에 Root User로 로그인
-
S3에 create Bucket
-
- 버킷이름은 구매한 도메인 이름
- AWS Region은 Asia Pacific (Seoul)
- Object Ownership은 ACLs enabled 클릭
- 모든 접근 (Block all public access)를 체크표시 해제
- Turning off block all ~~ 체크
- create bucket 생성
-
만들어진 bucket에 들어가기
-
- out 안에 있는 폴더들을 드래그앤드롭으로 올리기
- 업로드 버튼 클릭
- 모든 파일을 체크한 뒤에 Action에서 make public using ACL 클릭
- make public 클릭
- 다시 S3 buckets으로 돌아와서 index.html에 들어가 해당 Object URL을 클릭하면 접속됨
-
S3에 properties에 들어가기
-
- Static website hosting에 edit 버튼 클릭
- enable 클릭
- host a static website
- index document에 index.html 입력
- error document에 404.html 입력
- save change 등록
- 그리고 밖에 나가서 맨 아래쪽에 자동으로 주소가 입력됨
2. 도메인 연결
-
AWS Route 53 들어가기
-
-
DNS management에 Create Hosted Zone 클릭
-
Domain name은 구입한 도메인 이름 입력 후 create hosted zone 클릭
-
Records(레코드)에
-
- 첫 번쨰 타입 NS(name server)
- 두번쨰 SOA(start of Auth, 시작권한)
-
create Record 클릭 (생략)
-
-
서브 도메인은 설정X, 빈 값으로 놔두기
-
cf. Record Type은 A - default 레코드
-
- value에 ip4 주소 입력
- Type AAAA는 Ip6
- CNAME은 표준 이름 정하기
- MX - 메일 서버 만들면 사용
- TXT - 텍스트, 암호 걸고 싶을 떄
-
-
DNS 설정
-
-
가비아에서 세팅을 지우고, AWS에서 설정하기
-
- NS 레코드의 값들을 복사해서 가비아에 가서 변경해주기
- 가비아 통합 관리툴에 가서 네임서버 1차, 2차, 3차, 4차 변경해주기 (순서 상관X, 마지막 .은 제외)
- 바꿔치기 해준 뒤에 소유자 인증 클릭
-
터미널에서
dig 해당사이트주소 NS입력해서 등록된게 잘 나오는 지 확인 -
- ns-cloude-…으로 나옴 (시간 좀 걸림)
-
-
create Record 해서 A 레코드 등록
-
-
Alias 클릭
-
- Route traffic to
- Alias to S3 website endpoint
- asia Seoul 리전 선택
- 자동으로 선택해준 s3-aws.com~~ 뜨는거 클릭
-
레코드 생성
-
NS 레코드가 변경되면 A레코드가 조회됨
-
-
주소로 접속
-
도메인 이름 = cumadi.site
섹션 56 - SSL과 HTTPS (2단계) 인증서 설치
-
AWS - ACM - certificate manager에 들어가기 (인증서)
-
- 지역을 버지니아 북부로 변경 (매우 중요) US East (N.Virginia)
- Certificates에서 request 버튼 클릭
- Request a public certificate 확인하고 다음 클릭
- 도메인 주소를 입력
- 나머지는 default로 놔두고 request 버튼 클릭
- 새로고침 후 Pending Validation(실제 도메인 주소가 맞는지 확인하는 과정)
- 해당 Certificate에 들어가서 Domains에 CNAME name을 검증해야 함
- Create record IN Route 53 버튼 클릭
- Create Records 클릭
- Route 53에 가서 진짜 CNAME 레코드가 생성되었는지 확인
- 조금 시간이 있으면 Pending이 풀릴 거임
-
CloudFront 이동
-
-
Create Distribution 클릭
-
새 창에서 S3로 이동 후 스토리지에 properties로 이동
-
- Static Website Hosting의 주소를 복사
- 다시 CloudFront로 이동
-
Origin Domain에 스토리지 Amazon S3를 반드시 직접 입력해야함!!
-
- S3에서 복사해온 주소 입력, 앞에 http:// 는 지우기
- Viwer protocol policy에 Redirect HTTP to HTTPS 클릭
- Allowed HTTP methods는 GET, HEAD, OPTINS, PUT, POST, PATCH, DELETE 다 된거 클릭
- Settings에 Alternated domain name(CNAME) - Optional에서 ADD Item 클릭
- 사용할 도메인 주소 입력
- CUstom SSL Certificate에 refresh 아이콘 클릭하고 만든 SSL 인증서 클릭
- Create Distribution 클릭
- 인증서에서 Detail 도메인으로 새 창에서 확인(시간이 좀 걸림)
-
-
Route 53에 가서 A 레코드 선택한 다음 Edit Record 클릭
-
- S3 website endpoint를 Alias to CloudFornt distribtution으로 변경
- 그 아래 choose distribution으로 지우기
- 지우면 cloundfornt.net이 새로 생기는데 그거 클릭
- 그 다음 save 버튼 클릭
- 이제 도메인명 입력하면 cloudFront 주소로 이동됨(HTTPS 장착된 상태)
여기까지 1단계이다.
2단계 건너뛰고, 4단계, 로드밸런서, EC2, 가상컴퓨터
- 리전은 서울로 변경
- EC2로 이동
- 인스턴스 (running) 클릭해서 이동
- Raunch Instance 클릭
- 이름은 아무거나 지어도됨, (my-ec2)
- AWS Linux 클릭
- Amazon Linux 2 AMI(HVM) free tier 클릭
- t2.micro 선택 (free tier)
- key pair는 Proceed without a key pair (Not recommended) 클릭
- Allow SSH Anywhere에 0.0.0.0으로 누군든지 터미널에 접근하게 확인
- Lanch 인스턴스 클릭 - 지금부터 1시간마다 돈 나감
- Running 중인 EC2 인스턴스에 들어가기
- 해당 인스턴스 체크하고, Connet 클릭
- Connet로 접속