Cloudfront + S3 + バックエンドを使ったAWS構成について
Cloudfront + S3 + バックエンドを使った場合の構成についての様々事例を集めていく。
ALB+EC2にWebページとバックエンドを置いて、S3に静的ファイルを置いたケース。
EC2のサーバに認証に関する機構が入っており、ログインしないとS3にアクセスできないような作りとしている。
API Gateway + Lambdaから署名付きURLを発行して、Cloudfront + S3に対してそのURLでアクセスする。
ダウンロード、アップロード用のAPIを実現するための構成。
フロントエンドとしてCloudfrontを用いて、バックエンドとしてAPI Gateway + Lambdaを利用。
構成図上はAPI Gatewayのアクセスの前にCloudfrontを置いていないが、フロントエンドからバックエンドのアクセスを同一オリジンとすることは考慮していない?
cloudfront + S3 + ecsの構成。CloudfrontがアクセスURLによってS3かecsかを振り分ける。
この場合同一ドメインとなる。
S3にフロントエンドを置いて、バックエンドとしてALB + ECS + EC2(踏み台サーバー)を置いた構成。
踏み台サーバまで図に入れてあるのは珍しいが、それ以外の構成としては一般的のように見える。
同じくCloudfront + S3 + ECSの構成。その料金試算例
PCに表示するWebページとしては、Cloudfront + S3 + ALB + ECSで構成し、外部から叩かれるAPI(Device API)はAPI Gatewayを用意する。
外部にAPIを公開するようなケースとWebページを公開するケースを両立させるためにはこのアーキテクチャが一例になりそう。
バックエンドのAPI Gateway + Lambdaの前段にCloudfrontも経由することでCORSを回避する構成。
Cloudfront + S3 + API Gateway + Lambdaをコンテンツ管理者の配信用に用意し、モバイルアプリからは別のAPI Gatewayを用意する
Cloudfront + S3 + API Gateway + Lambdaのaws公式のワークショップ
lambdaの中のコードを読むとCORS対応もされている(Access-Control-Allow-Origin)