サーバーレス構成を作成する場合はAPI Gatewayを使用するパターンが増えてくると思います。
今回はAPI Gatewayの前にCloudFrontを設置する構成について整理してみます。
API Gateway
インフラエンジニアとして最低限抑えておくポイントを整理してみます。
API GatewayはAWSのサービスに対してAPIアクセスできるようにするサービスになります。
EC2に対してELBを前段に設置するように、Lambda等に対して前段にAPI Gatewayを設置します。
API Gatewayは「ステージ」という概念があります。
これは「開発環境」「検証環境」「本番環境」のように環境を設定することができます。
ステージ名はURLの一部として指定する必要があります。
ここを抑えておく必要があります。
API Gatewayの前段にCloudFrontを設定する
結論から言ってしまうと、AWSの手順に従うだけです。
独自の CloudFront ディストリビューションで API Gateway を設定する方法を教えてください。
注意すべき部分はCloudFront側になります。
まず、API GatewayはHTTPSのみ対応なので、CloudFront側ではオリジンとの通信をHTTPSのみにする必要があります。
また、HOSTヘッダーを転送してはいけません。
あとは、「Origin Path」を設定するかどうかが検討項目になります。
API Gatewayはステージ名がURLの一部として付与されます。
これを「Origin Path」に含めるとステージ名の指定が省略可能となります。
ただ、ほかのステージにはアクセスできない状態となるので運用面を考慮して決定する必要があります。
コメント