関数と Pages は、Edge Security Acceleration (ESA) が提供するフルスタックのエッジ開発プラットフォームです。Git ワークフロー、グローバルエッジネットワーク、インテリジェントなビルドシステムを統合し、コミットからグローバル配信までのコードのデプロイを実現します。このプラットフォームは、静的 Web サイト、SPA、SSR アプリケーション、およびエッジ関数をサポートします。
主な機能
-
ビルドとデプロイの自動化: 関数と Pages は GitHub をネイティブにサポートしており、main ブランチのコード変更を自動的に検出してビルドとデプロイをトリガーします。
-
グローバルエッジ配信: 数秒でグローバルにデプロイします。すべてのリクエストは最寄りのエッジノード (POP) にルーティングされ、アクセスレイテンシーを最小限に抑えます。
-
エンタープライズレベルのセキュリティ、コンプライアンス、O&M: ESA のセキュアアクセラレーションと統合し、Pages サイトに WAF、DDoS 攻撃対策、ボット管理を提供します。段階的リリースをサポートし、監視とログ記録機能も含まれています。
-
エッジ関数機能: V8 Isolate に基づく低レイテンシーのエッジ関数を提供し、自動スケーリングに対応しています。サーバー管理は不要です。
-
開発者に優しいエクスペリエンス: Web コンソール、CLI、または RESTful API から操作して、自動化された統合を実現できます。
仕組み
-
リクエストタイプのチェック: クライアントリクエストが ESA のエッジノード (POP) に到着すると、POP はリクエストタイプを識別します。関数と Pages のリクエストは、最適化された処理のために専用モジュールにルーティングされます。
-
リクエストコンテンツの処理: 関数モジュールは動的コンテンツを処理します。静的コンテンツはキャッシュモジュールから取得されるか、オリジンサーバーからフェッチされます。
用語
-
関数: Alibaba Cloud のエッジノード上で、アップロードされたコードを実行する JavaScript 実行環境です。関数は、構成 (名前と説明) とコード (アップロードするスクリプト) の 2 つの部分で構成されます。
-
Pages: ESA インフラストラクチャ上に構築された、静的サイトやサーバーレスアプリケーションをビルドおよび公開するためのフロントエンド開発およびデプロイプラットフォームです。Pages は関数と統合して、動的リソースと静的リソースをエッジから配信し、グローバルユーザーのレイテンシーを削減します。
-
バージョン: 特定の時点におけるコードのスナップショットです。各バージョンには、システムが生成したバージョン番号が割り当てられます。関数または Pages プロジェクトを公開する際に、デプロイするバージョンを選択します。いつでも以前のバージョンにロールバックできます。このプラットフォームは、パーセンテージベースの段階的リリースをサポートしており、2 つのバージョンを同時に公開し、トラフィック比率をカスタマイズできます。たとえば、バージョン 1 に 10% のトラフィックを、バージョン 2 に 90% のトラフィックをルーティングして、制御されたロールアウトを行うことができます。
-
環境: 関数は、ステージング環境と本番環境を提供します:
-
ステージング環境: 本番環境をシミュレートしてテストを行うための、分離されたエッジノードです。ステージング環境での変更は本番環境に影響しません。アクセスするには、ステージング環境の IP アドレスを hosts ファイルに追加する必要があります。
-
本番環境: グローバルに分散されたエッジノードで構成されるオンライン環境です。ステージング環境でテストした後、コードを本番環境に公開します。上の図は説明のみを目的としています。エッジノードはリクエスト量に基づいて自動的にスケーリングされ、リージョン分布は異なる場合があります。
-
-
ドメイン名: ドメイン名は関数をトリガーします。ドメイン名の関連付けとルートの 2 つのメソッドがサポートされています。ドメインをバインドしてすべてのトラフィックを関数に転送するか、ルーティングを使用して特定のトラフィックを転送します。詳細については、「ドメイン名の設定」をご参照ください。
制限事項
|
機能 |
項目 |
制限 |
説明 |
|
関数 |
応答時間 |
120 秒 |
関数の 1 回の実行における応答時間は、I/O 待機時間を含めて 120 秒を超えることはできません。 |
|
待機時間 |
10 秒 |
ゲートウェイが関数の応答を待機する最大時間です。10 秒以内にデータが返されない場合、ゲートウェイは接続を切り、HTTP 504 を返します。 |
|
|
コードパッケージサイズ |
4 MB |
関数あたりの JavaScript コードファイルの最大サイズです。 |
|
|
サブリクエスト数 |
4 |
関数の実行あたりの最大フェッチリクエスト数です。 |
|
|
開発言語 |
JavaScript (ES6 構文) |
JavaScript のみがサポートされています。 |
|
|
Pages |
ファイル数 |
2,000 |
Pages プロジェクトあたりの静的ファイル (HTML、CSS、JS、画像) の最大数です。 |
|
単一ファイルサイズ |
25 MB |
ファイルあたりの最大サイズです (動画、PDF、JS パッケージなど)。 |
|
|
パッケージサイズ |
1,024 MB |
圧縮されたデプロイパッケージの最大サイズです。 |