概要 CloudFrontのバックエンドのElasticBeanstalkに構築したNginxを使い、そのNginxからproxy_passでprivateなS3を利用したときに、アクセス制御でハマったのでその解決方法について共有 構成 CloudFront -> ElasitcBeanstalk(nginx) -> S3(private) 詳細 S3がprivateなのでアクセスするには設定が必要で、以下の2つの方法を検討した。 VPC Endpointを使用 IAMでのアクセス制御 1の方法は今回利用したいアプリケーション以外にも同じVPCに属するインスタンスからのアクセスも許可してしまうデメリットがある。今回のケースではReadOnlyなアクセスなので、それでも副作用は特にないのだが、2の方がより適切なアクセス制御ができるので2を採用した。 nginx+luaでproxy_passす