タグ

awsとcloudfrontに関するopparaのブックマーク (47)

  • CloudFront用のマネージドプレフィックスリストを使おうとしたら、ルール数の上限とかいう罠にハマった話

    経緯 EC2の前にCloudFrontを置きました EC2にhttpやhttpsでは直接アクセスできないようにしたいです セキュリティグループやネットワークACLにCloudFrontのIPを全部登録するのはツライのでヤダ ここを見れば、一応IPの一覧が分かるが、、、 ならば、マネージドプレフィックスリストを使って、インバウンドのホワイトリストを設定しよう!! 早速やってみる VPCのメニューを辿って、CloudFront用のマネージドプレフィックスリストを確認(CloudFront用のものが最初から用意されている) 名前をメモっておく 設定したいEC2のセキュリティグループのインバウンドに、マネージドプレフィックスを指定したルールを追加 パッと見てCloudFront用か判断できないので、事前に名前を確認しておく必要がある ルールを保存! 設定失敗!! なぜ、エラーになったのか? セキュ

    CloudFront用のマネージドプレフィックスリストを使おうとしたら、ルール数の上限とかいう罠にハマった話
  • 署名付きURLを使用したS3へのファイルのアップロードとダウンロード

    はじめに お客様に、動画マニュアルの社内共有サービスを作れないかと相談されたので、会員向けの動画配信サービスの構築方法を検討することになりました。 前回の記事で、MediaConvertを使って、S3にアップロードされた画像をコンバートする処理の技術検討は終わったので、 次は、 限られたユーザー(ログイン済み)のみ動画をアップロードできる 限られたユーザー(ログイン済み)のみ動画を視聴できる 仕組みの検討を行います。 過去に、画像の共有サービスを構築した際は、AmplifyのStorage機能をAmplify SDKから使って、Cognitoで認証されたユーザーのみアップロード、ダウンロード(署名付きURLで)できる方法を構築したことがありますが、今回は認証にAuth0を利用してみたいと考えているため、 Auth0でログイン済みのユーザーのみ、動画をアップロードできる Auth0でログイン

    署名付きURLを使用したS3へのファイルのアップロードとダウンロード
  • CloudFront+S3 で署名付き URL を用いたコンテンツアクセスをしてみた 2023 | DevelopersIO

    API アクセスが TLS1.2 未満は非対応となる対応として、S3 へアクセスする際に CloudFront を通して署名付き URL を用いる方法を紹介します。 はじめに とアポロチョコと Systems Manager が好きな m.hayakawa です。 TLS 1.2 未満での AWS API エンドポイントへの接続が2023年6月28日以降、不可能になります。 TLS 1.2 がすべての AWS API エンドポイントへの接続に必要な最小バージョンになります | Amazon Web Services ブログ 今後 Transport Layer Security (TLS) の技術の進化と規制基準に対応するため、すべての AWS サービス API エンドポイントの TLS 構成において、最小バージョンを TLS 1.2 に更新する予定です。この更新は、2023 年 6 月

    CloudFront+S3 で署名付き URL を用いたコンテンツアクセスをしてみた 2023 | DevelopersIO
  • CloudFrontのアクセスログ保存用S3バケットにはACL有効化が必要なので注意しよう | DevelopersIO

    はじめに 清水です。先日、Amazon S3のACL無効化が推奨されたことで、S3のサーバアクセスログ記録保存用のS3バケットの権限設定においてもACLではなくバケットポリシーを使用するようになっていた、というブログを書きました。 ACL無効化が推奨されたことでS3のサーバアクセスログ記録のためのアクセス許可はどうなったのか!?確認してみた | DevelopersIO re:Invent 2021期間中に発表されたS3のACL無効化機能に伴う変更です。(【アップデート】S3でACLを無効化できるようになりました #reinvent | DevelopersIO)上記エントリではS3のサーバアクセスログ記録保存用となるS3バケットについて確認しましたが、CloudFrontのアクセスログ記録用となるS3バケットについて、ACL無効化の影響(ACLを無効にしたS3バケットをCloudFron

    CloudFrontのアクセスログ保存用S3バケットにはACL有効化が必要なので注意しよう | DevelopersIO
  • Basic認証付きのCloudFront + S3環境をCloudFormationで構築する

    PoCや個人開発において以下のような構成を取りたいケースが多かったので、CloudFormationでサッと作れるようにしたので備忘メモ✍ デプロイすると、 https://xxxxx.cloudfront.net/ のドメインでBasic認証付きのWebページができあがります また、今回は未着手ですが、バックエンドがほしければServerless Frameworkを追加するなど、色々応用もできるものと思います! (Terraformの例でアレですがこのような方法で可能です) 方法 サンプルとして、今回はこのようなディレクトリ構成を仮定します👪 infra.yml がスタック定義、 dist/ 配下に配信したいWebアプリケーション一式、 bin/deploy がデプロイ用スクリプトのイメージです スクリプト内で環境変数を用いるので、必要に応じて direnv などで注入できるようにし

    Basic認証付きのCloudFront + S3環境をCloudFormationで構築する
  • Amazon S3 オリジンへのアクセスの制限 - Amazon CloudFront

    翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。 Amazon S3 オリジンへのアクセスの制限 CloudFront では、認証されたリクエストを Amazon S3 オリジンに送信する 2 つの方法として、オリジンアクセスコントロール (OAC) とオリジンアクセスアイデンティティ (OAI) があります。OAC は以下をサポートしているため、OAC の使用をお勧めします。 すべての AWS リージョンのすべての Amazon S3 バケット (2022 年 12 月以降に開始されたオプトインリージョンを含む) AWS KMS による Amazon S3 サーバー側の暗号化 (SSE-KMS) Amazon S3 に対する動的なリクエスト (PUT と DELETE) オリジンアクセスアイデンティティ (OAI

  • Restricting access to an Amazon Simple Storage Service origin - Amazon CloudFront

  • 【まとめ】Amazon CloudFront CDNサービス

    CDN用語 CDNとは CDNとはContent Delivery Networkの略です。いくらインターネットが光回線と言っても、地球規模で見れば物理的に離れている地域からコンテンツが入っているサーバ(オリジン)へのアクセスは遅くなってしまいます。これを改善する為にCDNがあります。各地域からアクセスされても、それぞれの近い場所(エッジ)から配信されるような仕組みです。 また、エッジでキャッシュを効かせる事で、より迅速なデリバリーを実現する強力なサービスです。速度改善したいという場合には、大きな効果が見込めるはずです。 エッジとは 世界各地に配置されているCDNをする為の配信サーバ群の事です。 Lambda@EdgeというのがCloudFrontに導入出来ますが、これはエッジで稼働するLambdaという意味合いです。ユーザに近い場所で稼働出来るというメリットがあります。 オリジンとは コ

    【まとめ】Amazon CloudFront CDNサービス
  • ゲノムブラウザ JBrowse2 を CloudFront + S3 で Web 公開してみた | DevelopersIO

    ゲノムブラウザの JBrowse を Web 公開するときに Web サーバー(Apache, Nginx)が必要なのか調べていました。 すると、静的サイトなので Amazon S3 でも動作すると公式ガイドに書いてあります。ということで試してみました。 JBrowse doesn't strictly need Apache or nginx, it is "static site compatible" meaning it uses no server code and can run on any static website hosting. For example, you can upload the jbrowse folder that we prepared here in /var/www/html/jbrowse2 to Amazon S3, and it will

    ゲノムブラウザ JBrowse2 を CloudFront + S3 で Web 公開してみた | DevelopersIO
  • CloudFront用のAWS管理プレフィックスリストを使用しました - ヤマムギ

    このブログでは、CloudFrontのカスタムヘッダーとALBのルーティングを組み合わせて、CloudFront以外からのリクエストを除外していました。 CloudFrontのカスタムヘッダーがなければALBのルーティングで403レスポンスを返す 2022年2月にCloudFront用のAWS管理プレフィックスリストがリリースされましたので、こちらを使用することにしました。 Amazon VPCAmazon CloudFront 用に AWS が管理するプレフィックスリストのサポートを開始 VPCのプレフィックスリストでIDを確認してコピーしておきました。 ALBにアタッチしているセキュリティグループのインバウンドルールを編集しました。 CloudFrontのプレフィックスリストはリージョン対象じゃないせいか、選択リストには出てきませんので、コピーしておいたIDを貼り付けました。 「

    CloudFront用のAWS管理プレフィックスリストを使用しました - ヤマムギ
  • ディストリビューションでの CloudFrontさまざまなオリジンの使用 - Amazon CloudFront

    翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。 ディストリビューションでの CloudFrontさまざまなオリジンの使用 ディストリビューションを作成するときは、 がファイルのリクエスト CloudFront を送信するオリジンを指定します。では、さまざまな種類のオリジンを使用できます CloudFront。例えば、Amazon S3 バケット、 MediaStore コンテナ、 MediaPackage チャネル、Application Load Balancer、または AWS Lambda関数 URL を使用できます。

  • Amazon CloudFront が Server Timing ヘッダーを導入 | Amazon Web Services

    Amazon Web Services ブログ Amazon CloudFront が Server Timing ヘッダーを導入 はじめに Amazon CloudFront は新機能である Server Timing ヘッダーを最近発表しました。これは、リクエストを受け取ったときにコンテンツがキャッシュから提供されていたか、リクエストが CloudFront エッジロケーションにどのようにルーティングされたか、接続と応答プロセスの各段階でどれくらいの時間が経過したかといった、詳細なパフォーマンス情報を提供するものです。 Server Timing ヘッダーは、ビューアーのレスポンスに HTTP ヘッダーの形で追加のメタデータを提供し、クライアント側のアプリケーションコードで検査したり、使用することができます。Server Timing ヘッダーを使用すると、CloudFront パフォ

    Amazon CloudFront が Server Timing ヘッダーを導入 | Amazon Web Services
  • AWS LambdaをAmazon CloudFrontのオリジンに指定してみた | DevelopersIO

    先日のアップデートにより、AWS LambdaにHTTPSエンドポイントを設定できるようになり、Amazon API GatewayやApplication Load Balancerなどを挟まずにLambdaを直接APIとして呼び出せるようになりました。 [アップデート]LambdaがHTTPSエンドポイントから実行可能になる、AWS Lambda Function URLsの機能が追加されました! | DevelopersIO Announcing AWS Lambda Function URLs: Built-in HTTPS Endpoints for Single-Function Microservices | AWS News Blog LambdaをHTTPSで呼び出せるということは、Amazon CloudFrontのオリジンにLambdaを指定できることを意味し、CDN

    AWS LambdaをAmazon CloudFrontのオリジンに指定してみた | DevelopersIO
  • 【新機能】Amazon CloudFrontに「Maximum TTL / Default TTL」が設定できるようになりました! | DevelopersIO

    こんにちは、せーのです。今日はまさにAWSらしい、痒い所に手が届くアップデートをご紹介します。 CloudFrontのTTL CloudFrontはそんなに頻繁に更新しないような画像、JS、CSSファイル等のキャッシュに使うのであれば特段の設定なく絶大な威力を発揮しますが、威力が絶大故になかなか思い通りに動いてくれない、というお話もよく聞きます。その内の一つが「キャッシュTTL」に関する設定です。まずはこの記事を御覧ください。 CloudFrontのキャッシュ時間(TTL)はどの程度なのか 例えばS3の画像をCloudFrontで配信する場合、24時間がデフォルトでキャッシュされます。何も設定を加えなければ画像を差し替えようが削除しようが24時間は同じ画像が表示され続けます。これを15分くらいのキャッシュでどんどん更新していきたい、という場合は各画像オブジェクトに対してmeta-dataで

    【新機能】Amazon CloudFrontに「Maximum TTL / Default TTL」が設定できるようになりました! | DevelopersIO
  • CloudFrontで「Forward Cookies」を「All」にしている時に注意すべき点 | DevelopersIO

    菅野です。 先日、CloudFront経由でウェブページにアクセスした時に常に「X-Cache: Miss from cloudfront」となるので調査したところ、CloudFrontの「Behavior」の「Forward Cookies」が「All」になっている事が原因でした。 今回はなぜ「All」だとキャッシュが使われなかったのか、CloudFrontにおけるcookieの注意点について書こうと思います。 webページを準備 EC2インスタンスを立ち上げ、apacheとphpをインストールします。 /var/www/html/index.phpを作成し、内容は以下にします。 GoogleAnalyticsもcookieを使うので検証の為に埋めました。 <?php setcookie( "cookie01", "value01" ); // setcookie( "cookie02"

    CloudFrontで「Forward Cookies」を「All」にしている時に注意すべき点 | DevelopersIO
  • CloudFront でオリジンに Authorization ヘッダを送る設定をしようと思うとエラーが出て設定できない - Qiita

    経緯 CloudFront のバックにあるオリジンサーバーに対して Authorization ヘッダを送信する設定をしたい。 しかし、この設定を実施しようと Origin Request Policy の Header: whitelist とした後、Authorization を指定すると "The parameter Headers contains Authorization that is not allowed" というエラーになる。 なお、これを CloudFormation でやると "Invalid Parameter" としか出てこないので原因の特定にものすごい時間がかかった。 対処方法 一応、公式でも説明されている。 まとめると、 Origin Request Policy に Authorization ヘッダを含めることはできない Authorization ヘッ

    CloudFront でオリジンに Authorization ヘッダを送る設定をしようと思うとエラーが出て設定できない - Qiita
  • CloudFront + WordPress 構成の必須設定 | Oji-Cloud

    概要 はじめに 日は、AWS CloudFront + WordPress 構成を構築する上でハマった落とし穴をいくつかご紹介します。CloudFront + WordPress 構成を採用される方は、参考にして下さい。 システム構成 Amazon Lightsailに、WordPress環境を起動しています。WordPressのバージョンは、5.6です。WordPressのフロントにCloudFrontを設置し、CloudFrontでSSLの終端を行っています。 なお、今回ご紹介する落とし穴は、通常のWordPress環境およびWordPress Multisite環境の両方で発生することを確認しております。 siteurl がオリジン側のURLを向いてしまう 説明 Amazon LightsailにWordPressのインスタンスを起動し、CloudFront のオリジンに設定してデ

    CloudFront + WordPress 構成の必須設定 | Oji-Cloud
  • AWS WAFのブロック時にカスタムエラーページを表示する | DevelopersIO

    AWS WAFが通信をブロックすると、ユーザーには「403 Forbidden」という味気ないメッセージが表示されます。CloudFrontのカスタムエラーページを使うと、ユーザーが用意したhtmlファイルの内容を表示できます。 標準のエラー画面 WAFがブロックすると、ブラウザには「403 Forbidden」と表示されます。一般のエンドユーザーにはわかりづらいかもしれません。 ご紹介するカスタムエラーページを使うと、以下のようにユーザーが用意した内容を表示できます。 構成図 カスタムエラーページの表示にはCloudFrontとS3を使います。S3に「forbidden.html」をアップロードしておきます。検証環境では、ALBにWAFを適用しました。 forbidden.htmlは以下の内容で、S3バケット直下に配置しました。 <!DOCTYPE html> <html> <head>

    AWS WAFのブロック時にカスタムエラーページを表示する | DevelopersIO
  • CloudFrontを利用してオリジンサーバー障害時にS3上のコンテンツを表示する | DevelopersIO

    こんにちは、坂巻です。 CloudFrontのマルチオリジン(ELB-Origin、S3-Origin)構成で、オリジンサーバの障害時に、S3 Originに自動的に切り替わるように設定してみたいと思います。 構成 マルチオリジン(ELB-Origin、S3-Origin)のパスよるオリジンの振り分けを設定した構成です。 設定 S3バケット 障害時に表示させたいコンテンツ格納するバケット「nochi251」を作成します。配下にmaintenanceフォルダを作成し、ファイルを格納しています。 S3 Originは、通常のバケットとして設定するか、Webサイトホスティング機能を有効にして使用するかで、機能に違いがあるのでご注意ください。詳細は以下をご確認ください。 CloudFrontのオリジンサーバによる機能の違い ここでは、Webサイトホスティングは設定せず、S3 Origin(バケット

    CloudFrontを利用してオリジンサーバー障害時にS3上のコンテンツを表示する | DevelopersIO
  • OAIなS3+CloudFront環境でタグを使って特定のS3オブジェクトだけ非公開にする | DevelopersIO

    CloudFrontのOrigin Access Identityを使用してS3バケットポリシーによるアクセス制限をしている環境で、タグを付与した特定のS3オブジェクトのみをCloudFront経由で非公開にする、ということをやってみます。 はじめに 清水です。Amazon CloudFrontのオリジンアクセスアイデンティティ(Origin Access Identity: OAI)を使ってS3へのアクセスをCloudFrontからのみに限定することができます。CloudFrontディストリビューション作成時などに設定されるデフォルトのOAIを使用するS3バケットポリシーの場合、対象のS3バケット内のオブジェクトはすべてCloudFront経由で公開される状態となります。この状態から、S3バケット内の特定のオブジェクトのみを非公開(CloudFront経由でアクセスできない)にする方法を

    OAIなS3+CloudFront環境でタグを使って特定のS3オブジェクトだけ非公開にする | DevelopersIO