【AWS】 S3에서 독자 도메인에서 https 호스팅

2659 단어 CloudFrontS3HTTPSAWS

소개



S3를 사용하면 간편하게 정적 웹사이트 호스팅이 가능하며,
Route53에서 CNAME을 지정하면 자신의 도메인에서 호스팅 할 수 있습니다.
단지 https화할 수 없고 Chrome에서는 '보호되지 않은 통신' 취급되어 버립니다.
거기서 CloudFront를 사용해 S3로 독자 도메인 https 호스팅 시켰을 때의 메모입니다.

전제



자체 도메인을 획득했으며 ACM 등의 설정

S3 버킷 생성


  • 모든 이름으로 S3 버킷 만들기

  • CloudFront Distributions 만들기



  • CloudFront 방문
  • "Create Distributions"-Web: "Get Started"
  • 아래 설정 항목 입력
  • S3 권한을 위한 Origin Access Identity 추가
  • Distributions의 Origins and Origin Groups에서 Origins 편집

  • S3 버킷에 CloudFront에서만 권한 설정


  • 버킷 설정의 '액세스 권한' - '버킷 정책'에 다음을 설정하여 CloudFront에서 액세스 권한 부여
    (버킷 이름과 Origin Access Identity ID는 적절합니다)
  • {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "1",
                "Effect": "Allow",
                "Principal": {
                    "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXXXXXXX"
                },
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::<BUCKET_NAME>/*"
            }
        ]
    }
    

    Route 53에 CNAME 등록



    아래 CloudFront의 Domain Name을 Route 53에 CNAME으로 추가



    보충



    CloudFront는 가속화를 위해 콘텐츠를 캐시하므로 S3 콘텐츠를 업데이트한 후
    신속하게 반영하고 싶은 경우는 Amazon CloudFront 캐시 삭제(Invalidation) 를 실행할 필요가 있다.

    좋은 웹페이지 즐겨찾기