1

奇妙な質問のように聞こえるかもしれませんが、ここで私に同行してください。LightsailとLambda + S3の比較

私は小さなウェブプロジェクトを構築する必要があります。それをフリーにするために、私は静的なサイトとしてS3のフロントエンド部分をホストし、ラムダ関数でホストされているREST APIへのAJAX呼び出しを行うことによってサーバー側の関数を呼び出すようにしました。これまでwebappで自分自身でこれを行っていましたが、クロスオリジン要求が行われたときに複雑なことが起こり、JSONPの使用に悩まされました。この設定に問題はありますか?私はJSONPがセキュリティ上の懸念事項であると聞きましたが、この新しいサイトは一般向けに使用されています。

私の代わりの設定は、サイトとバックエンドをホストするライトセット上にサーバーを構築することです。明らかにこれはおそらくもっと正しいやり方ですが、少しお金です。

これらの方法のどちらを選択するのが適切でしょうか?

その他の質問:CORSを設定することができますので、クロスオリジン要求にJSONPを使用する必要はありませんか?私はCORSにはあまり慣れていません。

答えて

5

これらの方法のどちらを選択するのが適切でしょうか?

「正しい」答えがないので、私はあなたにそれを尋ねなかったふりをします。それは主観的であり、いくつかの意見が意見に基づいています。

しかし、両方の解決策が実行可能です。

APIゲートウェイは、ラムダ機能をインターネットに公開するためにフロントエンドとして使用するもので、CORSサポートを備えているため、気にする必要はありません。

もう1つのオプションは、S3とLambda(API Gatewayを使用)を使用していますが、CloudFrontディストリビューションの背後にある両方のリソースを設定しています。バケットでデフォルトのキャッシュ動作を指定し、/api/*のようなパスパターンを使用してAPIリクエストをAPIゲートウェイにルーティングします。これは適切な発信元へのすべての要求をプロキシしますが、DNS内のサイトのホスト名はCloudFrontを指します。すべてリソースにアクセスします。つまり、いずれの要求もクロスオリジンではありません。 CloudFrontのCDN /キャッシング機能は、静的コンテンツを取得する際の最適なパフォーマンスのボーナスであり、APIに対して無効にすることができます。

+0

もっと正確には、私はどちらが良いか尋ねていませんでした。私はかつてはコルスを使ったことはありませんでしたが、セットアップはかなり簡単です。そのクラウドフロントのアイデアも本当に良いです、私はそれを打つことがあります。ありがとう! – master565

関連する問題