Drupal7×CloudFront×SSL村⽥ 和⼦ (@kazuno_ko85)
View Slide
⾃⼰紹介´ 村⽥ 和⼦ (@kazuno_ko85)´ デジタルサーカス株式会社 所属´ Drupal は、2015年1⽉〜´ 最近はずっとD7対応しています。´ Drupal meetup Tokyo にもいます。
概要´ AWS EC2×Drupal7で運⽤していたサイトにCloudFront + AWS CertificateManager を組み合わせて、CDN + 常時SSL化を対応したときのメモです。´ Drupalを中⼼にはまったこと、実際設定したことを中⼼にお話しします。
概要-サーバ構成-CloudfrontEC2port: 433port: 80IP制限ありhttp://admin.XXXX.co.jpでアクセスhttp://www.XXXX.co.jpでアクセスhttp://www-org.XXXX.comport: 80SSLAWS CertificateManager
概要-作業リスト-´ Drupal´ URL書換´ キャッシュ 無効化´ Cloudfront´ Behaviorsの設定´ AWS Certificate Manager´ 証明書発⾏ & Cloudfrontに設定
Drupal-URL書換-´ アクセスされた経路によって、settings.phpにてbase_rootとbase_urlを上書き´ 実際設定した内容(抜粋)´ https://gist.github.com/kazukomurata/9f0de6734fcf892c374fbae0d9b7f663
Drupal-キャッシュ 無効化-´ URL⽂字列をキャッシュする機能は無効化´ Metatag´ 匿名ユーザー向けページのキャッシュ´ ブロック キャッシュ´ CSSファイル圧縮´ モジュールが独⾃にCSSを定義しているときに要注意
Cloudfront-Behaviorsの設定1-´ キャッシュの定義はURLパスベース´ 参考にしまくったサイト「DrupalをCDNで爆速にする⽅法」´ http://blog.redbox.ne.jp/drupal-advent-calendar2016-cdn.html
Cloudfront-Behaviorsの設定2-´ Headerに「CloudFront-Forwarded-Proto」を追加´ ユーザが実際アクセスしているURLをDrupalが知るため
Cloudfront-Behaviorsの設定3-´ 画像URLに「itok」のパラメタを許可´ DrupalのImage Styleの仕様´ 例 /sites/default/files/styles/from_our_blog/public/images.jpg?itok=bTXGvg6Mでアクセスされた場合、対象画像がない場合はDrupalが⽣成した上で画像をレスポンスする。
Cloudfront-Behaviorsの設定4-´ 多⾔語化の場合、URLに⾔語を表す⽂字が⼊ることが多い。´ キャッシュ対象外を設定するときに要注意´ 例 : 「/contact」から始まるURLでフォームの場合、英語ページが「/en/contact」で存在するため、以下のようなパス設定でしのいだ。
AWS Certificate Manager-証明書発⾏ & Cloudfrontに設定´ AWS Certificate Manager´ Cloudfront かELBにセットする分には無料´ 申し込むとサイト管理者向けにメールが届いて、URLにアクセスすれば完了。
ありがとうございました´ 次回もなにか発表します。´ 枠があれば!´ そろそろDrupal8がやりたい!