初期化設定
このドキュメントでは、NetFUNNEL CloudFront Agentで使用可能なLambda config設定と追加機能を説明します。
Lambda Config設定
Lambda関数のindex.mjsファイルでconfigオブジェクトを通じてNetFUNNELエージェントの動作を制御します。
必須設定
clientID
NetFUNNELコンソールで発行されたクライアントIDを入力します。
const config = {
clientID: "{{CLIENT_ID}}",
}
設定方法:
- Lambda関数の
index.mjsファイルを開く configオブジェクトのclientIDにNetFUNNELコンソールのClient IDを入力- [Deploy]ボタンをクリック
- [バージョン]タブ → [新しいバージョンを発行]をクリック
- CloudFrontでLambda関数バージョンを更新し、無効化を実行
追加機能
Good Bot例外処理
Lambda設定を通じて、特定のUser-Agent値が含まれている場合、エージェント動作から例外処理できます。
Lambda設定
const config = {
clientID: "{{CLIENT_ID}}",
goodBots: ["Googlebot", "Bingbot", "Slurp", "Applebot", "facebookexternalhit"],
}
例: Google、Microsoft、Yahoo、Apple、Facebookボットを例外処理した例コードです。
設定方法:
- Lambda関数の
index.mjsファイルを開く configオブジェクトのgoodBotsに例外したいグッドボットのUser-Agentを配列として追加- [Deploy]ボタンをクリック
- [バージョン]タブ → [新しいバージョンを発行]をクリック
- CloudFront設定と無効化を実行
CloudFront設定
- Lambda@Edgeを適用したCloudFront Distributionを選択
- [動作]タブで項目を選択し、[編集]をクリック
- 下部の関数関連付けでビューアーリクエストとビューアーレスポンスを新しいバージョンに更新
- [変更を保存]をクリック
CloudFront無効化
- [無効化]タブをクリック
- [無効化作成]をクリック
- オブジェクトパス:
/*を入力 - [無効化作成]をクリック
進入キー自動返却処理
NetFUNNEL CloudFrontエージェントは、進入後にNetFUNNELキーを自動的に返却して、次の待機者が進入できるように処理しています。NetFUNNELキーをすぐに返却せず、セグメントで設定したタイムアウト時間にNetFUNNELキーを返却したい場合に使用できる機能です。
Lambda設定
const config = {
clientID: "{{CLIENT_ID}}",
returnKey: true,
}
true(デフォルト): 待機完了および進入後、エージェントでNetFUNNELキーを自動的に返却します。false: セグメントで設定したタイムアウト時間にキーが返却処理されます。
設定方法:
- Lambda関数の
index.mjsファイルを開く configオブジェクトのreturnKeyにtrueまたはfalseを入力- [Deploy]ボタンをクリック
- [バージョン]タブ → [新しいバージョンを発行]をクリック
- CloudFront設定と無効化を実行
CloudFront設定
- Lambda@Edgeを適用したCloudFront Distributionを選択
- [動作]タブで項目を選択し、[編集]をクリック
- 下部の関数関連付けでビューアーリクエストとビューアーレスポンスを新しいバージョンに更新
- [変更を保存]をクリック
CloudFront無効化
- [無効化]タブをクリック
- [無効化作成]をクリック
- オブジェクトパス:
/*を入力 - [無効化作成]をクリック
待機室ドメイン変更
NetFUNNEL待機室ページのドメインはagent-lib.stclab.comです。このドメインをサービス中のドメインに合わせて変更するには、NetFUNNELサービスチームを通じて希望するドメインを伝え、Lambda設定を変更する必要があります。
Lambda設定
const config = {
clientID: "{{CLIENT_ID}}",
vwrPageDomain: "https://wait.stclab.com",
}
例: 待機室ドメインをwait.stclab.comに変更する例コードです。
設定方法:
- viewer-requestに適用したLambda関数を開く
index.mjsファイルを開くconfigオブジェクトのvwrPageDomainに変更したい待機室アドレスを入力- [Deploy]ボタンをクリック
- [バージョン]タブ → [新しいバージョンを発行]をクリック
- CloudFront設定と無効化を実行
CloudFront設定
- Lambda@Edgeを適用したCloudFront Distributionを選択
- [動作]タブで項目を選択し、[編集]をクリック
- 下部の関数関連付けでビューアーリクエストとビューアーレスポンスを新しいバージョンに更新
- [変更を保存]をクリック
CloudFront無効化
- [無効化]タブをクリック
- [無効化作成]をクリック
- オブジェクトパス:
/*を入力 - [無効化作成]をクリック
クッキードメイン設定
NetFUNNELサーバーで発行したキーをクッキーに保存する際、現在のページのドメインを基準に保存します。異なるサブドメイン間でキーを共有する必要がある場合、メインドメインがクッキーに保存されるように設定します。
例: develop.stclab.comとstaging.stclab.comのようにサブドメインが異なるページ間でクッキーを共有するように.stclab.comに設定します。
Lambda設定
const config = {
clientID: "{{CLIENT_ID}}",
cookieDomain: ".stclab.com",
}
例: クッキードメインを.stclab.comに変更する例コードです。
設定方法:
- viewer-requestに適用したLambda関数を開く
index.mjsファイルを開くconfigオブジェクトのcookieDomainに.MAIN_DOMAIN形式で入力- [Deploy]ボタンをクリック
- [バージョン]タブ → [新しいバージョンを発行]をクリック
- CloudFront設定と無効化を実行
CloudFront設定
- Lambda@Edgeを適用したCloudFront Distributionを選択
- [動作]タブで項目を選択し、[編集]をクリック
- 下部の関数関連付けでビューアーリクエストとビューアーレスポンスを新しいバージョンに更新
- [変更を保存]をクリック
CloudFront無効化
- [無効化]タブをクリック
- [無効化作成]をクリック
- オブジェクトパス:
/*を入力 - [無効化作成]をクリック
Lambda関数デプロイとCloudFront無効化
Lambda configを変更した後は、必ず以下のステップを実行して変更内容を適用する必要があります。
- Lambda関数で[Deploy]ボタンをクリック
- [バージョン]タブ → [新しいバージョンを発行]をクリック
- CloudFront DistributionでLambda関数バージョンを更新
- CloudFront無効化を実行
関連ドキュメント
- インストールと初期化: Lambda config基本設定
- トラブルシューティング: 一般的な問題と解決方法