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

MaxCompute:ダイレクト接続による VPC へのアクセス

最終更新日:Jul 29, 2026

このトピックでは、MaxCompute が Virtual Private Cloud (VPC) 内のサービス (ApsaraDB RDS、HBase クラスター、Hadoop クラスターなど) にアクセスする方法について説明します。サポートされているアクセス方法には、MaxCompute SQL、UDF、Spark、PyODPS/Mars、外部テーブル、データレイクハウスアーキテクチャが含まれます。

重要

このソリューションでは、リターントラフィック用に 2 つのセキュリティグループ MaxCompute-vpc-xxxMaxCompute-backup-vpc-xxx が作成されます。ここで、xxx は指定した VPC ID です。これらのセキュリティグループのルールを変更したり、他のコンポーネントのセキュリティルールを管理するために使用したりしないでください。このような変更に起因するいかなる問題についても、プラットフォームは責任を負いません。

制限事項

  • リージョンとゾーンの制限

    • 中国 (杭州) - ゾーン H、I、J、K

    • 中国 (北京) - ゾーン F、G、H、I、L

    • 中国 (上海) - ゾーン B、E、G、M、N

    • 中国 (張家口) - ゾーン A、B、C

    • 中国 (ウランチャブ) - ゾーン B、C

    • 中国 (深セン) - ゾーン C、D、E、F

    • 中国 (香港) - ゾーン B、C

    • 中国東部 2 Finance - ゾーン F

    • 日本 (東京) - ゾーン A、B

    • シンガポール - ゾーン A、B、C

    • マレーシア (クアラルンプール) - ゾーン A、B

    • インドネシア (ジャカルタ) - ゾーン A、B

    • ドイツ (フランクフルト) - ゾーン A、B、C

    • 米国 (シリコンバレー) - ゾーン A、B

    • 米国 (バージニア) - ゾーン A、B

  • サポート対象: VPC の IP アドレスまたはドメイン名、ApsaraDB RDS、HBase クラスター、Hadoop クラスター。

操作手順

手順1:アカウントとプロジェクトの準備

MaxCompute とターゲットサービスの間にネットワーク接続を作成する前に、次の前提条件が満たされていることを確認してください。

  1. MaxCompute プロジェクトを作成します。データレイクハウスのシナリオでは、プロジェクトのデータ型を Hive 互換に設定することを推奨します。

  2. VPC 内のサービスにアクセスするには、VPC を所有する Alibaba Cloud アカウント、MaxCompute プロジェクトへのアクセスに使用するアカウント、およびターゲットサービスの管理者アカウントがすべて同じプライマリ Alibaba Cloud アカウントに属していることを確認してください。

手順2:ダイレクトネットワーク接続の作成

1. 権限の付与

  • 操作ユーザーへの権限付与:

    • この権限付与を実行できるのは、Project Owner またはテナントレベルの Super_Administrator もしくは Admin ロールを持つユーザーのみです。詳細については、「ロール計画」をご参照ください。

    • 権限付与の手順については、「テナント内のオブジェクト権限リスト」をご参照ください。

  • MaxCompute が接続のためにご利用の VPC に Elastic Network Interface (ENI) を作成できるようにするには、Alibaba Cloud アカウントにログインした状態で [権限付与] をクリックします。

2. セキュリティグループルールの設定

ご利用の VPC に、MaxCompute の VPC 内リソースへのアクセスを制御するための専用セキュリティグループを作成します。

