VPCダイレクト接続を有効にすると、Elastic Algorithm Service (EAS) サービスをAlibaba Cloud上に作成されたNetwork Load Balancer (NLB) インスタンスに関連付けることができます。 この統合により、NLBによるEASサービスの効率的な管理とスケジューリングが可能になります。 また、負荷分散を必要とする高トラフィックサービスに最適なNLBのアクセス制御機能を活用することもできます。 このトピックでは、NLBインスタンスを関連付ける方法について説明します。
前提条件
NLBインスタンスが作成されました。 詳細については、「NLBインスタンスの作成と管理」をご参照ください。
VPCダイレクト接続を有効にするために、仮想プライベートクラウド (VPC) 、vSwitch、およびセキュリティグループが確立されています。 セキュリティグループが他のサービスによって占有されていないこと、およびvSwitchにインスタンスで十分な数の使用可能なIPがあることを確認してください。 詳細については、「VPCの作成と管理」および「セキュリティグループの管理」をご参照ください。
課金
NLBの使用には料金が発生します。「NLB課金ルール」をご参照ください。
仕組み
指定されたVPCおよびvSwitch内にNLBインスタンスを作成します。 ネットワーク環境がVPCダイレクト接続に使用される環境と一致していることを確認します。
サービスのデプロイまたは更新中に、VPC直接接続を有効にし、NLBインスタンスをリスナーポートに関連付けます。 EASは、vSwitchの下にあるelastic network interface (ENI) をEASポッドに接続し、TCPリスナーをNLBインスタンスに追加して、
NLB domain:listener portを使用してEASサービスにアクセスできるようにします。
マウントNLB
NLBインスタンスを関連付けるには、サービスをデプロイまたは更新するときに、JSON設定ファイルに次の重要なパラメーターを含めます。 EASサービスを展開または更新する方法については、「PAIコンソールでのモデルサービスの展開」および「EASCMDクライアントを使用するためのコマンドの実行」をご参照ください。
"cloud": {
"networking": {
"vpc_id": "vpc-bp15jr4ggze4rvow39****",
"vswitch_id": "vsw-bp11dobkizy0jjsgn****",
"security_group_id": "sg-bp1dz9lad9s0615r****"
}
},
"networking": {
"nlb": [
{
"id": "nlb-5q4sp7u6oorkha****",
"listener_port": 9090
}
]
}上記のコードに示すように、NLBインスタンス (ネットワーキング) の設定はクラウドと同じレベルにする必要があります。
パラメーター | 説明 | ||
クラウド | ネットワーキング | vpc_id | VPC、vSwitch、およびセキュリティグループを設定して、VPC直接接続を有効にします。 重要
|
vswitch_id | |||
security_group_id | |||
ネットワーキング | nlb | id | 作成されたNLBインスタンスのID。 |
listener_port | カスタムポート。 サービスをデプロイすると、EASはそれをNLBインスタンスのリスナーポートとして自動的に作成します。 サービスが正常にデプロイされた後、 説明
| ||
ネットワーク接続の確認
サービスのデプロイが成功したら、NLBドメイン名: listener portのネットワーク接続を確認します。
NLBドメイン名を表示するには、NLBコンソールにログインし、目的のインスタンスの [ドメイン名] 列を確認します。

コマンド
telnet domain name listener portを使用して、NLBドメインの接続をテストします。 リスナーポートは、サービスのデプロイ時に指定したlistener_portで、ドメイン名は前の手順で確認されます。インターネットネットワークNLBの場合は、ローカル端末でコマンドを実行します。
イントラネットネットワークNLBの場合、VPC内の端末でコマンドを実行します。
サンプル結果を以下に示します。

NLBドメイン名とポートを使用してEASサービスにアクセスできます。 サンプルコマンド:
# Sample command
curl http://<NLB domain>:<listener port>/api/predict/<service_name> -H 'Authorization:<service_token>' -d '[{"What is the capital city of Zhejiang?"}]'
# Sample result
{"response":"The capital city of Zhejiang is Hangzhou.","history":[["[{\"What is the capital city of Zhejiang?\"}]","The capital city of Zhejiang is Hangzhou."]]}
ここで:
サービスアクセスアドレスは、
http://<NLBドメイン名 >:< リスナーポート>/api/predict/<service_name>です。 それを表示するには:[Elastic Algorithm service (EAS)] ページで目的のサービス名をクリックします。
[基本情報] セクションの [エンドポイント情報の表示] をクリックします。
エンドポイントの共有ゲートウェイドメインアドレスを
<NLBドメイン名 >:< リスナーポート>に置き換えます。<NLBドメイン名>: 先にチェックしたドメイン名。
<listener port>: サービスのデプロイ時に指定されたlistener_portを使用します。
<service_token>: ステップaとbを実行して表示します。