Skip to main content

プライベートネットワーク経由での Model Studio API へのアクセス

VPC からパブリックインターネットを経由せずに Model Studio API を呼び出すには、Model Studio コンソールで PrivateLink 接続を追加し、ワークスペースに関連付けます。

仕組み

Model Studio ゲートウェイは、次の 2 つのアクセス方法をサポートします。
  • パブリックネットワークアクセス:パブリック MaaS ドメイン名 {WorkspaceId}.{RegionId}.maas.aliyuncs.com を使用して Model Studio API を呼び出します。トラフィックはパブリックインターネットを経由します。
  • PrivateLink プライベート接続:Model Studio コンソールで VPC に PrivateLink 接続を追加し、プライベートドメイン名を使用して Model Studio API を呼び出します。トラフィックは Alibaba Cloud ネットワーク内に留まり、パブリックインターネットを経由しません。
Model Studio コンソールで PrivateLink 接続を追加すると、PrivateLink により VPC と Model Studio の間にプライベート接続(エンドポイント接続)が確立されます。この接続は片方向です。VPC 内のリソースは Model Studio にアクセスできますが、Model Studio がこの接続を介して VPC 内のリソースにアクセスすることはありません。 VPC 内のコンピューティングリソースがプライベートドメイン名にアクセスすると、PrivateLink はパブリックインターネットを経由せずにトラフィックを Model Studio に転送します。 Model Studio は次のリージョンで利用できます。
  • パブリッククラウド:中国 (北京)、中国 (香港)。
    その他のリージョンでは、現在プライベートネットワークアクセスはサポートされていません。
  1. Model Studio コンソールにログインし、左側のナビゲーションペインで Settings > Network configuration を選択します。
  2. 初回使用時は、Add PrivateLink パネルで次の準備を完了します。
    • Authorize service-linked role for PrivateLink:Authorize Now をクリックし、Confirm Authorization をクリックして、サービスリンクロール AliyunServiceRoleForBackrouterAccessNet を作成します。
    • Activate PrivateLink:Enable Now をクリックして、PrivateLink サービスを有効化します。
  3. VPC private network access セクションで Add をクリックし、次のパラメーターを設定します。その他のパラメーターはデフォルト値のままにします。
    • Region:Model Studio サービスのリージョンを選択します。例:中国 (香港)。
    • VPC:Model Studio へのアクセスに使用する VPC を選択します。PrivateLink 接続はこの VPC 内に作成され、この VPC 内の ECS インスタンスやコンテナなどのリソースのみがプライベートドメイン名を介して Model Studio にアクセスできます。利用可能な VPC がない場合は、Create VPC をクリックして VPC コンソールで作成します。別のアカウントから共有された VPC を使用する場合は、その共有 VPC を選択します。詳細については、クロスアカウントアクセスをご参照ください。
    • Zones and Switches:Model Studio がサポートし、vSwitch を含むアベイラビリティーゾーンとその vSwitch を選択します。PrivateLink 接続は、選択した各ゾーンで vSwitch の内部 IP アドレスを 1 つ使用し、プライベートドメイン名の内部 DNS 解決アドレスとします。ゾーンと vSwitch の組み合わせは最大 2 つまで追加できます。高可用性のために 2 つ追加することを推奨します。1 つのゾーンで障害が発生した場合、トラフィックを別のゾーンへ自動的に切り替えてサービス中断を回避できます。利用可能な vSwitch がない場合は、Create Switch をクリックして VPC コンソールで作成します。
    • Security Group:PrivateLink 接続に関連付けるセキュリティグループを選択します。セキュリティグループは、この接続にアクセスできるリソースを制御します。インバウンドトラフィックでポート 443 (HTTPS) が許可されていることを確認してください。利用可能なセキュリティグループがない場合は、Create Security Group をクリックして ECS コンソールで作成します。
  4. Confirm をクリックし、接続の Status が Created に変わるまで待ちます。接続は約 1~3 分で有効になります。有効になった後、VPC 内の任意のクラウドサーバーからプライベートドメイン名を使用して Model Studio にアクセスできます。
