AWS - S3, CloudFront 사용 방법

AWS - S3
웹서비스 배포에는 S3와 CloudFront가 있다
S3만 사용해도 웹 서비스를 배포할 수 있지만 CloudFront를 사용하면 HTTPS를 적용할 수 있다. 즉, 보안을 한층 더 강화할 수 있다.
S3설정


S3 - 버킷 생성 - 버킷 이름 입력, 모든 퍼블릭 액세스 차단은 풀어줘야한다. 익명의 사용자들도 들어올 수 있어야 하기 때문이다.
나머지는 기본값으로 설정해둔다.
퍼블릭 액세스 해제로 권한이 풀리는 것이 아니기 때문에 권한에서 정책을 작성해야한다.


권한 - 버킷정책으로 들어가기
편집 - 새 문 추가에서 S3, GetObject검색하여 설정
리소스 추가에서는 S3, object선택, ARN에는 arn:aws:s3:::~~~ ~~~에는 자신의 파일명을 입력한다

이제 생성한 버킷에서 파일을 업로드한다

속성 - 정적 웹사이트 호스팅에서 활성화를 누른다
인덱스문서는 어떤 파일을 기준으로 먼저 열어줄지를 말한다. 원하는 파일을 올려준다
CloudFront설정

CloudFront - 배포 생성을 누른다
원본 도메인 - 생성한 S3주소를 선택한 뒤, 이름을 입력한다.

기본 캐시 동작 - 뷰어 프로토콜 정책에서 Redirect HTTP to HTTPS를 선택한다.
웹 애플리케이션 방화벽 - 비활성화를 선택한다.

설정 - 가격 분류는 위와 같이 선택하고, 기본값 루트 객체에는 설정했던 인덱스 문서를 입력한다.
HTTPS적용

HTTPS 적용 전에는 인증서를 발급 받아야 한다.
인증서 발급 - 인증서 요청에서 도메인 이름을 입력한다.

발급이 완료되면 CloudFront로 돌아가서,
편집 - 설정 - 대체 도메인 이름에 인증서 발급 시 입력한 도메인 이름을 입력하고, 사용자 정의 SSL인증서에서 발급한 인증서를 선택한다.

마지막으로 ROUTE53 - 호스팅 연결 - 생성한 것 선택 - 레코드 생성에서,
레코드 이름 입력, 트래픽 라우팅 대상은 CloudFront배포에 대한 별칭 선택, 아래는 생성한 배포를 선택한다.