CloudFront에서 Wordpress를 실행할 때 여러 가지 빠진 이야기

길어졌기 때문에, 전편 후편으로 나눕니다.

Wordpress를 AWS로 이동하는 구성 예



구성도



다음 구성에서 Wordpress를 AWS에서 이동합니다.

  • EC2에서 Wordpress 실행
  • 인터넷에서 CloudFront에 액세스
  • CloudFront에서 HTTP에서 HTTPS로 리디렉션
  • CloudFront에서 EC2로 HTTP로 포트 번호 8080에 액세스

  • 본래라면 CloudFront와 EC2 사이에 Application Load Balancer를 삽입하는 것이 좋다고 생각합니다.
    어느 쪽이든, 다음과 같은 대응이 필요합니다.

    CloudFront 설정



    Distribution Settings





    Alternate Domain Names (CNAMEs)

    여기에 게시할 FQDN을 넣습니다.

    SSL Certificate

    Custom SSL Certificate를 선택하고 ACM으로 만든 인증서를 선택합니다.

    Origin Settings





    Origin Domain Name

    여기에 EC2의 공용 DNS를 입력합니다.

    Origin Protocol Policy

    HTTP Only를 선택합니다.

    HTTP 포트

    EC2측에서 대기하고 있는 포트 번호로 합니다.
    (이 예에서는 8080입니다)

    Cache Behavior Settings





    다음의 생각으로 작성하고 있습니다만, 캐쉬 설정은 각각의 사이트 타입에 의해 설계가 필요합니다.
  • 관리 화면, 로그인 화면은 캐시되지 않습니다
  • PHP도 캐시하지 않습니다
  • 그 이외는 디폴트 TTL로 캐쉬

  • 관리 화면과 로그인 화면






    Path Pattern

    관리 화면용의 설정에서는 「/wp-admin/*」를, 로그인 화면용의 설정에서는 「wp-login.php」를 설정합니다.

    Origin

    Origin Settings에서 만든 Origin ID를 선택합니다.

    뷰어 프로토콜 정책

    CloudFront에서 HTTPS로 리디렉션하려면 Ridirect HTTP to HTTPS를 선택합니다.

    Allowed HTTP Methods

    Get, HEAD, OPTIONS, PUT, POST, PATCH, DELETE를 선택합니다.

    Cache Based on Selected Request Headers

    Whitelist를 선택하고 다음을 통과합니다.
  • Authorization
    관리 화면에 기본 인증을 넣을 때 등에 필요합니다.
  • CloudFront-Forwarded-Proto
    Origin 측에 프로토콜을 통지합니다.
  • Host
    Origin측에 액세스처 호스트명을 통지합니다.

  • Object Caching

    Customize를 선택합니다.
  • Minimum TTL/Maximum TTL/Default TTL
    모두 0으로 설정합니다.

  • Forward Cookies

    모두를 선택합니다.

    Query String Forwarding and Caching

    Forward all, cache based on all을 선택합니다.

    로그인 화면 이외의 PHP [*.php]



    기본적으로는 로그인 화면과 같기 때문에, 할애합니다.
    예를 들면, 보통의 블로그 사이트등에서는 TTL을 늘린다고 하는 형태를 취할 수 있을까 생각합니다.

    그 외 [Default(*)]



    다음을 제외하고 기본값은 그대로입니다.

    뷰어 프로토콜 정책

    CloudFront에서 HTTPS로 리디렉션하려면 Ridirect HTTP to HTTPS를 선택합니다.

    Cache Based on Selected Request Headers

    Whitelist를 선택하고 기타와 마찬가지로 다음을 통과합니다.
  • Authorization
    관리 화면에 기본 인증을 넣을 때 등에 필요합니다.
  • CloudFront-Forwarded-Proto
    Origin 측에 프로토콜을 통지합니다.
  • Host
    Origin측에 액세스처 호스트명을 통지합니다.

  • Forward Cookies

    모두를 선택합니다.

    Query String Forwarding and Caching

    Forward all, cache based on all을 선택합니다.

    후편 에 계속한다.

    좋은 웹페이지 즐겨찾기