Elastic Algorithm Service (EAS) サービスを Network Load Balancer (NLB) インスタンスに関連付けることで、サービスを一元的に管理およびスケジューリングできます。この設定は NLB の強力なアクセス制御機能を活用するため、負荷分散を必要とする高トラフィックのサービスに最適です。
現在、NLB の関連付けは LLM インテリジェントルーティングをサポートしていません。
課金
NLB を使用すると料金が発生します。詳細については、「NLB の課金ルール」をご参照ください。
仕組み
-
EAS サービスに VPC を設定すると、システムは VPC 内の IP アドレスをサービスの各 Pod に割り当てます。
-
同じ VPC 内の NLB インスタンスを EAS サービスに関連付けると、システムは NLB インスタンスに TCP リスナーを追加します。このリスナーは、リスナーポートで受信したリクエストを直接 EAS サービスに転送します。
手順
コンソールでの設定
デプロイ設定ページの ネットワーク情報 セクションで VPC を設定し、負荷分散 NLB の関連付け を有効にします。
-
VPC ネットワークの設定:NLB インスタンスを関連付けるには、EAS サービス用に VPC、vSwitch、およびセキュリティグループを設定する必要があります。これらのリソースがない場合は、「VPC の作成と管理」および「セキュリティグループの管理」をご参照ください。
-
[VPC]:既存の NLB インスタンスを関連付ける場合は、NLB インスタンスと同じ VPC を使用する必要があります。
-
[vSwitch]:vSwitch に、レプリカ数に見合う十分な利用可能 IP アドレスがあることを確認してください。
-
[セキュリティグループ]:
-
セキュリティグループが他のクラウド製品で使用されていないことを確認してください。
-
セキュリティグループのインバウンドルールは、許可された IP 範囲とポートからポート 8080 の EAS インスタンスへのトラフィックを許可する必要があります。
-
-
-
負荷分散 NLB の関連付け を有効にし、設定方式 を選択します。
-
システムで作成された NLB インスタンスを使用:システムがアカウント内に NLB インスタンスを自動的に作成します。そのライフサイクルは現在のサービスデプロイに紐付けられます。
-
既存の NLB インスタンスの関連付け:既存の NLB インスタンスを選択します。EAS サービスは、NLB インスタンスと同じ VPC 内に設定する必要があります。インスタンスを作成するには、「NLB インスタンスの作成」をご参照ください。
-
-
ネットワークの選択:
-
このオプションは、システムで作成された NLB インスタンスを使用 を選択した場合にのみ使用できます。
-
インターネットまたはイントラネットを選択できます。両方を選択すると、2つの NLB インスタンスが作成されます。
-
-
ポート番号:NLB のリスナーポートです。これはオプションです。値は 1~65535 の範囲内である必要があります。
-
ポートを指定した場合、
NLB ドメイン名:リスナーポートで EAS サービスにアクセスできます。重要-
ポート 8080 は使用しないでください。EAS エンジンはデフォルトでこのポートをリッスンします。リスナーにこのポートを使用すると、ポートの競合が発生し、サービスが正しく起動しなくなります。
-
競合を避けるために、他の NLB リスナーですでに使用されているポートは使用しないでください。
-
-
この項目を空欄にすると、システムは NLB リスナーの全ポート機能を有効にします。これにより、
NLB ドメイン名:サービスポートで EAS サービスにアクセスできます。
-
JSON を使用した設定
NLB インスタンスを関連付けるには、以下の JSON パラメーターが必要です。各パラメーターの設定方法の詳細については、「コンソールでの設定」をご参照ください。
|
パラメーター |
説明 |
||
|
cloud |
networking |
vpc_id |
EAS サービスの VPC ID、vSwitch ID、およびセキュリティグループ ID を指定します。 |
|
vswitch_id |
|||
|
security_group_id |
|||
|
networking |
nlb |
id |
NLB の関連付け方法を指定します。有効な値:
|
|
net_type |
ネットワークタイプ。このパラメーターは、システムが作成した NLB インスタンスを使用する場合にのみ必要です。有効な値:
|
||
|
listener_port |
NLB のリスナーポート。 |
||
設定例:
{
"cloud": {
"computing": {
.... // デプロイリソース
},
"networking": {
"security_group_id": "sg-bp1brugkivv2im5738q9",
"vpc_id": "vpc-bp1uepgqtarjwghnfy9po",
"vswitch_id": "vsw-bp1glkxasep5isqpvbj0t,vsw-bp1atvza5gzz0hedw2eci"
}
},
"metadata": {
.... // その他の設定情報
},
"networking": {
"nlb": [
{
"id": "default",
"listener_port": 80,
"net_type": "internet"
}
]
}
}
ネットワーク接続性の検証
サービスがデプロイされた後、NLB ドメイン名:リスナーポートに接続できることを確認してください。
-
NLB コンソールにログインします。DNS Name 列で、対象の NLB インスタンスのドメイン名を確認します。
-
telnet <NLB ドメイン名> <リスナーポート>コマンドを実行して接続性を検証してください。リスナーポートは、デプロイ時に NLB インスタンスを関連付けた際に指定したポートです。指定しなかった場合は、EAS サービスのサービスポートを使用します。ドメイン名は、前の手順で取得した DNS 名です。
-
インターネット NLB:ローカルターミナルからコマンドを実行してください。
-
イントラネット NLB:VPC 内のターミナルからコマンドを実行してください。
接続が成功すると、次のように表示されます。
-
-
NLB のドメイン名とポートを使用して EAS サービスを呼び出します。次の例は、コマンドと結果のサンプルを示しています。実際のコマンドと結果は異なる場合があります。
# コマンド例 curl http://<NLB ドメイン名>:<リスナーポート>/path/to/api -H 'Authorization:<YOUR-TOKEN>' -d '[{"What is the capital of Zhejiang?"}]' # 結果例 {"response":"The capital of Zhejiang is Hangzhou.","history":[["[{\"What is the capital of Zhejiang?\"}]","The capital of Zhejiang is Hangzhou."]]}<NLB ドメイン名>:<リスナーポート>の部分は、サービスエンドポイントのゲートウェイドメイン名を置き換えます。たとえば、元のサービスエンドポイントがhttp://123456***.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/your-service-nameの場合、NLB を使用した対応するリクエスト URL はhttp://<NLB ドメイン名>:<リスナーポート>/api/predict/your-service-nameとなります。