プライベートネットワークを介して Model Studio にアクセスするワークスペースは、PrivateLink 接続に関連付ける必要があります。
  1. Model Studio コンソールの左側のナビゲーションペインで Workspaces を選択し、ワークスペースを新規作成するか、対象のワークスペースを編集します。
  2. Advanced Configuration で、PrivateLink を対象の PrivateLink 接続に設定します。各選択肢にはエンドポイント ID とそのリージョン、VPC が表示されます。対象の接続が一覧にない場合は、ドロップダウンリストの Create PrivateLink をクリックして作成します。関連付け後、そのワークスペースは対応する VPC の PrivateLink 接続を介して Model Studio にアクセスできます。
  3. 関連付けを解除するには、ワークスペースを編集して PrivateLink をクリアし、保存します。または、Network configuration ページで対象の PrivateLink 接続の行を展開し、Associated workspace 列の Unbind をクリックして、該当するワークスペース側で処理します。ワークスペースに関連付けられた PrivateLink 接続は、関連付けを解除するまで削除できません。

ステップ 3:プライベートドメイン名の取得

ステップ 2 の関連付けが完了すると、関連付けられた各ワークスペースに対してプライベートドメイン名が生成されます。Network configuration ページの VPC private network access 一覧で対象の PrivateLink 接続の行を展開し、Endpoint 列のプライベートドメイン名をコピーします。Associated workspace 列には、そのドメイン名が属するワークスペースの ID が表示されます。プライベートドメイン名の形式は {WorkspaceId}-{VpcId}.{region-id}.maas.aliyuncs.com です。WorkspaceId はワークスペース ID、VpcId は PrivateLink 接続が属する VPC の ID です。 Workspaces ページで対象ワークスペースの API Host 列からもプライベートドメイン名を確認できます。関連付け後、この列にはパブリックとプライベートの両方のドメイン名が表示されます。 プライベートドメイン名は、選択した VPC 内でのみ名前解決およびアクセスが可能です。Model Studio API の呼び出しには HTTPS(ポート 443)を使用します。ワークスペースが関連付けられていない場合、展開された行の Endpoint 列は空です。

ステップ 4:接続の確認

API リクエストの base_url のドメイン名を、前のステップで取得したプライベートドメイン名に置き換え、VPC 内から呼び出しを行います。 例えば、OpenAI 互換モードで Qwen テキストモデルを呼び出す場合:
  • 置き換え前:https://{WorkspaceId}.{RegionId}.maas.aliyuncs.com/compatible-mode/v1/chat/completions
  • 置き換え後:https://{WorkspaceId}-{VpcId}.{RegionId}.maas.aliyuncs.com/compatible-mode/v1/chat/completions
呼び出し例:
HTTP
# 元のドメイン名を前のステップで取得したプライベートドメイン名に置き換えます。
curl -X POST https://{WorkspaceId}-{VpcId}.{RegionId}.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen-flash",
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "Who are you?"
        }
    ]
}'
呼び出しを行う前に、API キーを取得する必要があります。コード内で API キーを直接渡すには、$DASHSCOPE_API_KEY をご利用の API キーに置き換えてください。

クロスアカウントアクセス

デフォルトでは、PrivateLink 接続は現在のアカウントの VPC 内にのみ作成でき、その VPC 内のリソースのみがプライベートドメイン名を介して Model Studio にアクセスできます。呼び出し元のリソースが存在する VPC が別の Alibaba Cloud アカウントに属している場合は、次のいずれかの方法を選択できます。
  • 方法 1:VPC 共有:呼び出し元 VPC の vSwitch を Model Studio アカウントと共有し、PrivateLink 接続を呼び出し元 VPC 内に直接作成します。
  • 方法 2:VPC 相互接続:PrivateLink 接続を Model Studio アカウント自身の VPC 内に作成し、呼び出し元 VPC を VPC ピアリング接続または Cloud Enterprise Network (CEN) を介してその VPC と相互接続した後、PrivateLink 接続にアクセスします。
どちらの方法でも、アカウント間で PrivateLink 接続自体を共有する必要はありません。呼び出し元が Model Studio アカウントでない場合は、Model Studio アカウントがプライベートドメイン名とワークスペースの API キーを呼び出し元に提供します。

方法 1:VPC 共有

VPC 共有には 2 つのアカウントが関与します。
  • VPC 所有者アカウント:VPC と vSwitch を所有し、vSwitch を共有します。
  • Model Studio アカウント:共有を受け入れ、Model Studio コンソールで PrivateLink 接続を追加してワークスペースを関連付けます。