新しい基本セキュリティグループを作成することを推奨します。他の種類のセキュリティグループや、すでに使用中のセキュリティグループは使用しないでください。MaxCompute は、現在のユーザーの VPC に ENI を作成して、ご利用のサービスにアクセスします。

  • セキュリティグループのアウトバウンドルールを設定して、MaxCompute ジョブ (ENI 経由) がアクセスできる宛先アドレスを制御します。特別な要件がない場合は、デフォルトのアウトバウンドルールをそのまま使用できます。

  • ENI へのインバウンドトラフィックはリターントラフィックです。したがって、すべてのインバウンドトラフィックを許可する必要があります。

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

  2. 左側のナビゲーションウィンドウで、VPC を選択します。左上隅でリージョンを選択します。

  3. VPC ページで、ターゲット VPC の ID/名前 をクリックします。

  4. VPC 詳細ページで、リソース タブをクリックします。

  5. リソース タブの VPC リソース セクションで、セキュリティグループ の横にある数字にカーソルを合わせ、追加 をクリックします。

    • [セキュリティグループタイプ]には、ベーシックセキュリティグループを選択します。

      ベーシックセキュリティグループは、デフォルトでアウトバウンドトラフィックを許可します。 Advanced Security Groupsは、デフォルトでアウトバウンドトラフィックを拒否します。これにより、VPC 内のいずれのサービスへのアクセスもブロックされます。

    • ネットワーク で、アクセスしたいサービスが含まれる VPC を選択します。

    セキュリティグループの作成方法の詳細については、「セキュリティグループの作成」をご参照ください。

  6. MaxCompute ネットワークをサポートするようにセキュリティグループを設定します。

    1. ターゲットセキュリティグループの 操作 列で、[ルールの管理] をクリックします。

    2. アクセスルール タブで、受信 タブを選択します。ターゲットルールの 操作 列で、編集 をクリックします。すべての 受信 トラフィックを許可するように、次のパラメーターを設定します。

      • 許可ポリシー許可 に設定します。

      • 優先度 を 1 に設定します。

      • プロトコル[すべて] に設定します。

      • [ソース] に、VPC の CIDR ブロック、またはアクセスしたいサービスがデプロイされている vSwitch の CIDR ブロックを追加します。

      • [宛先] は、デフォルトで [ALL(-1/-1)] です。

    ルールの設定方法の詳細については、「セキュリティグループの適用ガイドと例」をご参照ください。

  7. HBase の場合、セキュリティグループにネットワーク権限を付与できない場合は、MaxCompute によって作成された ENI の IP アドレスをホワイトリストに追加する必要があります。ENI の IP アドレスは変更される可能性があるため、VPC が属する vSwitch の IP アドレス範囲を追加することを推奨します。ENI の IP アドレスを取得するには、ECS コンソールにログインし、左側のナビゲーションウィンドウで ネットワークインターフェイス をクリックします。

説明

ネットワーク接続の作成プロセス中に、MaxCompute は帯域幅の要件に基づいて 2 つの ENI を自動的に作成します。これらの ENI は無料で、このセキュリティグループに配置されます。

3. ネットワーク接続の作成

