アプリケーションをServerless App Engine (SAE) にホストした後、要求を他のサービスまたはアプリケーションに配信するために、アプリケーションのゲートウェイルーティングを構成できます。 このトピックでは、Classic Load Balancer (CLB) インスタンスを使用して、アプリケーションのゲートウェイルーティングを設定する方法について説明します。
前提条件
アプリケーションはSAEにホストされる。 詳細については、次をご参照ください:
JavaアプリケーションをSAE 1.0にデプロイします。CLBインスタンスが作成されます。 詳細については、「CLBインスタンスの作成と管理」をご参照ください。
あなたは関連する制限に精通しています。 詳細については、「制限事項」をご参照ください。
ゲートウェイルーティングを設定するアプリケーションと、バックエンドでリクエストを受信するアプリケーションは、同じ名前空間に存在します。
背景情報
Server Load Balancer (SLB) は、バックエンドサーバーのグループ間でネットワークトラフィックを分散して、アプリケーションのスループットを向上させるサービスです。 SLBを使用すると、単一障害点 (SPOF) によって引き起こされるサービスの中断を防ぎ、アプリケーションの可用性を向上させることができます。 詳細については、「」をご参照ください。SLBとは何ですか?.
application Load Balancer (ALB) インスタンスを使用してアプリケーションのゲートウェイルーティングを構成する方法については、「ALBインスタンスを使用してアプリケーションのゲートウェイルーティングを構成する」をご参照ください。
シナリオ
ゲートウェイルーティング機能は、次のシナリオに適しています。
単一のアプリケーションまたは複数のアプリケーションは、異なるパスで同じドメイン名を使用してトラフィックを転送する必要があります。
単一のアプリケーションまたは複数のアプリケーションは、同じIPアドレスに解決される異なるドメイン名にトラフィックを転送する必要があります。
ゲートウェイルーティングを設定した後、<ドメイン名 >:< ポート番号> /パス
形式のURLを使用して、関連するバックエンドサービスまたはアプリケーションにアクセスできます。
制限事項
マイクロサービスアプリケーションおよびAlways Allocate Fixed CPUコアモードのアプリケーションにのみ適用できます。
ゲートウェイルートの作成
SAEコンソールにログインします。
左側のナビゲーションウィンドウで、[アプリケーション] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。 次に、アプリケーションの名前をクリックします。
[基本情報] ページの [ゲートウェイルーティング設定] セクションで、[転送ポリシーの追加] をクリックします。 [ゲートウェイルーティング] ページで、[作成] をクリックします。
名前空間の詳細ページの左側のナビゲーションウィンドウで、[ゲートウェイルーティング] をクリックして、[ゲートウェイルーティング] ページを開くこともできます。
[ルーティングルールの作成] パネルで、パラメーターを設定します。
[Gateway Ingressの設定] ステップで、パラメーターを設定し、[次へ] をクリックします。 下表に、各パラメーターを説明します。
パラメーター
説明
名前
ルーティングルールの名前。
ネットワークタイプ
転送するリクエストのネットワークタイプ。
Internet: インターネットゲートウェイを使用して転送された実際のトラフィック量に対して課金されます。
プライベート: プライベートゲートウェイを使用して転送されたトラフィックに対しては課金されません。 トラフィックは、現在の仮想プライベートクラウド (VPC) でのみ転送できます。
ゲートウェイタイプ
CLBを選択し、CLBインスタンス (旧称Server Load BalancerまたはSLB) ドロップダウンリストからCLBインスタンスを選択します。
表示されるCLBインスタンスの数は、SLBコンソールのCLBインスタンスの数と同じです。
フロントエンドプロトコルタイプ
要求を転送するために使用されるプロトコル。
HTTP: HTTPは、webアプリケーションやモバイルゲームなど、さまざまなソースからのデータを識別する必要があるアプリケーションに適しています。
HTTPS: HTTPSは、暗号化されたデータ送信が必要なアプリケーションに適しています。
ポート
リクエストを受信し、リクエストをバックエンドサービスまたはアプリケーションに転送するために使用されるリスニングポート。 有効な値: -1 から 65535 例: 80。
SSL証明書
このパラメーターは、Protocol TypeパラメーターをHTTPSに設定した場合にのみ必要です。
アカウントにSSL証明書がない場合は、CLBコンソールにログインしてSSL証明書を作成します。
カスタム転送ポリシー
ドメイン名: リクエストの転送元のドメイン名。
パス: リクエストの転送元のパス。 たとえば、パスがexample.com/product/saeされている場合は、リクエスト転送パスを /product/saeに設定します。
バックエンドアプリケーション: リクエストを受信するアプリケーション。 バックエンドアプリケーションは、リクエストの転送元のアプリケーションと同じ名前空間に存在する必要があります。
コンテナーポート: バックエンドアプリケーションへのアクセスに使用されるコンテナーのポート。
デフォルトの転送ポリシー
バックエンドアプリケーション: リクエストを受信するバックエンドアプリケーション。
コンテナーポート: バックエンドアプリケーションへのアクセスに使用されるコンテナーのポート。
説明SLBインスタンスがリッスンするポートは一意である必要があります。
異なるゲートウェイルーティングルールでCLBインスタンスに同じポートを指定することはできません。
ドメイン名はexample.com形式で指定する必要があります。 パスとドメイン名のパラメーターを設定する必要があります。
カスタム転送ポリシーを設定しない場合、SAEはデフォルトの転送ポリシーを使用します。 デフォルトの転送ポリシーを設定しないと、アクセスエラーが発生する可能性があります。
結果を確認します。
名前空間の [イベント情報] ページで、ルーティングルールが設定されているかどうかを確認します。
SLBコンソールにログインします。 [CLBインスタンス] ページで、リスナーが設定されているかどうかを確認します。
<ドメイン名 >:< ポート番号> /パス
形式のURLを使用して、関連するバックエンドサービスまたはアプリケーションにアクセスします。
ゲートウェイルートの管理
ルーティングルールを作成した後、[gateway routing] ページで転送ポリシーの表示、ゲートウェイルートの変更、および関連イベントの表示を行うことができます。