PrivateLink 接続は共有 VPC 内に作成され、その VPC 内のいずれのアカウントに属するリソースもこの接続を使用できます。VPC 所有者アカウントが自身でその VPC 内に PrivateLink 接続を作成し、共有 VPC 内の他のアカウントに使用させることもできます。いずれの場合も、PrivateLink の料金は PrivateLink 接続を作成したアカウントが負担します。以下では、Model Studio アカウントが PrivateLink 接続を作成する場合を例に説明します。

ステップ 1:VPC 所有者アカウントが vSwitch を共有する

Resource Sharing コンソールで Create Sharing Unit をクリックし、Configure Basic Information and Add Resources(共有する vSwitch を追加)、Associate Permissions(AliyunRSDefaultPermissionVSwitch を選択)、Associate Resource Users(Model Studio アカウントの UID を入力)、Confirm and Submit の順に設定します。VPC 共有で共有されるのは VPC 全体ではなく vSwitch です。詳細については、VPC の共有をご参照ください。

ステップ 2:Model Studio アカウントが共有を受け入れる

Model Studio アカウントで Resource Sharing コンソールにサインインし、Shared with Me ページで共有を受け入れます。共有ユニットがすでに関連付けられている場合は、このステップをスキップします。 Model Studio コンソールにサインインし、このトピックのステップ 1の手順に従って PrivateLink 接続を追加します。次の設定に注意してください。
  • Region:共有 VPC が存在するリージョンを選択します。このリージョンは Model Studio のプライベートネットワークアクセスをサポートしている必要があります(例:China (Beijing)、China (Hong Kong))。
  • VPC:共有された VPC を選択します。
  • Zones and Switches:共有 VPC 内の共有 vSwitch を選択します。
  • Security Group:共有 VPC 内で使用可能なセキュリティグループを選択し、インバウンドルールで呼び出し元リソースからの 443 ポートへのアクセスが許可されていることを確認します。
その他のパラメータは、同一アカウントの場合と同じです。

ステップ 4:残りの設定を完了して呼び出す

PrivateLink 接続を作成した後、このトピックのステップ 2、ステップ 3、ステップ 4の手順に従ってワークスペースを関連付け、プライベートドメイン名を取得します。呼び出し元は、共有 VPC 内でこのプライベートドメイン名とワークスペースの API キーを使用して呼び出しを行います。

方法 2:VPC 相互接続

VPC 相互接続には 2 つのアカウントが関与します。
  • Model Studio アカウント:自身の VPC(以下、Model Studio VPC)内に PrivateLink 接続を作成し、ワークスペースを関連付けます。
  • 呼び出し元アカウント:呼び出し元のリソースが存在する VPC(以下、呼び出し元 VPC)を所有します。
VPC を相互接続すると、2 つの VPC 間のネットワークは双方向に通信可能になります。いずれのアカウントも自身の VPC 内に PrivateLink 接続を作成してもう一方のアカウントに呼び出させることができます。つまり、どちらのアカウントも Model Studio アカウントになることができます。

ステップ 1:ネットワークを接続する

次のいずれかの方法で Model Studio VPC と呼び出し元 VPC を接続します。2 つの VPC の CIDR ブロックは重複できません。2 つの方法の選択と課金の比較については、VPC 相互接続の概要をご参照ください。
  • VPC ピアリング接続
    1. いずれかのアカウントが VPC コンソールでピアリング接続を作成します。Accepter Account Type で Cross-account を選択し、ピアアカウントの UID とピア VPC の ID を入力します。
    2. ピアアカウントが VPC コンソールの VPC ピアリング接続ページでその接続を受け入れます。
    3. 両方のアカウントが、それぞれの VPC のルートテーブルにルートを追加します。宛先 CIDR ブロックはピア VPC の CIDR ブロック、ネクストホップはそのピアリング接続です。
    詳細については、VPC ピアリング接続をご参照ください。
  • Cloud Enterprise Network (CEN)
    1. いずれかのアカウントが CEN インスタンスを作成し、VPC が存在するリージョンに転送ルーターを作成します。
    2. ピアアカウントが自身の VPC をその CEN インスタンスに承認します。
    3. 転送ルーターで 2 つの VPC それぞれに VPC 接続を作成し、2 つの VPC を同じ転送ルーターに接続します。
    詳細については、Enterprise Edition 転送ルーターを使用してリージョン間およびアカウント間で VPC を接続するをご参照ください。
