カスタムドメインを介して 関数と Pages にアクセスするには、エントリポイントとしてドメイン名を設定します。Edge Security Acceleration (ESA) は、HTTP/HTTPS リクエストを 関数と Pages に転送するために、ドメイン名の関連付け と ルート の 2 つのメソッドを提供します。
前提条件
ドメイン名の関連付け と ルート の両方で、ご利用のアカウントにアクティブなサイトが必要です。
アクティブなサイトとは、プランを購入済みで、NS レコードまたは CNAME レコードを使用して接続されているサイトのことです。
設定メソッドの選択

|
機能 |
ドメイン名の関連付け |
ルート |
|
主な目的 |
|
事前定義されたパスに一致するリクエスト ( |
|
スコープ |
ドメインのすべてのトラフィック。 |
ルールに一致するトラフィックのみ。 |
|
設定 |
シンプルで、ワンステップのプロセスです。 |
柔軟です。一致ルールの設定が必要です。 |
|
利用シーン |
|
|
カスタムドメインのバインド
ドメイン名の関連付け を使用して、ドメインからのすべてのトラフィックを単一の 関数と Pages インスタンスに転送します。
関数と Pages をサイトドメインにリンクします。バインド後、カスタムドメインを介して 関数と Pages にアクセスします。関数と Pages にバインドされるドメインは、利用可能なサイトに属している必要があります。ESA は、バインドされたドメインの DNS レコードを自動的に追加します。
-
ESA コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。対象の 関数と Pages インスタンスをクリックします。
-
ドメイン名 タブをクリックします。ドメイン名の関連付け セクションで、ドメイン名を追加 をクリックします。

-
お使いの 関数と Pages インスタンスに関連付けるドメイン名 (
pages.example.comなど) を入力します。 ESA は、対応するサイトにそのドメインの DNS レコードを自動的に作成します。説明新しいドメインは、そのサイトの設定を継承します。サイトに SSL/TLS 証明書がない場合、ドメインは HTTPS でアクセスできません。HTTPS アクセスを有効にするには、「SSL/TLS」をご参照ください。

-
サイトの接続メソッドに基づいて、次のステップを完了します。
NS レコード
サイトでNS レコードを使用している場合は、DNS レコードが反映されるまで約 1 分間待ちます。 その後、ブラウザを開き、
pages.example.comなどのカスタムドメインにアクセスして結果を確認します。
CNAME レコード
サイトで CNAME レコードを使用している場合は、DNS プロバイダーで CNAME レコードを追加してドメインをアクティブ化します。
-
カスタムドメインのリストで、新しいドメインを見つけて DNS レコードの表示 をクリックします。

-
ESA が生成した CNAME 値をコピーします。

-
DNS プロバイダーのウェブサイトに移動し、次の情報で CNAME レコードを追加します:
-
ホストレコード: カスタムドメインのプレフィックスを入力します。 この例では
pagesを入力します。 -
レコードタイプ:
CNAMEを選択します。 -
レコード値:前のステップでコピーした CNAME 値を貼り付けます。

-
-
ESA コンソールに戻り、CNAME のステータス が 設定済み と表示されるまで待ちます。
その後、ブラウザで pages.example.comのような、先ほどバインドしたカスタムドメインにアクセスすると、ページを表示できます。
-
ルートの設定
特定の URL パスに一致するリクエストを 関数と Pages インスタンスにルーティングして、詳細なトラフィックコントロールを行います。一致するリクエストは 関数と Pages によって処理され、一致しないリクエストは標準の ESA 高速化およびキャッシュフローを経由します。たとえば、example.com サイトの example.com/a* のルートは、/a、/a1、および /a2 へのリクエストを 関数と Pages に送信しますが、/b、/c、および /d へのリクエストはオリジンまたはキャッシュに送信されます。
-
ESA コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。対象の 関数と Pages インスタンスをクリックします。
-
ドメイン名 タブをクリックします。ルート セクションで、ルートを追加 をクリックします。

-
ルート名 を入力し、サイトの選択 リストから、
example.comなどの対象のサイトを選択します。 -
ルートモード を選択します。
-
シンプルモード: URL (ホスト名とパス) のみに基づいてリクエストを照合します。 たとえば、URL プレフィックス
pages.example.comを持つすべてのリクエストを 関数と Pages インスタンスにルーティングするルールを設定できます。
-
カスタムモード: リクエストヘッダー、 Cookie、リクエストメソッドなどの複数の条件を組み合わせて複雑なマッチングを行い、条件間の論理関係 (すべて/いずれか) を設定します。たとえば、
Hostnameがwww.example.comであり、かつUser-AgentリクエストヘッダーにMobileが含まれる場合にのみ、リクエストを 関数と Pages に転送します:
-
-
ブラウザで、ルートに一致する URL にアクセスして結果を確認します。

-
[基本モード] を使用し、
*.example.comやwww.example.comなどのプレフィックス付きのドメインを入力する場合、対応する DNS レコードが ESA コンソールに存在しているか、レコードを手動で追加する必要があります。そうしないと、ドメインへのリクエストは失敗します。 -
複数のルートがある場合、上から下の順に評価されます。最初に一致したルートが適用され、他のすべてのルートは無視されます。
一致ルール
-
ルートには、ホスト名とパスの両方が含まれている必要があります。
/pathのような、パスのみのルートはサポートされていません。 -
ルートの先頭または末尾にワイルドカード
*を追加すると、より多くのリクエストに一致させることができます。ワイルドカード*は、0 文字以上の文字に一致します。たとえば、example.com/*はexample.comへのすべてのリクエストに一致します。 -
ルートはケースセンシティブです。例えば、
example.com/aとexample.com/Aは 2 つの異なるルートです。 -
ワイルドカード (
*) はパスの途中に含めることはできず、パターンではクエリパラメーターはサポートされていません。たとえば、example.com/*/pathやexample.com/path?param=1のようなパターンは無効です。 -
リクエストが複数のルートに一致する場合、リストの最初に一致したルートが優先されます。
バイパスモード
ルートで [バイパスモード] を有効にすると、一致するリクエストがサブリクエストとして 関数と Pages サービスに送信されます。このモードは、オリジンへのメインリクエストフローを中断することなく、認証やログ記録に使用します:
|
|
|
-
クライアントが ESA のエッジノード (POP) にリクエストを送信します。
-
リクエストはルートに一致すると、関数と Pages に転送され、ロギングや認証などの操作が行われます。バイパスモードでは、リクエストボディは 関数と Pages には転送されません。
-
関数と Pages が
200状態コードを返した場合、リクエストは次のステップに進みます。それ以外の状態コードを返した場合、ESA は処理を停止し、クライアントに403状態コードを返します。 -
リクエストは標準の ESA フローに進み、キャッシュポリシーと照合されるか、オリジンサーバーに転送されます。
-
キャッシュヒットまたはオリジンサーバーからの応答が ESA ノードに返されます。この時点で、応答は 関数と Pages によって処理されなくなります。
-
応答がクライアントに送信されます。
利用シーン
-
ログ記録:バイパスモードを使用して、特定のリクエストを 関数と Pages に転送し、関数内でカスタムのログ記録ロジックを定義します。
-
大容量ファイルのダウンロードの認証:大きな応答を関数経由で転送すると、多くの CPU 時間を消費し、コストが増加します。バイパスモードを使用して、まず 関数と Pages で認証を行うことで、関数を介した大容量ファイルの転送を回避します。