すべてのプロダクト
Search
ドキュメントセンター

Cloud Control API:PrivateLink 経由で Cloud Control API を呼び出す

最終更新日:Oct 28, 2025

PrivateLink 経由で Cloud Control API を呼び出して、サービスにプライベートにアクセスできます。これにより、パブリックネットワークアクセスによる潜在的なセキュリティリスクを回避できます。

概要

PrivateLink とは

PrivateLink は、Alibaba Cloud のプライベートアクセスサービスで、仮想プライベートクラウド (VPC) と他の Alibaba Cloud サービスとの間にプライベート接続を作成します。この接続により、パブリックネットワークアクセスを回避し、セキュリティと安定性を向上させます。

シナリオ

アプリケーションが Alibaba Cloud の本番環境で実行され、Cloud Control API サービスを呼び出す必要がある場合、次のシナリオで PrivateLink を使用して内部呼び出しを行うことができます。

  • 高いセキュリティとコンプライアンス要件: 内部のセキュリティポリシーでパブリックネットワークアクセスが禁止または制限されている場合。

  • コストの最適化: データ転送コストを削減し、総所有コスト (TCO) を低減できます。

  • クロスリージョンデプロイメント: 複数のリージョンにアプリケーションをデプロイし、統一されたネットワークアーキテクチャが必要な場合。

技術的な利点

利点

説明

低レイテンシー

直接的な内部接続により、パブリックネットワークアクセスと比較してネットワーク遅延が 30% から 50% 削減されます。

高い安定性

インターネットの変動を回避します。

セキュリティの分離

トラフィックはインターネットを通過しません。

前提条件

権限要件

PrivateLink エンドポイントを構成するには、次の権限を付与する必要があります。

  • AliyunVPCFullAccess: VPC のフルアクセス権限を提供します。

  • AliyunPrivateLinkFullAccess: PrivateLink のフルアクセス権限を提供します。

リソース要件

リソース要件は、呼び出したい Cloud Control API サービスのデプロイリージョンによって異なります。

Cloud Control API サービスリージョン

エンドポイント

必要な VPC リージョン

中国サービス

cloudcontrol.aliyuncs.com

cn-zhangjiakou (中国 (張家口))

国際サービス

cloudcontrol.ap-southeast-1.aliyuncs.com

ap-southeast-1 (シンガポール)

リソースチェックリスト:

  • ターゲットリージョン内の VPC。

  • VPC 内に少なくとも 1 つの利用可能な vSwitch。

  • vSwitch には、十分な数の利用可能な IP アドレスが必要です。

サービスリージョンの詳細

Cloud Control API サービスは、次のリージョンで利用できます。必要に応じてリージョンを選択できます。

中国サービス (cn-zhangjiakou)

  • エンドポイントサービス: com.aliyuncs.privatelink.cn-zhangjiakou.cloudcontrol-api

  • パブリックドメイン名: cloudcontrol.aliyuncs.com

  • プライベートドメイン名: cloudcontrol.vpc-proxy.aliyuncs.com

国際サービス (ap-southeast-1)

  • エンドポイントサービス: com.aliyuncs.privatelink.ap-southeast-1.cloudcontrol

  • パブリックドメイン名: cloudcontrol.ap-southeast-1.aliyuncs.com

  • プライベートドメイン名: cloudcontrol-vpc.ap-southeast-1.aliyuncs.com

重要

PrivateLink を構成した後、アプリケーションコードのエンドポイントを対応するプライベートドメイン名に変更する必要があります。

設定手順

同一リージョン内の設定

アプリケーションが cn-zhangjiakou または ap-southeast-1 にデプロイされている場合、同じリージョンに直接エンドポイントを作成できます。

ステップ 1: コンソールにログインする

  1. Alibaba Cloud VPC コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[エンドポイント] をクリックします。

  3. [インターフェイスエンドポイント] タブで、[PrivateLink サービスの有効化] をクリックします。

image

ステップ 2: リージョンを選択する

[リージョン] ドロップダウンリストから、次のいずれかのリージョンを選択します。

  • 中国のサービスの場合は、[中国 (張家口)] を選択します。

    image.png

  • 国際サービスの場合は、[シンガポール] を選択します。

    image.png

ステップ 3: 基本情報を設定する

設定項目

説明

エンドポイント名

カスタム名を入力します。わかりやすい名前を使用してください。

ep-cloudcontrol-prod

エンドポイントタイプ

[インターフェイスエンドポイント] を選択します。

インターフェイスエンドポイント

リソースタイプ

[Alibaba Cloud サービス] を選択します。

Alibaba Cloud サービス

ステップ 4: エンドポイントサービスを選択する

  1. [エンドポイントサービスの検索] ボックスに、ターゲットサービスの名前を入力します。

    • 中国サービス: com.aliyuncs.privatelink.cn-zhangjiakou.cloudcontrol-api

    • 国際サービス: com.aliyuncs.privatelink.ap-southeast-1.cloudcontrol

  2. 検索結果として一意のエンドポイントサービスが返されます。そのサービスを選択します。

ステップ 5: カスタムドメイン名を有効にする

