NormalBlog.net フリーランスWebエンジニアの開発ブログ AWS/Terraform/Docker/CircleCI/Vue.js/PHP/CakePHP/Laravel/Ruby on Rails/Python/MySQL/MariaDB/Apache/NginX/Vagrant/WordPress/Git/

CloudFront+Lambda@Edge 自分で関数を実装出来る軽量サーバレスLambdaもなんとこのCloudFrontに直接連携出来ます。どうやって連携するかというと、4種類ありましてAWSの下図を見てください。 CloudFront がビューワーからリクエストを受信したとき (ビューワーリクエスト)CloudFront がリクエストをオリジンに転送する前 (オリジンリクエスト)CloudFront がオリジンからレスポンスを受信したとき (オリジンレスポンス)CloudFront がビューワーにレスポンスを返す前 (ビューワーレスポンス) 図のように、User>CloudFront>Originという構成のそれぞれのつなぎ目に入れる事が可能です。 具体的な用途としては、httpヘッダーを編集(AWSはhttpヘッダーが付与されるので隠蔽したい場合など)したり、A/Bテストの分岐条
S3に静的コンテンツをデプロイし、CDNを使いたい場合って結構あると思います。(画像、js、htmlなどは静的コンテンツになります) 仕組みが理解出来れば、かなり簡単に構築出来ますので覚えておいて損はない構成だと思います。自分がやってみたパターンの概要を記録しておきます。詳細画面は常に変わるので、仕組みとして理解する必要があります。 なお、S3単体でhttps対応する事は現状(2019/9)出来ません。CloudFrontとACMを挟む必要があります。 Route53 独自ドメインの場合、Route53でドメインを取得しておきます。 ACM https対応する場合、ACMで証明書を発行しておきます。 このDNS検証用としてRoute53のCNAMEにresource record valueを設定しておきます。(ウィザードに従えば出来るはず) 注意点 CloudFrontはグローバルな為、
CloudFrontでは1つのACMしか選択できない為、あらかじめACMをSNIにより複数ドメイン分のACMとして作成しておく必要があり、これをCloudFrontで指定してあげるだけです。 SNIとはServerNameIndicationの略で訳はサーバ名表示で、ACMはAWS Certificate Managerの略でSSL証明書を管理してくれます。 これまでは「1台のサーバ(グローバルIPアドレス)につきSSL証明書は1ドメイン」でしたが、SNIを利用すれば、「1台のサーバで異なる証明書」を使い分けることができるようになりました。 CloudFrontまとめ記事 以下にまとめました。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く