アプリケーションをServerless App Engine (SAE) にホストした後、要求を他のサービスまたはアプリケーションに配信するために、アプリケーションのゲートウェイルーティングを構成できます。 このトピックでは、application Load Balancer (ALB) インスタンスを使用して、アプリケーションのゲートウェイルーティングを設定する方法について説明します。
前提条件
アプリケーションはSAEにホストされる。 詳細については、
JavaアプリケーションをSAE 1.0にデプロイします。ALBインスタンスが作成されました。 詳細については、「ALBインスタンスの作成」をご参照ください。
あなたは関連する制限に精通しています。 詳細については、「ALBの制限」をご参照ください。
ゲートウェイルーティングを設定するアプリケーションと、リクエストを受信するバックエンドアプリケーションは、同じ名前空間に存在します。
背景情報
Server Load Balancer (SLB) は、バックエンドサーバーのグループ間でネットワークトラフィックを分散して、アプリケーションのスループットを向上させるサービスです。 SLBを使用すると、単一障害点 (SPOF) によって引き起こされるサービスの中断を防ぎ、アプリケーションの可用性を向上させることができます。 詳細については、「概要」をご参照ください。
Classic Load Balancer (CLB) インスタンスを使用してアプリケーションのゲートウェイルーティングを構成する方法については、「CLBインスタンスを使用してアプリケーションのゲートウェイルーティングを構成する」をご参照ください。
シナリオ
ゲートウェイルーティング機能は、次のシナリオに適しています。
単一のアプリケーションまたは複数のアプリケーションは、同じドメイン名からのトラフィックを異なるパスで転送する必要があります。
単一のアプリケーションまたは複数のアプリケーションは、解決された異なるドメイン名からのトラフィックを同じIPアドレスに転送する必要があります。
ゲートウェイルーティングを設定した後、ドメイン名: ポート番号 /パス
形式のURLを使用して、関連するバックエンドサービスまたはアプリケーションにアクセスできます。
ゲートウェイルートの作成
SAEコンソールにログインします。
左側のナビゲーションウィンドウで、[名前空間] をクリックします。
[名前空間] ページで、ゲートウェイルートを作成する名前空間を見つけ、その名前をクリックします。
名前空間の詳細ページで、左側のウィンドウで [ゲートウェイルーティング] をクリックします。
表示されるページで、[ゲートウェイルートの作成] をクリックし、次の表に示すパラメーターを設定します。
パラメーター
説明
例
ルート名
ルートの名前。
test
ネットワークタイプ
リクエストの転送に使用するゲートウェイのネットワークタイプ。 有効な値:
Internet: インターネットゲートウェイを使用して転送された実際のトラフィック量に対して課金されます。 料金はSAE請求書に含まれています。
プライベート: プライベートゲートウェイを使用して転送されたトラフィックに対しては課金されません。 トラフィックは、現在の仮想プライベートクラウド (VPC) でのみ転送できます。
インターネット
ゲートウェイタイプ
ゲートウェイのタイプ。 ALBを選択します。
ALB
ALBインスタンス
ゲートウェイルーティングの設定に使用するALBインスタンス。 ドロップダウンリストから既存のALBインスタンスを選択するか、ドロップダウンリストの右側にある [ALBインスタンスの作成] をクリックして新しいALBインスタンスを作成します。 詳細については、「ALBインスタンスの作成」をご参照ください。
sae_gw_route_****(*****)
フロントエンドプロトコルタイプ
要求を転送するために使用されるプロトコル。 有効な値:
HTTP: HTTPは、webアプリケーションやモバイルゲームなど、さまざまなソースからのデータを識別する必要があるアプリケーションに適用できます。
HTTPS: HTTPSは、暗号化されたデータ送信が必要なアプリケーションに適用されます。
HTTP
ポート
リクエストを受信し、リクエストをバックエンドサービスまたはアプリケーションに転送するために使用されるリスナーポート。 有効な値: -1 から 65535
80
カスタム転送ポリシー
ドメイン名: 必須です。 リクエストを転送するドメイン名。
Port: このパラメーターの値はPortパラメーターの値と同じであり、変更することはできません。
パス: 必須です。 転送が必要なリクエストのパス。
バックエンドアプリケーション: リクエストを受信するアプリケーション。 バックエンドアプリケーションは、リクエストの転送元のアプリケーションと同じ名前空間に存在する必要があります。
Container Port: バックエンドアプリケーションへのアクセスに使用されるコンテナーのポート。
説明Always Allocate Fixed CPUコアモードのマイクロサービスアプリケーションとアプリケーションにのみ適用できます。
SLBインスタンス内のリスナーのポートは一意である必要があります。
[+ ルールの追加] をクリックして、同じドメイン名のカスタム転送ルールを追加し、カスタム転送ポリシーの [ポート] 、[パス] 、[バックエンドアプリケーション] 、および [コンテナポート] パラメーターを設定します。
[+ ドメイン名の追加] をクリックして別のドメイン名のカスタム転送ルールを追加し、カスタム転送ポリシーの [ドメイン名] 、[アクセスポート] 、[パス] 、[バックエンドアプリケーション] 、[コンテナポート] パラメーターを設定することもできます。
ドメイン名: www.abc.com
ポート: 80
パス: /
バックエンドアプリケーション: test-1
コンテナポート: 8080
デフォルトの転送ルール
ALBインスタンス: このパラメーターの値は、前述のALBインスタンスパラメーターの値と同じであり、変更することはできません。
Port: このパラメーターの値は、前のPortパラメーターの値と同じであり、変更することはできません。
バックエンドアプリケーション: リクエストを受信するアプリケーション。 バックエンドアプリケーションは、リクエストの転送元のアプリケーションと同じ名前空間に存在する必要があります。
コンテナーポート: バックエンドアプリケーションへのアクセスに使用されるコンテナーのポート。
説明カスタム転送ポリシーと一致しないすべてのリクエストに対して、デフォルト転送ポリシーを設定することを推奨します。 デフォルトの転送ポリシーを設定しない場合、アクセスエラーが報告されます。
ALBインスタンス:
sae_gw_route_****(*****)
ポート: 80
バックエンドアプリケーション: test-gw
コンテナポート: 8080
[保存] をクリックします。
結果を確認します。
名前空間の [イベント情報] ページで、ルーティングルールが設定されているかどうかを確認します。
SLBコンソールにログインします。 前の手順で指定したALBインスタンスを見つけて、インスタンスの詳細ページに移動します。 [リスナー] タブで、リスナーが設定されているかどうかを確認します。
ドメイン名: ポート番号 /パス
形式のURLを使用して、関連するバックエンドサービスまたはアプリケーションにアクセスします。
ゲートウェイルートの管理
ルーティングルールを作成した後、[gateway routing] ページで転送ポリシーの表示、ゲートウェイルートの変更または削除、および関連イベントの表示を行うことができます。