Alibaba Cloud アカウントまたは MaxCompute のテナントレベルの Super_Administrator もしくは Admin ロールを持つ RAM ユーザーは、MaxCompute コンソールで MaxCompute と VPC 間の接続を作成できます。詳細については、「MaxCompute のテナントレベルのロール」をご参照ください。接続を作成するには:

  1. MaxCompute コンソールにログインし、左上隅でリージョンを選択します。

  2. 左側のナビゲーションウィンドウで、設定管理 > ネットワーク接続 を選択します。

  3. ネットワーク接続 ページで、ネットワーク接続の作成 をクリックします。

  4. ネットワーク接続の作成 ダイアログボックスで、プロンプトに従ってパラメーターを設定し、OK をクリックします。ネットワーク接続を初めて追加する場合、まず 権限を付与して、MaxCompute プラットフォームプロキシがネットワークインターフェースカードをリクエストできるようにする必要があります。そうしないと、接続を作成できません。

  5. ネットワーク接続の作成 ダイアログボックスで、プロンプトに従ってパラメーターを設定し、OK をクリックします。初めてネットワーク接続を追加する場合、MaxCompute プラットフォームプロキシがネットワークインターフェースカードをリクエストできるように、まず 権限を付与する必要があります。そうしないと、接続を作成できません。

    次の表にパラメーターを示します。

    パラメーター

    必須

    説明

    接続名:

    必須

    接続のカスタム名。名前は次の要件を満たす必要があります:

    • 先頭は英字であること。

    • 英字、アンダースコア (_)、数字のみを含むこと。

    • 長さは 1~63 文字であること。

    タイプ:

    必須

    デフォルト値は パススルー接続 (passthrough) です。

    パススルー接続 (passthrough) 接続は VPC 接続です。

    リージョン:

    必須

    システムは、左上隅で選択したリージョンに基づいてこのパラメーターを自動的に入力します。詳細については、「サポートされているリージョン」をご参照ください。

    選択した VPC:

    必須

    Virtual Private Cloud (VPC) は、分離された仮想ネットワークです。従来のデータセンターと同様に、安全で設定可能なプライベートネットワーク空間を提供します。
    • VPC の ID。新しい VPC を作成するには、「VPC の作成または削除」をご参照ください。

    • ID を取得するには:

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

      2. 左側のナビゲーションウィンドウで、VPC を選択します。左上隅でリージョンを選択します。

      3. VPC ページで、VPC の ID/名前 を見つけます。

      HBase または Hadoop クラスターに接続する場合、この情報は対応するコンソールのネットワーク接続詳細で確認できます。

    vSwitch:

    必須

    vSwitch はサブネットを作成するために使用されます。同じ VPC 内の異なる vSwitch は、内部ネットワークを介して相互に通信できます。異なるゾーンの vSwitch にまたがってクラウドリソースをデプロイすることで、単一ゾーンでの障害からアプリケーションを保護できます。
    • VPC にアタッチされている vSwitch の ID。利用可能な vSwitch がない場合は、「vSwitch の作成または削除」をご参照ください。

    • ID を取得するには:

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

      2. 左側のナビゲーションウィンドウで、vSwitch を選択します。左上隅でリージョンを選択します。

      3. vSwitch ページで、vSwitch の ID/名前 を見つけます。

      HBase または Hadoop クラスターに接続する場合、この情報は対応するコンソールのネットワーク接続詳細で確認できます。

    セキュリティグループ:

    必須

    セキュリティグループは、クラウドリソースの仮想ファイアウォールとして機能します。セキュリティグループとそのルールを管理することで、詳細なネットワーク分離とアクセス制御を実装できます。

    セキュリティグループの ID。セキュリティグループを作成するには、「セキュリティグループの作成」をご参照ください。

4. ターゲットサービスのセキュリティグループの設定

ENI ベースのダイレクト接続を有効にするための上記操作を完了した後、ターゲットサービスにセキュリティルールを追加する必要があります。これらのルールは、MaxCompute を表すセキュリティグループが特定のサービスポート (9200 や 31000 など) にアクセスすることを許可します。

