LoginSignup
6
6

More than 5 years have passed since last update.

AmazonS3にAkamai-DSDをつなぎこんだ話

Last updated at Posted at 2016-09-14

Appleの規定のおかげで、CDNをhttpsに対応させなきゃならなくなったのでAkamaiとS3を使った形を作ってみたお話。
※つらつらと備忘録のつもりで書いたのでわかりにくかったらごめんなさい

前提

  • Akamaiでhttpsを使おうとするとオリジン側もhttpsに対応していることが前提だそうな。
    Client-Edge間をSSL化するならオリジンもSSL化して、OriginからClientまでSSL通信のがセキュリティ上望ましい・・・のはわかる。
  • AmazonS3のStatic Website Hostingはhttpsに対応していない。

さてどうすっかー(選択肢)

  1. CloudFrontに切り替える。
    AWS同士なので一番楽。けど、残ったAkamaiどうするという問題が。
  2. AkamaiとS3の間にELB-EC2を挟んでOrigin化する。
    コスト増+運用面倒だが、nginxのReverseProxyによるOriginアクセスの担保とELBによるSSL対応が可能。
  3. AkamaiとS3の間にCloudFrontを挟む。
    CloudFront単体で配信できるっしょw
  4. AmazonS3のLinkアドレスを使う。
    S3のファイルプロパティの所にhttpsのアドレスが書いてある。これ使えそう。

S3のhttpsアドレスでやってみよう

  1. まずはオリジンとなるS3の確認
    キャプチャ.PNG
    https://s3-ap-northeast-1.amazonaws.com/[BucketName]/ がオリジンになる。
  2. Akamaiのオリジン設定に放り込む Akamai_OriginSetting.PNG
    Akamai_OriginBasePath.PNG
    オリジンサーバのホスト名を、上記のドメイン部分を設定
    [s3-ap-northeast-1.amazonaws.com]を設定
    オリジンベースパスにディレクトリ部分
    [BucketName]

    オリジンの設定はこれだけ。S3へのhttpsアクセスが解放されていればAkamaiからもアクセス可能になっているはずです。

結果こうなった

https化.png

注意点

  • このオリジン設定だとDirectoryIndexが効きません。
    そのため全てのパスを絶対指定してください。
    ディレクトリ指定で終わる場合は403が返ってきます。
  • クライアントとアカマイ間の設定は、ここに書いていません。
6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6