[カスタムサービスドメイン名を有効にする] を選択します。システムは自動的にプライベートアクセスドメイン名を割り当てます。手動での入力は不要です。

  • 中国サービスのドメイン名: cloudcontrol.vpc-proxy.aliyuncs.com

  • 国際サービスのドメイン名: cloudcontrol-vpc.ap-southeast-1.aliyuncs.com

image

ステップ 6: ネットワーク設定を構成する

設定項目

説明

推奨事項

仮想プライベートクラウド (VPC)

アプリケーションが配置されている VPC を選択します。

正しい VPC を選択していることを確認してください。

ゾーンと vSwitch

少なくとも 1 つの vSwitch を選択します。高可用性 (HA) のためには、複数の vSwitch を選択します。

本番環境では、2 つまたは 3 つの異なるゾーンにある vSwitch を選択します。

セキュリティグループ

アクセス元を制限するためにセキュリティグループを選択します。

アプリケーションのセキュリティグループからのみアクセスを許可するようにセキュリティグループを設定します。

マルチゾーン設定の例:

Zone A: vsw-xxxxx 
Zone B: vsw-yyyyy 


image.png

ステップ 7: アクセスポリシーを設定する

エンドポイントポリシーは、どの Alibaba Cloud アカウントまたは Resource Access Management (RAM) ユーザーがエンドポイントを介してサービスにアクセスできるかを制御します。

説明

最小権限の原則に従い、必要なアカウントにのみアクセスを許可してください。

デフォルトポリシー (すべて許可):

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "*",
      "Resource": "*"
    }
  ]
}

推奨ポリシー (現在のアカウントのみ許可):

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Aliyun": [
          "acs:ram::YOUR_ACCOUNT_ID:root"
        ]
      },
      "Action": "*",
      "Resource": "*"
    }
  ]
}

ステップ 8: 作成と検証

  1. [作成] をクリックします。

  2. エンドポイントのステータスは 2〜5 分で [利用可能] に変わります。

  3. 接続ステータスは [接続済み] に変わります。

ステータスの説明:

  • 作成中: エンドポイントが作成されています。

  • 利用可能: エンドポイントは使用準備ができています。

  • 異常: 作成が失敗したか、接続が異常です。この場合、設定を確認する必要があります。
    image.png

クロスリージョン設定

アプリケーションが cn-zhangjiakou または ap-southeast-1 以外のリージョンにデプロイされている場合は、Cloud Enterprise Network (CEN) を使用してクロスリージョン接続を確立する必要があります。

ステップ 1: ターゲットリージョンにエンドポイントを作成する

  • cn-zhangjiakou または ap-southeast-1 にエンドポイントを作成します。詳細については、「同一リージョン内の設定」をご参照ください。

  • エンドポイントの VPC ID をメモしておきます。

ステップ 2: CEN インスタンスを作成してリージョンを接続する

CEN の設定方法の詳細については、「リージョンをまたいで VPC を接続する」をご参照ください。

検証とテスト

接続性の検証

アプリケーションがデプロイされている ECS インスタンスまたはコンテナーにログインし、次のコマンドを実行して接続性を検証します。

中国サービスの検証:

curl -v cloudcontrol.vpc-proxy.aliyuncs.com

国際サービスの検証:

curl -v cloudcontrol-vpc.ap-southeast-1.aliyuncs.com

検証成功:

返された HTTP ヘッダーに x-acs-request-id が含まれている場合、リクエストは成功です。次のコードは出力の例です。

< HTTP/1.1 401 Unauthorized
< date: Thu, 09 Oct 2025 10:30:00 GMT
< content-type: application/json
< x-acs-request-id: 23C12345-1234-1234-1234-123456789ABC
< x-acs-trace-id: 0b12345678901234567890123456789a
...
説明

リクエストに ID 資格情報が含まれていないため、API は 401 状態コードを返すことが想定されます。

このテストの目的は、リクエストが Alibaba Cloud API Gateway またはサービスによって適切に処理されていることを確認することです。これを行うには、応答ヘッダーに x-acs-request-id などの Alibaba Cloud 固有のフィールドが含まれていることを確認します。

アプリケーション統合の例

Java の例

import com.aliyun.cloudcontrol20220830.Client;
import com.aliyun.teaopenapi.models.Config;

public class PrivateLinkExample {
    public static void main(String[] args) throws Exception {
        // クライアントを設定します
        Config config = new Config()
            .setAccessKeyId("<YOUR-ACCESS-KEY-ID>")
            .setAccessKeySecret("<YOUR-ACCESS-KEY-SECRET>")
            // プライベートドメイン名を使用します
            .setEndpoint("cloudcontrol.vpc-proxy.aliyuncs.com")  // 中国サービス
            .setHost("cloudcontrol.aliyuncs.com")  // 中国サービス
            // .setEndpoint("cloudcontrol-vpc.ap-southeast-1.aliyuncs.com")  // 国際サービス
            .setProtocol("https");
        
        Client client = new Client(config);
        
        // 後続の API 呼び出しにクライアントオブジェクトを使用します
        try {
            var response = client.listResources(...);
            System.out.println("Request successful: " + response.getBody().getRequestId());
        } catch (Exception e) {
            System.err.println("Request failed: " + e.getMessage());
        }
    }
}