AWS 에서 non-www 를 www 로 리다이렉트
www.example.com 설정 (route53-> cloudfront -> S3로 연결되는 구조)
1. S3 버킷 생성
- 이름은 가급적이면 최종 도메인 주소와 동일하게 ( www.example.com ) 부여 할것.
coludfront 를 거치지 않고 route53에서 바로 S3 를 선택할 경우 이름이 일치해야 선택 가능하기 때문임
- 생성 후 속성 > 정적 웹 사이트 호스팅 에서 버킷 호스팅 설정
(설정 후 엔드포인트 클릭하여 http 연결 되는지 확인 - 단, 엔드포인트로 테스트하려면 버킷정책이 퍼블릭으로 되어 있어야 함.)
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadAccess",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::www.example.com/*"
}
]
}
2. coludfront 연결 (Distributon 생성)
- cname: route53에서 연결시 alias 로 사용함. 여러개를 지정해도 상관없으나 route53에서 동일한 이름으로 연결시켜야함.
- SSL 설정 (인증서) 인증서는 버지니아북부에 생성한 인증서만 검색됨. 인증서 설정시 사용할 모든 도메인 네임 추가해야 함. (버킷 네임 포함)
- origin: 1번에서 생성한 S3 버킷 선택
- behvior: http 를 https 로 redirect 할지 선택
- error 처리: http 에러 코드 발생시 어떻게 할지 설정 추가
3. Route53 설정
- 보유하고 있는 도메인에서 record set 추가
type: A
Alias: yes
Alias target: 아까 생성한 cloud front ( distribution 생성 후 인식되는데 시간이 좀 걸리므로 distribution name을 직접 입력해도 됨)
Routing policy: Simple
Evaluate Target Health: No
example.com -> www.example.com 으로 redirect
1. S3 버킷명을 최종 도메인 명과 일치하게 구성한 경우
- S3 버킷 생성 (example.com) , 정적 웹사이트 호스팅 > 요청리디렉션 (www.example.com) 으로 생성
- Route53 에서 S3 버킷 선택 ( 단, https 로는 동작하지 않음 )
2. S3 버킷명이 최종 도메인과 일치하지 않는 경우
- S3 버킷 생성 (xxx.example.com) , 정적 웹사이트 호스팅 > 요청리디렉션 (www.example.com)으로 생성
- Cloudfront에서 신규 distribution 생성, S3 버킷 연결 (인증서에 s3 버킷명도 포함되어야 함)
- cname: example.com 으로 입력
- SSL 설정 (인증서) 인증서는 버지니아북부에 생성한 인증서만 검색됨. 인증서 설정시 사용할 모든 도메인 네임 추가해야 함. (버킷 네임 포함)
- origin: 1번에서 생성한 S3 버킷의 endpoint명 입력 (중요!!! 버킷 연결시 자동완성 이름을 선택하지 말고 xxx.example.com.s3-website.ap-northeast-2.amazon.com 형식을 가지는 s3 endpoint 명을 직접 입력할것)
- behvior: http 를 https 로 redirect 할지 선택
- Route53 에서 cloudfront distribution 명 선택