본문 바로가기

ETC

[AWS] S3, Route 53, ec2 로드 밸런서, CloudFront를 이용하여 https 보안 설정 사용하기

728x90
반응형
타사에서 구매한 도메인 aws로 S3 엔드포인트 연결 + https 사용(인증서)
구입한 도메인 주소 예 = "example.co.kr"


 

AWS 사이트 접속해서 로그인

AWS Management Console

 


 

Amazon S3 콘솔로 이동해서 버킷 생성
    • 버킷 이름은 구입한 도메인 주소와 똑같이 할 것
    • 버킷 안에 객체에서 지정 파일 업로드
    • 속성 탭으로 들어가 맨 밑에 "정적 웹 사이트 호스팅" 을 활성화하고 생기는 버킷 웹 사이트 엔드포인트 주소를 복사해놓음
    • 엔드포인트 주소가 잘 작동하는지 확인
    • 권한 탭으로 들어가 "버킷 정책" 을 다음과 같이 정책 편집
    AWS Policy Generator  => S3 버킷 정책 생성 사이트
{
    "Version": "2012-10-17",
    "Id": "Policy1665469629253",
    "Statement": [
        {
            "Sid": "Stmt1665469624066",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::example.co.kr/*"
        }
    ]
}

 


AWS Certificate Manager 콘솔로 이동해서 인증서 발급(미국 버지니아 북부)
  • example.co.kr 입력
  • 다른 이름 추가로 www.example.co.kr 입력
  • 발급 신청하고난 다음 Route 53에서 CNAME 레코드 생성

Route 53 콘솔로 이동
  • 호스팅 영역에 레코드 유형 중 NS와 SOA가 있을건데 NS의 값/트래픽 라우팅 대상을 모두 복사
  • 도메인을 구매한 사이트로 이동해서 네임서버를 NS값으로 모두 붙여넣기

CloudFront 콘솔로 이동해서 배포 생성
  • 1에서 복사해놓은 엔드포인트 주소를 원본 도메인에다가 붙여넣기
  • 기본 캐시 동작에서 다음과 같이 설정 뷰어 프로토콜 정책 = Redirect HTTP to HTTPS 허용된 HTTP 방법은 필요한 요소를 체크 캐시 키 및 원본 요청 = Cache policy and origin request policy (recommended)
  • 대체 도메인 이름(CNAME)을 다음과 같이 입력 example.co.kr, www.example.co.kr
  • 사용자 정의 SSL 인증서는 2에서 발급한 인증서 선택
  • 배포 도메인 이름 복사

다시 Route 53 콘솔로 이동해서 레코드를 다음과 같이 추가
  • 유형 : A , 레코드 이름 : example.co.kr, 별칭 : true, 트래픽 라우팅 대상 : CloudFront 배포에 대한 별칭, value : CloudFront에 배포 도메인 이름
  • 유형 : A, 레코드 이름 : www.example.co.kr, 별칭 : true 트래픽 라우팅 대상 : CloudFront 배포에 대한 별칭, value : CloudFront에 배포 도메인 이름
  1. EC2 로드 밸런서로 들어가서 로드 밸런서 생성
  • 그룹을 생성하고 HTTPS : 443, HTTP: 80 리스너 추가
  • HTTPS: 443의 3에서 발급한 SSL 인증서 등록
  • HTTP: 80의 규칙 편집 IF : HTTPS 요청 시에만 라우팅 THEN : 리디렉션 대상 https://{host}:443/#{path}?#{query}, 상태 코드 : HTTP_301
728x90
반응형

'ETC' 카테고리의 다른 글

window 환경에서 Ubuntu(WSL) 가상머신 사용하기  (1) 2024.01.31