CloudFormation, CloudFront의 PublicKey와 KeyGroup 만들기

4734 단어 AWSCloudFronttech
CloudFormation으로 CloudFront의 Public Key와 Key Group을 만들고 싶은데 CloudFormation의 일본어 문서에는 없고 영어판만 있어서 필기하는 데 시간이 좀 걸렸어요.

Cloud Front의 열쇠. 맞아요.


CloudFront의 키는 서명이 있는 URL과 서명이 있는 쿠키로 내용을 보낼 때 필요합니다.
서명이 있는 URL·쿠키는 주로 개인 콘텐츠를 전송하는 데 쓰인다

서명 URL

  • 개별 콘텐츠
  • 사용자가 쿠키를 사용할 수 없는 경우
  • 서명 쿠키

  • 다중 컨텐츠 배포
  • URL을 변경하지 않으려는 경우
  • 서명이 있는 URL에서 긴 URL을 보내고 끝점 GET
  • 쿠키의 경우 예를 들어 서버 측면Set-Cookie에 쿠키를 설정하면 클라우드 프론트의 단점
  • 을 직접 사용할 수 있다.
    상술한 느낌에 따라 구분하여 사용하다.
    다른 것은 좀 다르니 참조문서.

    발행 열쇠


    서명이 첨부된 URL이나 쿠키의 발행에 서명이 필요한 사람은 현재 아래 두 가지 중에서 선택할 수 있다.
  • AWS 계정
  • Trusted Key Group
  • 두 가지 선택이 있지만 AWS 계정은 루트 사용자가 조작해야 하기 때문에 지금은 추천하지 않습니다.
    인터넷 보도도 이 방법으로 이뤄지는 경우가 많으니 주의해야 한다.
    자세한 발매 순서는 좋은 기사가 많아서 사랑을 끊는다.
    여기서부터 신뢰할 수 있는 키 그룹 서명을 사용하려면 PublicKey와 KeyGroup을 만들어야 합니다.
    이 두 개는 콘솔 화면에서 금방 찾을 수 있는데 클라우드 포메이션으로 만들려고 문서를 찾았지만 찾지 못했다.
    나는 많은 것을 찾았는데 문서 속의 언어가 영어로 쓰여 있는 것을 발견하여 샘플 코드를 남겼다.

    샘플 코드


    # ----------
    # PublicKey
    # ----------
    PublicKey:
        Type: AWS::CloudFront::PublicKey
        Properties: 
            PublicKeyConfig: 
                CallerReference: "CloudFront-Cookie"
                EncodedKey: | # PubicKeyなのでインラインでも大丈夫そう。SecretManagerやParameterStoreを指定するのもあり
                    -----BEGIN PUBLIC KEY-----
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~
                    -----END PUBLIC KEY-----
                Name: "CloudFront-Public-Key"
                Comment: "sample"
    
    # ----------
    # KeyGroup
    # ----------
    KeyGroup:
        Type: AWS::CloudFront::KeyGroup
        Properties: 
            KeyGroupConfig: 
                Items:
                    - !Ref PublicKey # 上で作成したPublicKey
                Name: "KeyGroup"
                Comment: "sample"
    
    별도의 Distribution의 Cache Behavior도 설정해야 한다.문서

    좋은 웹페이지 즐겨찾기