ネットワークを接続した後も、呼び出し元が PrivateLink 接続にアクセスするには、PrivateLink 接続のセキュリティグループで許可されている必要があります。Model Studio アカウントは、PrivateLink 接続に関連付けられたセキュリティグループに次のインバウンドルールを追加します。
パラメータ値
認可ポリシー許可
プロトコルタイプカスタム TCP
ポート範囲443
認可オブジェクト呼び出し元 VPC の CIDR ブロック(例:192.168.0.0/16)。VPC コンソールの VPC 詳細ページで確認できます
許可されていない場合、ネットワークが接続されていても呼び出しは接続タイムアウトになります。

ステップ 3:呼び出しを行う

Model Studio アカウントがプライベートドメイン名とワークスペースの API キーを呼び出し元アカウントに提供し、呼び出し元 VPC 内のリソースがこのトピックのステップ 4の手順に従って呼び出しを行います。Failed to connect to <private domain name> port 443 などの接続タイムアウトエラーが返された場合は、ステップ 1 のネットワーク設定とステップ 2 のセキュリティグループルールを確認してください。

課金

PrivateLink を使用すると追加料金が発生します。詳細は、PrivateLink の課金をご参照ください。 PrivateLink の料金とモデル呼び出しの料金は、VPC の所有者に関係なく、PrivateLink 接続を作成したアカウントが負担します。VPC ピアリング接続と CEN の課金については、VPC ピアリング接続および CEN の課金ルールをご参照ください。

よくある質問

  1. ECS インスタンスがプライベートネットワーク経由で Model Studio API にアクセスできないのはなぜですか? 以下の項目を確認してください。
    1. ECS インスタンスと PrivateLink 接続が同じ VPC 内にあることを確認します。 ECS インスタンスが異なる VPC にある場合は、プライベートネットワーク経由で Model Studio にアクセスできません。まず VPC 接続(VPC ピアリング接続や CEN など)を設定し、PrivateLink 接続のセキュリティグループで許可してください。詳細については、方法 2:VPC 相互接続をご参照ください。
    2. PrivateLink 接続に関連付けられたセキュリティグループで、送信元 ECS インスタンスの CIDR ブロックからのポート 443 (HTTPS) のインバウンドトラフィックを許可するルールが追加されていることを確認します。
    3. PrivateLink 接続のステータスを確認します。 接続ステータスが Created になり、接続が有効化されてから(作成後約 1~3 分)、プライベートドメイン名を使用できます。
    4. ワークスペースが関連付けられていることを確認します。 プライベートドメイン名は、ワークスペースが PrivateLink 接続に関連付けられた後にのみ生成されます。展開された行の Endpoint 列が空の場合は、ステップ 2 の手順でワークスペースを関連付けてください。
  2. エンドポイントはパブリックインターネットからアクセスできますか? いいえ。PrivateLink は Alibaba Cloud 内部ネットワーク内でのみプライベート接続を確立します。エンドポイントはパブリックインターネットからアクセスできず、EIP をエンドポイント ENI に関連付けることはできません。
  3. 旧方式で作成した既存の PrivateLink 接続は、ワークスペースに関連付ける必要がありますか? 必要ありません。以前 PrivateLink(VPC)コンソールでインターフェイスエンドポイントとして作成された既存の PrivateLink 接続は、デフォルトですべてのワークスペースに関連付けられています。ステップ 2 を実施しなくても、プライベートネットワーク経由で Model Studio API にアクセスできます。 Network configuration ページで既存の接続を展開すると、Endpoint 列には vpc-{region-id}.dashscope.aliyuncs.com(例:vpc-ap-southeast-1.dashscope.aliyuncs.com)が表示され、Associated workspace 列にはすべてのワークスペースに関連付けられていることが示されます。これは、関連付けられたワークスペースごとに {WorkspaceId}-{VpcId}.{region-id}.maas.aliyuncs.com を表示する現在の流れとは異なります。 この方式で新しい PrivateLink 接続を作成することはできなくなりました。追加する場合は、ステップ 1 に従って Model Studio コンソールで作成し、ステップ 2 に従ってプライベートネットワークアクセスが必要なワークスペースを関連付けてください。