たとえば、ApsaraDB RDS にアクセスするには、手順2で作成したセキュリティグループからのアクセスを許可するルールを ApsaraDB RDS に追加する必要があります。アクセスしたいサービスがセキュリティグループではなく IP アドレスのみをサポートしている場合は、ターゲットサービスが存在する vSwitch の CIDR ブロック全体を追加する必要があります。

  • Hadoop クラスターのセキュリティグループを設定します。

    • MaxCompute がクラスターにアクセスできるように、Hadoop クラスターのセキュリティグループに次の情報を設定します。

      • Hadoop クラスターが存在するセキュリティグループのインバウンドアクセスルールを設定します。

      • 権限付与オブジェクトは、手順2で ENI 用に作成したセキュリティグループです。

      • Hive Metastore ポート:9083

      • HDFS NameNode ポート:8020

      • HDFS DataNode ポート:50010

    • たとえば、Alibaba Cloud E-MapReduce 上に作成された Hadoop クラスターに接続する場合、上記のようにセキュリティグループルールを設定する必要があります。詳細については、「セキュリティグループの作成」をご参照ください。

  • HBase クラスターのセキュリティグループを設定します。

    • MaxCompute 用に作成されたセキュリティグループまたは ENI の IP アドレスを、HBase クラスターのセキュリティグループまたは IP アドレスホワイトリストに追加します。

    • たとえば、Alibaba Cloud HBase クラスターに接続する場合:

      1. HBase 管理コンソールにログインします。左上隅でリージョンを選択します。

      2. 左側のナビゲーションウィンドウで、クラスター を選択します。

      3. クラスター ページで、対象のクラスターの名前をクリックします。

      4. 左側のナビゲーションウィンドウで、アクセス制御 を選択します。

      5. ホワイトリスト設定 タブと セキュリティグループ タブで、ホワイトリストグループの追加 または セキュリティグループの追加 をクリックできます。セキュリティグループを追加できない場合は、ホワイトリスト設定 タブで ENI の IP アドレスを追加します。MaxCompute の設定が変更されると ENI の IP アドレスが変わる可能性があるため、vSwitch の CIDR ブロックをホワイトリストに追加することを推奨します。

    セキュリティグループまたは IP アドレスホワイトリストの追加方法の詳細については、「ホワイトリストとセキュリティグループの設定」をご参照ください。

  • ApsaraDB RDS のセキュリティグループを設定します。

    • MaxCompute 用に作成されたセキュリティグループまたは ENI の IP アドレスを、ApsaraDB RDS のセキュリティグループまたは IP アドレスホワイトリストに追加します。

    • たとえば、ApsaraDB RDS インスタンスに接続する場合:

      1. RDS コンソールにサインインします。

      2. 左側のナビゲーションバーで インスタンス を選択し、左上隅でリージョンを選択します。

      3. 左側のナビゲーションバーで、ホワイトリストとセキュリティグループ をクリックします。

      4. ホワイトリストの設定 タブと セキュリティグループ タブで、IP アドレスホワイトリストまたはセキュリティグループを追加します。MaxCompute の設定が変更されると ENI の IP アドレスが変わる可能性があるため、vSwitch の CIDR ブロックをホワイトリストに追加することを推奨します。

    セキュリティグループまたは IP アドレスホワイトリストの追加方法の詳細については、「ApsaraDB RDS for MySQL インスタンスのセキュリティグループの設定」または「IP アドレスホワイトリストの設定」をご参照ください。

手順3:VPC リソースへのアクセス

ダイレクトネットワーク接続を作成した後、SQL または Spark を使用して VPC ネットワークにアクセスするには、次の設定を追加する必要があります。

他の種類のジョブについては、ジョブの種類に応じて設定を調整してください。

SQL アクセス

  • UDF を使用して VPC ネットワークにアクセスするには、次のコードを実行します。詳細については、「UDF を使用した VPC リソースへのアクセス」をご参照ください。

    -- ネットワーク接続名を設定します。これは、ダイレクトネットワーク接続用に設定された名前です。この設定は現在のセッションでのみ有効です。
    SET odps.session.networklink=testLink;
  • 外部テーブルを使用して VPC ネットワークにアクセスするには、次のコードを実行します。

    -- CREATE TABLE 文でパラメーターを設定します。
     TBLPROPERTIES(
    'networklink'='<networklink_name>')
  • データレイクハウスのネットワークリンクを設定するには、「データレイクハウス 2.0 ユーザーガイド」をご参照ください。

Spark アクセス

専用線ネットワーク接続を設定した後、Spark が VPC にアクセスできるように、spark-defaults.conf ファイルまたは DataWorks の設定に次の設定項目を追加します:

spark.hadoop.odps.cupid.eni.enable = true
# フォーマットは regionid:vpcid です。ここで vpcid は、ネットワーク接続の作成時に使用されたターゲット VPC の ID です。
spark.hadoop.odps.cupid.eni.info = regionid:vpc-**********

MaxFrame アクセス

MaxFrame を使用して VPC ネットワークにアクセスする場合、上記のダイレクトネットワーク接続の作成設定が完了した後、MaxFrame UDF コードに次の設定を追加します:

@with_network_options(vpc_network_link="networklink_name")
def xxx():
    pass

(任意) 手順4:ホワイトリストの設定

ご利用のサーバーでアクセス制御が有効になっている場合は、ダイレクトネットワーク接続用のセキュリティグループをサーバーのホワイトリストに追加する必要があります。