Application Load Balancer (ALB) Extensible Edition は、統合エンドポイントを介して複数の大規模言語モデル (LLM) サービスを統合する機能を提供します。リクエストボディ内のモデル名に基づいて AI サービスサーバーグループと転送ルールを設定することで、ALB はリクエストを対応するバックエンド AI サービスへ自動的にルーティングします。これにより、統一されたエントリポイントが実現され、クライアント側の統合が簡素化されます。
シナリオ
AI アプリケーションを構築する企業が、Alibaba Cloud Model Studio の qwen-turbo モデルと DeepSeek の deepseek-chat モデルを呼び出す必要があるケースを考えます。ALB Extensible Edition が提供する AI サービスサーバーグループを利用することで、クライアントは OpenAI 互換のリクエストを ALB に送信できます。リクエストボディでモデル名を指定すると、ALB の転送ルールがリクエストを対応するバックエンド LLM サービスにルーティングすることで、ビジネスの複雑さとメンテナンスコストを削減する統合エンドポイントが構築されます。
前提条件
-
ALB Extensible Edition のパブリックプレビュー利用権限を取得済みであること。
-
中国 (ウランチャブ) リージョンに Virtual Private Cloud (VPC) を作成し、ゾーン A とゾーン B に vSwitch を作成済みであること。また、これらの vSwitch にはパブリック SNAT が設定されていること (AI サービスサーバーグループがパブリック LLM サービスを呼び出すために必要です)。
-
Alibaba Cloud Model Studio と DeepSeek を有効化し、両方の API キーを取得済みであること。また、アイデンティティ管理で API キーをアイデンティティ認証情報として追加済みであること。同じプロバイダーに対して複数の API キーがある場合は、各キーを個別のアイデンティティ認証情報として追加することで、サーバーグループでそれらすべてを選択できるようになります。
-
カスタムドメイン名を登録済みであること。このチュートリアルでは ALB インスタンスを中国 (ウランチャブ) リージョンにデプロイするため、ドメインはICP 备案を完了している必要があります。
-
カスタムドメイン名に一致するサーバー証明書を準備済みであること。Alibaba Cloud 以外で購入した証明書は、Alibaba Cloud SSL 証明書にアップロードする必要があります。
操作手順
1. ALB Extensible Edition インスタンスの作成
-
ALB コンソールにログインし、China (Ulanqab) リージョンを選択して、ALB の作成 をクリックします。
-
購入ページで、以下の設定を完了し、今すぐ作成 をクリックします。
-
リージョン:デフォルトで中国 (ウランチャブ) が選択されています。
-
ネットワークタイプ:[インターネット] を選択します。
-
VPC とゾーン:対象の VPC を選択し、[ウランチャブゾーンA] と[ウランチャブゾーンB] を選択し、対応する各 vSwitch を選択して、[EIPを自動的に割り当てる] を選択します。
-
IP バージョン:[IPv4] を選択します。
-
エディション:[Extensible] を選択します。
-
-
注文確認 ページで、インスタンス構成を確認し、今すぐ有効化 をクリックします。
2. AI サービスサーバーグループの作成
Alibaba Cloud Model Studio と DeepSeek のそれぞれに接続するため、2 つの AI サービスサーバーグループを作成します。
Alibaba Cloud Model Studio サーバーグループの作成
-
ALB コンソール - サーバーグループページで、サーバーグループの作成 をクリックします。サーバーグループタイプ を AI サービス に設定します。認識しやすい名前を指定します。このチュートリアルでは
sgp-ai-qwenを使用します。 -
作成 をクリックします。サーバーグループが作成されました ダイアログボックスで、バックエンドサーバーの追加 をクリックします。
-
AI サービスの追加 ダイアログボックスで、次の設定を完了し、OK をクリックします。
-
[モデルプロバイダ]: Alibaba Cloud Model Studio を選択します。
-
[エンドポイント]: このフィールドは、モデルプロバイダ を選択すると自動的に入力されます。
-
[認証情報]:Alibaba Cloud Model Studio の API キー用に作成したアイデンティティ認証情報を選択します。複数の認証情報を選択できます。ALB は、選択された認証情報から 1 つの API キーを選択して LLM サービスと通信します。複数の認証情報を選択すると、個々の API キーの呼び出しクォータに負荷が分散され、可用性が向上します。
-
[API キーヘルスチェック]: このスイッチをオンにすることをお勧めします。バックエンドが
401または429のステータスコードを返すと、ALB は対応する API キーを自動的に削除し、残りの利用可能な API キーを介してリクエストをルーティングします。
-
DeepSeek サーバーグループの作成
-
上記の手順を繰り返し、
sgp-ai-deepseekという名前の 2 つ目の AI サービス サーバーグループを作成します。 -
バックエンドサーバーの追加 で、モデルプロバイダ を DeepSeek に設定し、認証情報 に DeepSeek API キー用に作成された ID 認証情報を設定し (複数の認証情報もサポートされています)、API キーヘルスチェック をオンにしてから、OK をクリックします。
3. リスナーの作成
-
ALB コンソールで、対象のインスタンス ID をクリックして インスタンスの詳細 ページに移動します。リスナー タブをクリックし、リスナーの作成 をクリックします。
-
リスナーの設定 ステップで、リスナープロトコルの選択 を HTTPS に、リスニングポート を
443に設定します。次に、次へ をクリックします。 -
SSL 証明書の設定 ステップで、カスタムドメイン名に一致するサーバー証明書を選択し、次へ をクリックします。
-
サーバーグループの選択 ステップで、AI サービス タイプと Alibaba Cloud Model Studio サーバーグループ
sgp-ai-qwenを選択します。次に、次へ をクリックします。ここで選択するサーバーグループは、リスナーのデフォルトルールに使用されます。このルールは、他のどの転送ルールにも一致しないリクエストを処理します。必要に応じて設定を調整してください。
-
設定の確認 ステップで、設定を確認し、送信 をクリックします。
4. 転送ルールの設定
リクエストは、優先度の昇順で転送ルールと照合されます。リクエストがルールに一致すると、対応するアクションが実行され、後続のルールは照合されません。リクエスト本文のモデル名に基づいてリクエストを適切なバックエンド AI サービスにルーティングするには、AI モデル 条件を使用して転送ルールを作成します。
Alibaba Cloud Model Studio 転送ルールの設定
-
インスタンス詳細ページの リスナー タブで、目的のリスナー ID をクリックします。リスナーの詳細 ページで、転送ルール タブをクリックします。
-
新しいルールの追加 をクリックし、以下の設定を完了した後、OK をクリックします。
-
転送条件 では、AI モデル を選択します。
-
[モデル名]:
qwen-turboと入力します。 -
[転送操作]:
sgp-ai-qwenサーバーグループに 転送先 します。
-
DeepSeek 転送ルールの設定
-
上記の手順を繰り返し、2 番目の転送ルールを追加します。
-
モデル名 を
deepseek-chatに設定し、転送先 にsgp-ai-deepseekサーバーグループを選択します。
モデル名はオプションのパラメーターです。AI モデル 転送条件は、パスが/v1/completions、/v1/chat/completions、または/v1/embeddingsであり、リクエストの内容が OpenAI 互換プロトコルに準拠しているすべてのリクエストに一致します。モデル名を指定した場合、リクエストボディのmodelフィールドも指定されたモデル名と一致する必要があります。
5. DNS 名前解決の設定
CNAME レコードを使用して、カスタムドメイン名を ALB インスタンスの DNS 名にポイントします。クライアントはカスタムドメイン名を通じて ALB にアクセスします。
このチュートリアルでは、Alibaba Cloud DNS を例として使用します。Alibaba Cloud に登録されていないドメイン名の場合、まずドメイン名を Alibaba Cloud DNS コンソールに追加する必要があります。
-
ALB コンソールで、対象インスタンスのドメイン名をコピーします。
-
Alibaba Cloud DNS コンソールにログインします。 対象のドメイン名のActions列で、解決設定をクリックします。 解決設定ページで、Add Recordをクリックします。
-
以下の情報で CNAME レコードを追加し、OK をクリックします。
-
[Record Type]:[CNAME] を選択します。
-
[Hostname]:
aiなどのドメインプレフィックスを入力します。ルートドメインがexample.comの場合、ALB にアクセスするためのドメインはai.example.comです。 -
Query Sourceと TTL は、デフォルト値のままにします。
-
[Record Value]:ALB インスタンスの DNS 名を入力します。
-
-
Change Resource Record Confirmation ダイアログボックスで、DNS 情報を確認し、OK をクリックします。
6. 設定の検証
-
curl コマンドを使用して、リクエストが対応する LLM サービスに正しくルーティングされることを確認してください。
ai.example.comを実際に設定したドメイン名に置き換えてください。DNS 解決が反映されていることを確認してください。 -
クライアントからのリクエストは、OpenAI 互換プロトコルに準拠する必要があります。リクエストパスは
/v1/completions、/v1/chat/completions、または/v1/embeddingsである必要があり、リクエストボディにはmodelフィールドを含める必要があります。転送ルールは、modelフィールドの値に基づいてリクエストをルーティングします。
Alibaba Cloud Model Studio (qwen-turbo モデル) のテスト
curl -v \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-turbo",
"messages": [
{
"role": "user",
"content": "Who are you"
}
]
}' \
https://ai.example.com/v1/chat/completions
リクエストが成功すると、次のようなレスポンスが返されます。model フィールドは qwen-turbo で、content フィールドには Qwen からの自己紹介が含まれており、リクエストが Alibaba Cloud Model Studio に正しくルーティングされたことを示しています。
{
"choices": [
{
"message": {
"role": "assistant",
"content": "I am Qwen, a large-scale language model developed by the Tongyi Lab of Alibaba Group. My Chinese name is Tongyi Qianwen, and my English name is Qwen. I can perform various tasks such as answering questions, creating text, logical reasoning, and programming. You can call me Qwen or Tongyi Qianwen. How can I help you?"
},
"finish_reason": "stop",
"index": 0
}
],
"object": "chat.completion",
"model": "qwen-turbo"
}
DeepSeek (deepseek-chat モデル) のテスト
curl -v \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-chat",
"messages": [
{
"role": "user",
"content": "Who are you"
}
]
}' \
https://ai.example.com/v1/chat/completions
リクエストが成功すると、次のようなレスポンスが返されます。model フィールドは deepseek-chat で、content フィールドには DeepSeek からの自己紹介が含まれており、リクエストが DeepSeek に正しくルーティングされたことを示しています。
{
"object": "chat.completion",
"model": "deepseek-chat",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello! I am DeepSeek, an AI assistant created by DeepSeek company!\n\nI am a plain text model. Although I do not support multi-modal recognition, I have a file upload feature that can help you process images, txt, pdf, ppt, word, excel and other files, and read text information from them for analysis and processing.\n\nSome of my features:\n- Completely free to use, with no paid plans\n- Context length of up to 128K, allowing for very long conversations\n- Supports web search (needs to be enabled manually)\n- Can be used by downloading the app from the official app store\n- Knowledge cutoff is July 2023\n\nI am happy to help you answer questions, assist with thinking, process documents, or engage in various conversations! Is there anything I can help you with? ✨"
},
"logprobs": null,
"finish_reason": "stop"
}
]
}
リソースのクリーンアップ
テスト後、リソースが不要になった場合は、以下の手順に従ってリソースをリリースし、不要な料金を回避します。
-
Alibaba Cloud DNS コンソールで、追加した CNAME レコードを削除します。
-
ALB リソースのクリーンアップ
-
ALB コンソールで、対象のインスタンスを見つけ、操作 列の リリース をクリックします。
-
[サーバーグループコンソール]で、目的のサーバーグループを見つけ、操作 列の 削除 をクリックします。
-
-
VPC リソースのクリーンアップ (オプション)
このチュートリアル用に VPC と vSwitch を作成した場合は、VPC コンソールで削除できます。
補足情報
課金
-
ALB Extensible Edition:現在パブリックプレビュー期間中であり、無料で使用できます。
-
パブリックネットワークアクセス料金:インターネット NAT ゲートウェイは、インスタンス料金とキャパシティーユニット (CU) 料金を請求します。NAT ゲートウェイと ALB Extensible Edition インスタンスにバインドされた EIP には、それぞれ独自の課金ルールがあり、料金は EIP ごとに請求されます。
-
ドメイン名と DNS 名前解決の料金:ドメインプロバイダーが請求するドメイン登録料に加えて、Alibaba Cloud で DNS 名前解決を設定するにはパブリック権威 DNS 名前解決料金を支払う必要があります。
-
証明書料金:Alibaba Cloud から証明書を購入するか、Alibaba Cloud に証明書をアップロードするには、サーバー証明書料金を支払う必要があります。
-
モデル料金:Alibaba Cloud Model Studio と DeepSeek の LLM API を呼び出すと料金が発生します。
ALB Extensible Edition が利用可能なリージョン
|
エリア |
リージョン |
ゾーン |
|
中国 |
中国 (ウランチャブ) |
ゾーン A、ゾーン B、およびゾーン C |
|
中国 (杭州) |
ゾーン J およびゾーン K |
|
|
中国 (北京) |
ゾーン I、ゾーン K、およびゾーン L |
|
|
中国 (上海) |
ゾーン B およびゾーン F |
|
|
中国 (香港) |
ゾーン B、ゾーン C、およびゾーン D |
|
|
アジアパシフィック |
シンガポール |
ゾーン A、ゾーン B、およびゾーン C |
|
日本 (東京) |
ゾーン B、ゾーン C、およびゾーン E |
|
|
マレーシア (クアラルンプール) |
ゾーン A、ゾーン B、およびゾーン C |
|
|
ヨーロッパおよびアメリカ |
ドイツ (フランクフルト) |
ゾーン A およびゾーン B |
|
米国 (シリコンバレー) |
ゾーン A およびゾーン B |
|
|
中東 |
UAE (ドバイ) |
ゾーン A およびゾーン B |