AScript を使用すると、Application Load Balancer (ALB) コンソールでリスナーのカスタム転送ルールを作成できます。
前提条件
テスト用に、標準または WAF 有効化 ALB インスタンスが作成されていること。 詳細については、「ALB インスタンスの作成と管理」をご参照ください。
ステップ 1: テストリスナーの作成
テスト用の ALB インスタンスで、HTTP、HTTPS、または QUIC リスナーを作成します。 このトピックでは、HTTP リスナーを例として使用します。
ALB コンソールにログインします。
-
上部のナビゲーションバーで、ALB インスタンスがデプロイされているリージョンを選択します。
-
次のいずれかの方法で、リスナー設定ウィザードを開きます。
-
インスタンス ページで、ターゲットインスタンスを見つけ、操作 列の リスナーの作成 をクリックします。
-
インスタンス ページで、ターゲットインスタンスの ID をクリックします。 リスナー タブで、リスナーの作成 をクリックします。
-
-
リスナーの設定 ステップで、次の設定項目を設定し、次のステップ をクリックします。
パラメーター
説明
リスナープロトコルの選択
リスナーのプロトコルを選択します。 このトピックでは、例として [HTTP] を使用します。
リスナーポート
リクエストを受信してバックエンドサーバーに転送するためのポートを入力します。 有効な値: 1~65535。 通常、HTTP にはポート 80、HTTPS にはポート 443 が使用されます。
説明リスナーポートは、ロードバランサーインスタンス内で一意である必要があります。
このトピックでは、80 を例として使用します。
リスナー名
リスナーの名前を入力します。
詳細設定
変更 をクリックして詳細設定を展開します。 このトピックでは、詳細設定 のデフォルト値を例として使用します。
-
サーバーグループ ステップで、サーバータイプとサーバーグループを選択し、次へ をクリックします。
-
確定 ステップで、設定を確認し、送信 をクリックします。
ステップ 2: AScript 転送ルールの追加
本番トラフィックへの影響を避けるため、AScript を設定する前にリスナーを停止してください。
-
ALB コンソールにログインします。
-
上部のナビゲーションバーで、テストインスタンスがデプロイされているリージョンを選択します。
-
インスタンス ページで、ターゲットインスタンスの ID をクリックします。
-
リスナー タブで、テストリスナーの ID をクリックします。
-
リスナーの詳細 ページで、転送ルール タブをクリックし、スクリプトルールの実行ポイントを選択します。
-
要件に応じて、インバウンド転送ルール または アウトバウンド転送ルール をクリックします。
-
{value, select, RequestHead {転送ルールの適用前にスクリプトを追加} RequestFoot { {転送ルールの適用後にスクリプトを追加} ResponseHead {転送ルールの適用前にスクリプトを追加} ResponseFoot {転送ルールの適用後にスクリプトを追加} other { {value} } } または {value, select, RequestHead {転送ルールの適用前にスクリプトを追加} RequestFoot { {転送ルールの適用後にスクリプトを追加} ResponseHead {転送ルールの適用前にスクリプトを追加} ResponseFoot {転送ルールの適用後にスクリプトを追加} other { {value} } } をクリックします。
説明アウトバウンド転送ルール を選択した場合、{value, select, RequestHead {転送ルールの適用前にスクリプトを追加} RequestFoot { {転送ルールの適用後にスクリプトを追加} ResponseHead {転送ルールの適用前にスクリプトを追加} ResponseFoot {転送ルールの適用後にスクリプトを追加} other { {value} } } のみがサポートされます。
-
-
プログラム可能なスクリプトの追加 ページで、ルールを設定し、OK をクリックします。
パラメーター
必須
説明
ルール名
はい
カスタムルール名を入力します。
スクリプトコード
はい
ルールの AScript コードを入力します。
-
スクリプトコードを直接入力するか、コードテンプレート をクリックしてユースケースに応じたテンプレートを選択できます。
-
スクリプトの作成方法の詳細については、「AScript のユースケース」をご参照ください。
スクリプト実行時刻
はい
ルールの実行ポイントです。 このパラメーターは変更できません。
ステータス
はい
ルールを有効にするか無効にするかを指定します。
詳細設定
いいえ
リクエストに
_es_dbgパラメーターが含まれ、その値がここで設定されたキーと一致する場合、ALB は対応するデバッグレスポンスヘッダーを追加して、スクリプト実行レコードを出力します。 -
ステップ 3: AScript 転送ルールの検証
-
ALB コンソールにログインします。
-
上部のナビゲーションバーで、テストインスタンスがデプロイされているリージョンを選択します。
-
インスタンス ページで、ターゲットインスタンスの ID をクリックします。
-
リスナー タブで、テストリスナーの ID をクリックします。
-
リスナーを停止した場合は、リスナー詳細 ページの右上隅にある 有効化 をクリックして再起動します。
-
転送ルール タブで、関連するスクリプトルールを有効にします。
リスナーを起動した後、ルールに従ってトラフィックが正しく転送されることを確認します。 確認後、ルールを本番環境にデプロイできます。
ステップ 4: AScript 転送ルールのデプロイ
-
ALB コンソールにログインします。
-
上部のナビゲーションバーで、本番インスタンスがデプロイされているリージョンを選択します。
-
[インスタンス] ページで、本番インスタンスの ID をクリックします。
-
リスナー タブで、ターゲットの本番リスナーの ID をクリックします。
-
リスナー詳細ページで、転送ルール タブをクリックし、検証済みの AScript ベースの転送ルールを作成して有効にします。
スクリプトルールの管理
[転送ルール] タブでは、スクリプトルールの有効化、無効化、編集、または削除ができます。
-
スクリプトルールを有効にするには、ステータストグルをオンにします。 ステータスが 無効 から [有効] に変わります。
-
スクリプトルールを無効にするには、ステータストグルをオフにします。 ステータスが 有効 から [無効] に変わります。
-
変更 をクリックして、ルール名、スクリプトコード、ステータス、および 詳細設定 を更新します。
-
削除 をクリックします。 スクリプトの削除 ダイアログボックスで、OK をクリックします。
関連ドキュメント
-
AScript の基本的な紹介については、「AScript の概要」をご参照ください。
-
AScript の仕組みについては、「AScript の仕組み」をご参照ください。
-
ALB リスナーの設定方法の詳細については、次のトピックをご参照ください。